/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-regular.eot");
  src: url("../fonts/roboto-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-regular.woff") format("woff"), url("../fonts/roboto-regular.woff2") format("woff2"), url("../fonts/roboto-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-italic.eot");
  src: url("../fonts/roboto-italic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-italic.woff") format("woff"), url("../fonts/roboto-italic.woff2") format("woff2"), url("../fonts/roboto-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-light.eot");
  src: url("../fonts/roboto-light.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-light.woff") format("woff"), url("../fonts/roboto-light.woff2") format("woff2"), url("../fonts/roboto-light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-lightitalic.eot");
  src: url("../fonts/roboto-lightitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-lightitalic.woff") format("woff"), url("../fonts/roboto-lightitalic.woff2") format("woff2"), url("../fonts/roboto-lightitalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 300; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-medium.eot");
  src: url("../fonts/roboto-medium.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-medium.woff") format("woff"), url("../fonts/roboto-medium.woff2") format("woff2"), url("../fonts/roboto-medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-mediumitalic.eot");
  src: url("../fonts/roboto-mediumitalic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-mediumitalic.woff") format("woff"), url("../fonts/roboto-mediumitalic.woff2") format("woff2"), url("../fonts/roboto-mediumitalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 500; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-bold.eot");
  src: url("../fonts/roboto-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-bold.woff") format("woff"), url("../fonts/roboto-bold.woff2") format("woff2"), url("../fonts/roboto-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700; }

@font-face {
  font-family: 'Roboto';
  font-display: auto;
  src: url("../fonts/roboto-bolditalic.eot");
  src: url("../fonts/roboto-bolditalic.eot?#iefix") format("embedded-opentype"), url("../fonts/roboto-bolditalic.woff") format("woff"), url("../fonts/roboto-bolditalic.woff2") format("woff2"), url("../fonts/roboto-bolditalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 700; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

body.compensate-for-scrollbar {
  overflow: hidden; }

.fancybox-active {
  height: auto; }

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden; }

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992; }

.fancybox-container * {
  box-sizing: border-box; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: .9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity .25s ease, visibility 0s ease .25s;
  visibility: hidden;
  z-index: 99997; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity .25s ease 0s, visibility 0s ease 0s;
  visibility: visible; }

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-toolbar {
  right: 0;
  top: 0; }

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994; }

.fancybox-is-open .fancybox-stage {
  overflow: hidden; }

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--html {
  padding: 6px; }

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle; }

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  -ms-transform-origin: top left;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995; }

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in; }

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-container [data-selectable='true'] {
  cursor: text; }

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%; }

.fancybox-slide--video .fancybox-content {
  background: #000; }

.fancybox-slide--map .fancybox-content {
  background: #e5e3df; }

.fancybox-slide--iframe .fancybox-content {
  background: #fff; }

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%; }

/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0; }

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%; }

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0; }

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color .2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px; }

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc; }

.fancybox-button:hover {
  color: #fff; }

.fancybox-button:focus {
  outline: none; }

.fancybox-button.fancybox-focus {
  outline: 1px dotted; }

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none; }

/* Fix IE11 */
.fancybox-button div {
  height: 100%; }

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%; }

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0; }

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none; }

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none; }

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -ms-transform-origin: 0;
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998; }

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: .8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401; }

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1; }

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0; }

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden; }

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none; }

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px; }

.fancybox-navigation .fancybox-button div {
  padding: 7px; }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px; }

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right); }

/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996; }

.fancybox-caption--separate {
  margin-top: -50px; }

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all; }

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none; }

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline; }

/* Loading indicator */
.fancybox-loading {
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: .7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999; }

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0); }

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0); }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5); }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1); }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg); }

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  -ms-transform: rotate(360deg);
  transform: rotate(360deg); }

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  -ms-transform: rotate(0deg);
  transform: rotate(0deg); }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1); }

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px; }
  .fancybox-slide--image {
    padding: 6px 0; }
  .fancybox-close-small {
    right: -6px; }
  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px; }
  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px; } }

/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center; }

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0; }

.fancybox-share p {
  margin: 0;
  padding: 0; }

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all .2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap; }

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff; }

.fancybox-share__button:hover {
  text-decoration: none; }

.fancybox-share__button--fb {
  background: #3b5998; }

.fancybox-share__button--fb:hover {
  background: #344e86; }

.fancybox-share__button--pt {
  background: #bd081d; }

.fancybox-share__button--pt:hover {
  background: #aa0719; }

.fancybox-share__button--tw {
  background: #1da1f2; }

.fancybox-share__button--tw:hover {
  background: #0d95e8; }

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px; }

.fancybox-share__button svg path {
  fill: #fff; }

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%; }

/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%; }

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden; }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px; }

.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: '';
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991; }

.fancybox-thumbs__list a:focus::before {
  opacity: .5; }

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px); } }

.header {
  position: absolute;
  z-index: 11;
  top: 0;
  left: 0;
  width: 100%;
  padding: 7.2rem 0 0; }
  @media (max-width: 1024px) {
    .header {
      padding: 5rem 0 0; } }
  @media (max-width: 768px) {
    .header {
      padding-top: 3.6rem; } }
  .header .container {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .header__logo {
    display: inline-block;
    text-decoration: none;
    outline: none;
    width: 26rem;
    height: 5rem;
    background: url(../img/logo-main.svg) center/contain no-repeat; }
    @media (max-width: 420px) {
      .header__logo {
        width: 18rem;
        height: 3.4rem; } }

.menu-btn {
  width: 44px;
  height: 44px;
  padding: 10px;
  margin: -10px -10px -10px 0;
  position: relative;
  cursor: pointer;
  transition: transform 0.6s ease; }
  .menu-btn .line {
    position: absolute;
    top: 50%;
    left: 2px;
    display: block;
    vertical-align: top;
    width: 40px;
    height: 3px;
    background: #D3DEF2;
    border-radius: 1px;
    transition: top 0.25s ease, transform 0.25s ease;
    will-change: transform; }
    .menu-btn .line:nth-child(1) {
      top: 15px; }
    .menu-btn .line:nth-child(2) {
      top: 26px; }
  .menu-btn.active .line:nth-child(1) {
    top: 22px;
    transform: rotate(45deg); }
  .menu-btn.active .line:nth-child(2) {
    top: 22px;
    transform: rotate(-45deg); }
  @media (min-width: 1024px) {
    .menu-btn.active:hover .line {
      background: #9ebbf2; }
      .menu-btn.active:hover .line:nth-child(1) {
        top: 22px; }
      .menu-btn.active:hover .line:nth-child(2) {
        top: 22px; } }
  @media (min-width: 1024px) {
    .menu-btn:hover .line {
      background: #9ebbf2; }
      .menu-btn:hover .line:nth-child(1) {
        top: 12px; }
      .menu-btn:hover .line:nth-child(2) {
        top: 30px; } }

@keyframes menuFadeIn {
  0% {
    opacity: 0;
    transform: translate(-2rem, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }

@keyframes menuFadeOut {
  0% {
    opacity: 1;
    transform: translate(0, 0); }
  100% {
    opacity: 0;
    transform: translate(0, 0); } }

.main-menu {
  position: fixed;
  display: flex;
  z-index: 10;
  top: 0;
  left: 100%;
  height: 100%;
  width: 100%;
  background: linear-gradient(90deg, #21416E 0%, #4766B3 100%);
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  will-change: transform; }
  .main-menu .container {
    height: 100%;
    width: 100%; }
    @media (max-width: 768px) {
      .main-menu .container {
        padding-top: 10rem;
        height: 100%;
        overflow: hidden;
        box-sizing: border-box; } }
    @media (max-width: 360px) {
      .main-menu .container {
        padding-top: 8.4rem; } }
  .main-menu__content {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    padding-top: 8%;
    padding-right: 18%; }
    @media (max-width: 1080px) {
      .main-menu__content {
        padding-right: 5%; } }
    @media (max-width: 768px) {
      .main-menu__content {
        padding-top: 2rem;
        padding-bottom: 2rem;
        padding-right: 0;
        overflow: auto;
        height: 100%;
        max-height: 100%;
        flex-flow: column; } }
    @media (max-width: 375px) {
      .main-menu__content {
        padding-top: 1rem; } }
  .main-menu__primary {
    opacity: 0;
    transition: opacity 0.3s ease; }
    @media (max-width: 768px) {
      .main-menu__primary {
        width: 100%; } }
    .main-menu__primary ul {
      margin: 0;
      padding: 0; }
      .main-menu__primary ul li {
        list-style: none; }
        .main-menu__primary ul li + li {
          margin-top: 4.3rem; }
          @media (max-width: 640px) {
            .main-menu__primary ul li + li {
              margin-top: 2.4rem; } }
          @media (max-width: 420px) {
            .main-menu__primary ul li + li {
              margin-top: 1.8rem; } }
        .main-menu__primary ul li.current-menu-item a {
          color: #FB9500;
          cursor: default; }
    .main-menu__primary a {
      font-weight: 500;
      font-size: 5rem;
      line-height: 1;
      color: #FFFFFF;
      transition: all 0.25s ease;
      text-decoration: none;
      outline: none; }
      @media (min-width: 1024px) {
        .main-menu__primary a:hover {
          color: #FB9500; } }
      @media (max-width: 960px) {
        .main-menu__primary a {
          font-size: 4rem; } }
      @media (max-width: 768px) {
        .main-menu__primary a {
          font-size: 3.2rem; } }
      @media (max-width: 640px) {
        .main-menu__primary a {
          font-size: 2.5rem; } }
  .main-menu__secondary {
    opacity: 0;
    padding-top: 1rem;
    transition: opacity 0.3s ease; }
    @media (max-width: 768px) {
      .main-menu__secondary {
        width: 100%;
        margin-top: 4.4rem; } }
    .main-menu__secondary ul {
      margin: 0;
      padding: 0; }
      @media (max-width: 768px) {
        .main-menu__secondary ul {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between; } }
      .main-menu__secondary ul li {
        list-style: none; }
        @media (max-width: 768px) {
          .main-menu__secondary ul li {
            width: 46%;
            margin-bottom: 2.4rem; } }
        .main-menu__secondary ul li + li {
          margin-top: 3.8rem; }
          @media (max-width: 768px) {
            .main-menu__secondary ul li + li {
              margin-top: 0; } }
        .main-menu__secondary ul li.current-menu-item a {
          color: #FB9500;
          cursor: default; }
    .main-menu__secondary a {
      font-weight: 400;
      font-size: 3rem;
      line-height: 1;
      color: #FFFFFF;
      transition: all 0.25s ease;
      text-decoration: none;
      outline: none; }
      @media (min-width: 1024px) {
        .main-menu__secondary a:hover {
          color: #FB9500; } }
      @media (max-width: 960px) {
        .main-menu__secondary a {
          font-size: 2.4rem; } }
      @media (max-width: 768px) {
        .main-menu__secondary a {
          font-size: 2rem;
          font-weight: 700;
          display: block; } }
      @media (max-width: 640px) {
        .main-menu__secondary a {
          font-size: 1.4rem;
          line-height: 1.2; } }
  .main-menu .lang-switcher {
    display: none;
    margin: 4rem 0 0;
    align-self: flex-start; }
    @media (max-width: 768px) {
      .main-menu .lang-switcher {
        display: flex; } }
    @media (max-width: 420px) {
      .main-menu .lang-switcher {
        margin: 3rem 0 0; } }
    @media (max-width: 375px) {
      .main-menu .lang-switcher {
        margin: 2rem 0 0; } }
  .main-menu:not(.active) .main-menu__primary {
    animation-name: menuFadeOut;
    animation-duration: 0.3s;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; }
  .main-menu:not(.active) .main-menu__secondary {
    animation-name: menuFadeOut;
    animation-duration: 0.3s;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards; }
  .main-menu.active {
    transform: translate(-100%, 0); }
    .main-menu.active .main-menu__primary {
      animation-name: menuFadeIn;
      animation-duration: 0.4s;
      animation-delay: 0.75s;
      animation-iteration-count: 1;
      animation-fill-mode: forwards; }
    .main-menu.active .main-menu__secondary {
      animation-name: menuFadeIn;
      animation-duration: 0.4s;
      animation-delay: 0.6s;
      animation-iteration-count: 1;
      animation-fill-mode: forwards; }

.footer {
  margin: -5rem 0 0;
  font-weight: 400;
  font-size: 1rem;
  line-height: 16px;
  color: #898989; }
  @media (max-width: 520px) {
    .footer {
      margin-top: -4rem; } }
  .footer__content {
    padding: 1.7rem 0;
    display: flex;
    justify-content: space-between; }
    @media (max-width: 520px) {
      .footer__content {
        padding: 1.2rem 0; } }
  .footer__copy {
    margin: 0; }
  .footer__made-by {
    margin: 0; }
    .footer__made-by a {
      text-decoration: none;
      color: #898989; }

.hero {
  display: flex;
  height: 72.2rem;
  height: 82rem; }
  @media (max-width: 960px) {
    .hero {
      height: 64rem; } }
  @media (max-width: 768px) {
    .hero {
      height: auto;
      flex-wrap: wrap; } }
  .hero__left {
    width: 48.75%;
    display: flex;
    flex-flow: column; }
    @media (max-width: 768px) {
      .hero__left {
        width: 100%;
        position: relative; } }
  .hero__right {
    width: 51.25%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    @media (max-width: 768px) {
      .hero__right {
        width: 48.75%;
        height: 0;
        padding-bottom: 66%;
        margin-left: auto;
        margin-top: -33%;
        position: relative;
        z-index: 1; } }
  .hero__main {
    position: relative;
    display: flex;
    flex-flow: column;
    justify-content: center;
    height: 80%;
    padding-left: calc((100vw - 1120px)/2);
    color: #fff;
    background: linear-gradient(90deg, #21416E 0%, #4766B3 100%); }
    @media (max-width: 768px) {
      .hero__main {
        padding-top: 13rem;
        height: auto;
        padding-bottom: 42%;
        padding-left: 24px !important;
        padding-right: 24px !important; } }
    .hero__main .lang-switcher {
      position: absolute;
      bottom: 4.5rem;
      right: 9.6rem; }
      @media (max-width: 1024px) {
        .hero__main .lang-switcher {
          bottom: 6.5rem;
          right: 3.6rem; } }
      @media (max-width: 960px) {
        .hero__main .lang-switcher {
          bottom: 3.2rem; } }
      @media (max-width: 768px) {
        .hero__main .lang-switcher {
          display: none; } }
  .hero .hero__title {
    margin: 4% 0 0; }
    @media (max-width: 768px) {
      .hero .hero__title {
        margin-top: 0; } }
  .hero__subtitle {
    font-size: 1.5rem;
    font-weight: 400;
    margin: 3.5rem 0 0;
    max-width: 44rem; }
    @media (max-width: 480px) {
      .hero__subtitle {
        font-size: 1.3rem;
        margin: 2rem 0 0; } }
  .hero__cart-link {
    position: absolute;
    bottom: 4.4rem;
    display: inline-block;
    text-decoration: none;
    outline: none;
    width: 2.6rem;
    height: 2.2rem;
    box-sizing: content-box;
    padding: 0.7rem;
    margin-left: -0.7rem;
    transition: opacity 0.25s ease; }
    @media (max-width: 960px) {
      .hero__cart-link {
        margin-top: 0;
        margin-bottom: 0;
        position: absolute;
        bottom: 3rem;
        left: 2.3rem; } }
    @media (max-width: 768px) {
      .hero__cart-link {
        position: static;
        margin-bottom: 0;
        margin-top: 3rem; } }
    .hero__cart-link svg {
      display: block;
      width: 100%;
      height: 100%; }
      .hero__cart-link svg path {
        transition: all 0.25s ease-in-out; }
    .hero__cart-link .indicator {
      position: absolute;
      width: 10px;
      height: 10px;
      bottom: 0.3rem;
      right: 0.5rem;
      border-radius: 50%;
      background: #B00000; }
    .hero__cart-link:hover svg path {
      fill: #fff; }
    .hero__cart-link.active svg path {
      fill: #fff; }
    .hero__cart-link.active:hover {
      opacity: 0.8; }
  .hero__links {
    height: 20%;
    display: flex;
    align-items: center;
    padding-left: calc((100vw - 1120px)/2); }
    @media (max-width: 960px) {
      .hero__links {
        justify-content: center;
        padding-left: 0 !important; } }
    @media (max-width: 768px) {
      .hero__links {
        position: absolute;
        left: 0;
        width: 51%;
        bottom: 0;
        flex-flow: column;
        transform: translate(0, 50%);
        height: 64vw; } }
  .hero__link {
    position: relative;
    display: flex;
    align-items: center;
    color: #272727;
    font-size: 1.8rem;
    max-width: 16rem;
    font-weight: 500;
    text-decoration: none; }
    @media (max-width: 768px) {
      .hero__link {
        height: 50%;
        width: 100%;
        justify-content: center;
        flex-flow: column;
        align-items: center;
        max-width: 100% !important; }
        .hero__link:nth-child(1) {
          color: #fff; }
          .hero__link:nth-child(1) i svg path {
            fill: #fff; } }
    @media (max-width: 480px) {
      .hero__link {
        font-size: 1.5rem; } }
    .hero__link i {
      display: inline-block;
      margin-left: 3.3rem;
      width: 3.7rem;
      height: 2.4rem; }
      .hero__link i svg {
        width: 100%;
        height: 100%; }
        .hero__link i svg path {
          transition: fill 0.25s ease-in-out; }
      @media (max-width: 768px) {
        .hero__link i {
          display: block;
          margin: 1.2rem 0 0 !important; } }
      @media (max-width: 480px) {
        .hero__link i {
          margin: 1rem 0 0 !important;
          width: 2.2rem !important;
          height: 1.1rem !important; } }
    .hero__link:nth-child(2) {
      margin-left: 9rem; }
      @media (max-width: 768px) {
        .hero__link:nth-child(2) {
          margin-left: 0 !important; } }
      .hero__link:nth-child(2):before {
        content: '';
        display: block;
        position: absolute;
        width: 1px;
        height: 2.8rem;
        top: 50%;
        left: -4.5rem;
        transform: translate(0, -50%);
        background: #c4c4c4; }
        @media (max-width: 768px) {
          .hero__link:nth-child(2):before {
            display: none; } }
    @media (min-width: 1024px) {
      .hero__link:hover i svg path {
        fill: #4766B3; } }
    @media (max-width: 960px) {
      .hero__link:nth-child(2) {
        margin-left: 4rem; }
        .hero__link:nth-child(2):before {
          left: -2rem; }
      .hero__link i {
        margin-left: 2rem;
        width: 3rem;
        height: 2rem; } }
  .hero.hero-about-us .hero__subtitle {
    max-width: 40rem; }

.section-contact-form {
  position: relative;
  margin: 7.3rem auto 0;
  padding: 7.2rem 9.6rem 9.6rem;
  max-width: 800px;
  background: linear-gradient(89.85deg, #21416E 0.14%, #4766B3 99.91%);
  border-radius: 3px; }
  .section-contact-form:after {
    content: '';
    display: block;
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    width: 11.8rem;
    height: 12.2rem;
    z-index: 0;
    background: url(../img/corner-decor.svg) center/contain no-repeat; }
    @media (max-width: 520px) {
      .section-contact-form:after {
        width: 7.4rem;
        height: 7.4rem; } }
  .section-contact-form__title {
    position: relative;
    z-index: 1; }
  @media (max-width: 768px) {
    .section-contact-form {
      padding: 7rem 24px 11rem; } }
  @media (max-width: 640px) {
    .section-contact-form {
      padding: 5.5rem 24px 5.6rem; } }
  @media (max-width: 480px) {
    .section-contact-form {
      margin: 5.6rem 0 0; } }

@keyframes loaderAnimation {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.grand-contact-form {
  margin: 7rem 0 0; }
  @media (max-width: 640px) {
    .grand-contact-form {
      margin: 3.5rem 0 0; } }
  .grand-contact-form form {
    display: flex;
    flex-flow: column; }
  .grand-contact-form .contact-form__fields {
    display: flex;
    justify-content: space-between; }
    .grand-contact-form .contact-form__fields .left,
    .grand-contact-form .contact-form__fields .right {
      width: 44.5%; }
      @media (max-width: 640px) {
        .grand-contact-form .contact-form__fields .left,
        .grand-contact-form .contact-form__fields .right {
          width: 100%; } }
    @media (max-width: 640px) {
      .grand-contact-form .contact-form__fields {
        flex-flow: column; } }
    @media (max-width: 640px) {
      .grand-contact-form .contact-form__fields .right {
        margin-top: 2.5rem; } }
    .grand-contact-form .contact-form__fields + p {
      margin: 0; }
  .grand-contact-form .contact-form__input,
  .grand-contact-form .contact-form__textarea {
    display: block;
    width: 100%;
    padding: 1rem 0;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #C5C5C5;
    font-weight: 300;
    font-size: 1.5rem;
    color: #fff;
    background: none;
    outline: none; }
    .grand-contact-form .contact-form__input::placeholder,
    .grand-contact-form .contact-form__textarea::placeholder {
      color: #C5C5C5; }
    .grand-contact-form .contact-form__input:-moz-placeholder,
    .grand-contact-form .contact-form__textarea:-moz-placeholder {
      color: #C5C5C5; }
    .grand-contact-form .contact-form__input:-ms-input-placeholder,
    .grand-contact-form .contact-form__textarea:-ms-input-placeholder {
      color: #C5C5C5; }
    .grand-contact-form .contact-form__input::-webkit-input-placeholder,
    .grand-contact-form .contact-form__textarea::-webkit-input-placeholder {
      color: #C5C5C5; }
    .grand-contact-form .contact-form__input:placeholder,
    .grand-contact-form .contact-form__textarea:placeholder {
      color: #C5C5C5; }
    .grand-contact-form .contact-form__input:focus,
    .grand-contact-form .contact-form__textarea:focus {
      border-bottom: 1px solid #fff; }
    .grand-contact-form .contact-form__input.wpcf7-not-valid,
    .grand-contact-form .contact-form__textarea.wpcf7-not-valid {
      border-bottom: 1px solid rgba(255, 0, 0, 0.75); }
  .grand-contact-form .contact-form__textarea {
    height: 14.3rem;
    resize: none; }
  .grand-contact-form .contact-form__submit {
    align-self: flex-start;
    margin: 4.5rem 0 0;
    outline: none; }
    @media (max-width: 640px) {
      .grand-contact-form .contact-form__submit {
        margin: 4rem 0 0; } }
  .grand-contact-form div.wpcf7 .ajax-loader {
    margin-left: 2rem;
    width: 24px;
    height: 24px;
    background: url(../img/icon-menu.svg) center/contain no-repeat !important;
    animation-name: loaderAnimation;
    animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite; }
  .grand-contact-form .wpcf7-form-control-wrap {
    display: block;
    position: relative; }
  .grand-contact-form .wpcf7-not-valid-tip {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    font-size: 1.2rem;
    color: red;
    line-height: 1.2; }

.input-wrap {
  position: relative; }
  .input-wrap + .input-wrap {
    margin-top: 1rem; }
    @media (max-width: 640px) {
      .input-wrap + .input-wrap {
        margin-top: 2.5rem; } }

.wpcf7-response-output {
  margin: 0 !important;
  padding: 2rem 0 0 !important;
  border: none !important;
  font-size: 1.4rem; }
  .wpcf7-response-output.wpcf7-validation-errors {
    color: red; }
  .wpcf7-response-output.wpcf7-mail-sent-ok {
    color: #FB9500; }

.contacts {
  margin: 7.3rem 0 0;
  padding: 0 25% 0 0;
  display: flex;
  justify-content: space-between;
  font-weight: 500;
  font-size: 1.3rem;
  color: #C5C5C5; }
  @media (max-width: 520px) {
    .contacts {
      flex-flow: column; } }
  .contacts__left, .contacts__right {
    display: flex;
    flex-flow: column; }
  @media (max-width: 520px) {
    .contacts__right {
      margin-top: 3.4rem; } }

.contacts-item {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  max-width: 20.5rem; }
  .contacts-item + .contacts-item {
    margin: 3.4rem 0 0; }
  .contacts-item__title {
    margin: 0 0 1.7rem;
    font-weight: 300; }
    @media (max-width: 520px) {
      .contacts-item__title {
        margin: 0 0 1.4rem; } }
  .contacts-item a,
  .contacts-item address {
    color: #C5C5C5;
    text-decoration: none;
    font-style: normal;
    text-decoration: none; }
  .contacts-item a.social {
    text-decoration: underline; }
    .contacts-item a.social:hover {
      text-decoration: none; }

.page-404 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #21416E 0%, #4766B3 100%); }
  .page-404:after {
    content: '';
    display: block;
    position: absolute;
    right: 8rem;
    bottom: 8rem;
    width: 20.6rem;
    height: 21.2rem;
    z-index: 0;
    background: url(../img/corner-decor.svg) center/contain no-repeat; }
    @media (max-width: 960px) {
      .page-404:after {
        right: 3rem;
        bottom: 3rem;
        width: 16rem;
        height: 16.4rem; } }
    @media (max-width: 480px) {
      .page-404:after {
        right: 1.2rem;
        bottom: 1.4rem;
        width: 12rem;
        height: 12.3rem; } }
  .page-404 .container {
    height: 100%; }
  .page-404__content {
    height: 100%;
    display: flex;
    justify-content: center;
    flex-flow: column;
    align-items: flex-start;
    color: #FFFFFF; }
  .page-404 .title {
    font-style: normal;
    font-weight: 500;
    font-size: 13rem;
    line-height: 1; }
    @media (max-width: 960px) {
      .page-404 .title {
        font-size: 9rem; } }
    @media (max-width: 768px) {
      .page-404 .title {
        font-size: 3.5rem; } }
  .page-404 .subtitle {
    margin: 2rem 0 0;
    font-weight: 400;
    font-size: 3rem;
    line-height: 1.4; }
    @media (max-width: 960px) {
      .page-404 .subtitle {
        font-size: 2.4rem; } }
    @media (max-width: 768px) {
      .page-404 .subtitle {
        font-size: 1.4rem; } }
  .page-404 .button, .page-404 body .woo-notification .button, body .woo-notification .page-404 .button, .page-404 .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout .page-404 a.checkout-button {
    margin: 3.7rem 0 0; }
    @media (max-width: 768px) {
      .page-404 .button, .page-404 body .woo-notification .button, body .woo-notification .page-404 .button, .page-404 .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout .page-404 a.checkout-button {
        margin: 3rem 0 0; } }

.page-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  @media (max-width: 768px) {
    .page-info {
      flex-wrap: wrap; } }

.page-info-nav {
  width: 26.6%;
  background: #FFFFFF;
  border-radius: 3px;
  padding: 2.7rem;
  display: flex;
  flex-flow: column;
  align-items: flex-start; }
  @media (max-width: 960px) {
    .page-info-nav {
      padding: 0; } }
  @media (max-width: 768px) {
    .page-info-nav {
      width: 100%;
      flex-flow: row;
      flex-wrap: wrap;
      justify-content: space-between; } }
  .page-info-nav a {
    font-weight: 500;
    font-size: 1.8rem;
    color: #3F3F3F;
    text-decoration: none;
    transition: all 0.2s ease; }
    .page-info-nav a.active, .page-info-nav a.current {
      color: #4064AE;
      cursor: default; }
    .page-info-nav a[aria-current] {
      color: #4064AE;
      cursor: default; }
    .page-info-nav a + a {
      margin-top: 1.4rem; }
    .page-info-nav a:hover {
      color: #4064AE; }
    @media (max-width: 768px) {
      .page-info-nav a {
        position: relative;
        padding-top: 1.2rem;
        width: 46%;
        margin-top: 3rem;
        padding-right: 1rem;
        font-size: 1.6rem;
        color: #21416E; }
        .page-info-nav a:nth-child(1), .page-info-nav a:nth-child(2) {
          margin-top: 0; }
        .page-info-nav a:before {
          content: '';
          display: block;
          width: 3.4rem;
          height: 3px;
          position: absolute;
          top: 0;
          left: 0;
          background: #21416E;
          transition: all 0.3s ease-in-out; }
        .page-info-nav a.active, .page-info-nav a.current {
          color: #858585; }
          .page-info-nav a.active:before, .page-info-nav a.current:before {
            background: #858585; } }

.page-info-content {
  width: 68.6%;
  background: #FFFFFF;
  border-radius: 3px;
  padding: 5.6rem 8rem 8rem;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  @media (max-width: 960px) {
    .page-info-content {
      padding: 0 0 5.6rem; } }
  @media (max-width: 768px) {
    .page-info-content {
      width: 100%;
      margin: 5.6rem 0 0; } }
  .page-info-content h2 {
    margin-top: 0;
    font-weight: 500;
    font-size: 2.5rem;
    color: #272727; }
  .page-info-content p {
    margin: 1.5em 0; }
    .page-info-content p + h2 {
      margin-top: 1.5em; }
  .page-info-content a {
    color: #4064AE;
    text-decoration: underline; }
    .page-info-content a:hover {
      text-decoration: none; }

.instructions-list-items:before {
  display: none !important; }

.instruction-content {
  margin: 3rem 0 0;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  .instruction-content__section + .instruction-content__section {
    margin-top: 5.5rem; }

.instruction-table-wrap {
  position: relative;
  width: 100%; }

.instruction-table-controls {
  display: none;
  justify-content: flex-end;
  margin: 0 0 3rem; }
  @media (max-width: 640px) {
    .instruction-table-controls {
      display: flex; } }
  .instruction-table-controls .left,
  .instruction-table-controls .right {
    width: 3.7rem;
    height: 2.2rem; }
    .instruction-table-controls .left svg,
    .instruction-table-controls .right svg {
      display: block;
      width: 100%;
      height: 100%; }
      .instruction-table-controls .left svg path,
      .instruction-table-controls .right svg path {
        fill: #21416E;
        transition: all 0.3s ease; }
    .instruction-table-controls .left.disabled svg path,
    .instruction-table-controls .right.disabled svg path {
      fill: #858585; }
  .instruction-table-controls .left {
    transform: rotate(180deg); }
  .instruction-table-controls .right {
    margin-left: 5.6rem; }

@media (max-width: 640px) {
  .instruction-table-inner {
    width: 100%;
    overflow: auto; } }

.instruction-table {
  width: 100%;
  font-size: 1.2rem;
  text-align: center;
  color: #858585;
  font-weight: 400;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  background: #FFFFFF; }
  .instruction-table tr:first-child {
    color: #272727; }
    .instruction-table tr:first-child td {
      background: #FAFBFD;
      border: 1px solid #C4C4C4; }
      .instruction-table tr:first-child td:first-child {
        background: #EEF1F8;
        border: 1px solid #C4C4C4; }
  .instruction-table td {
    height: 4.5rem;
    border: 1px solid #E5E5E5; }
    .instruction-table td:first-child {
      background: #F9FAFD;
      border: 1px solid #E5E5E5; }
  .instruction-table a {
    color: #21416E; }
  .instruction-table .title {
    color: #272727; }
  @media (max-width: 640px) {
    .instruction-table {
      width: 640px; } }

.instruction-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -3.2rem; }
  .instruction-gallery__item {
    width: 47.35%;
    margin-top: 3.2rem; }
    .instruction-gallery__item a {
      display: block;
      outline: none;
      width: 100%;
      height: 0;
      padding-bottom: 80%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      background-color: #C4C4C4; }

.product-content .container {
  max-width: 1120px; }

.product-top {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .product-top {
      flex-flow: column; } }

.product-image-wrap {
  width: 43.3%; }
  @media (max-width: 768px) {
    .product-image-wrap {
      width: 100%; } }

.product-main-info {
  width: 43%; }
  @media (max-width: 1024px) {
    .product-main-info {
      width: 52%; } }
  @media (max-width: 768px) {
    .product-main-info {
      width: 100%; } }

.product-image-inner {
  background: #FFFFFF;
  border-radius: 3px;
  padding: 6rem; }
  .product-image-inner .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin-bottom: 0 !important; }
    .product-image-inner .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
      top: -4rem !important;
      right: -4rem !important; }
  .product-image-inner .flex-control-nav.flex-control-thumbs {
    margin-top: 2rem !important; }

.product-title {
  margin: 0;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: normal;
  color: #272727; }
  .product-title.mobile {
    display: none !important; }
  @media (max-width: 768px) {
    .product-title {
      display: none;
      margin: 0 0 4rem;
      font-size: 3.6rem; }
      .product-title.mobile {
        display: block !important; } }
  @media (max-width: 480px) {
    .product-title {
      font-size: 2.5rem; } }

.product-price {
  margin: 4rem 0 0;
  font-weight: 500;
  font-size: 2.5rem;
  color: #274762; }
  .product-price.product-price-variable {
    font-weight: 400; }

.product-short-descrip {
  margin: 3rem 0 0;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  .product-short-descrip p {
    margin: 0; }

.product-add-to-cart-wrap {
  margin: 4.4rem 0 0; }

.product-add-to-cart-form {
  display: flex; }
  .product-add-to-cart-form input.qty {
    display: block;
    padding: 0.4rem 0.4rem;
    font-size: 1.5rem;
    height: 3.6rem;
    border-radius: 0;
    border: 1px solid rgba(196, 196, 196, 0.5);
    outline: none;
    -webkit-appearance: none;
    transition: all 0.2s ease; }
    .product-add-to-cart-form input.qty:focus {
      border-color: #21416E; }

.product-add-to-cart-form-variable {
  display: flex;
  flex-flow: column; }
  .product-add-to-cart-form-variable input.qty {
    display: block;
    padding: 0.4rem 0.4rem;
    font-size: 1.5rem;
    height: 3.6rem;
    border-radius: 0;
    border: 1px solid rgba(196, 196, 196, 0.5);
    outline: none;
    -webkit-appearance: none;
    transition: all 0.2s ease; }
    .product-add-to-cart-form-variable input.qty:focus {
      border-color: #21416E; }
  .product-add-to-cart-form-variable .product-add-to-cart-link.disabled {
    color: #21416E;
    border: 2px solid #21416E;
    opacity: 0.5; }
  .product-add-to-cart-form-variable .woocommerce-variation-price .price {
    display: block;
    margin: 0 0 1rem;
    font-weight: 500;
    font-size: 2.5rem !important;
    color: #274762 !important; }

.product-add-to-cart-link {
  margin-left: 2rem;
  outline: none; }

.product-spec {
  margin: 10rem 0 0;
  padding: 5rem 6rem 6rem;
  background: #FFFFFF;
  border-radius: 3px; }
  .product-spec__title {
    margin: 0 0 4.5rem;
    font-weight: 700;
    font-size: 4.5rem;
    line-height: normal;
    color: #272727;
    max-width: 36rem; }
    @media (max-width: 480px) {
      .product-spec__title {
        font-size: 2.5rem;
        margin: 0 0 3.5rem;
        max-width: 28rem; } }
  .product-spec .divider {
    margin: 4.5rem 0;
    height: 1px;
    width: 100%;
    background: rgba(196, 196, 196, 0.5); }
  @media (max-width: 768px) {
    .product-spec {
      margin-left: -24px;
      margin-right: -24px;
      padding: 5rem 2.4rem 5rem; } }

.product-spec-list {
  padding: 0;
  margin: 0;
  font-weight: 500;
  font-size: 1.5rem;
  color: #3F3F3F;
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 480px) {
    .product-spec-list {
      font-size: 1.3rem; } }
  .product-spec-list li {
    width: 33.333%;
    width: 50%;
    list-style: none;
    padding: 1rem 0;
    display: flex; }
    @media (max-width: 480px) {
      .product-spec-list li {
        padding: 0.7rem 0;
        padding-right: 0 !important; } }
    .product-spec-list li:nth-child(2n+1) {
      width: 54%;
      padding-right: 2%; }
      @media (max-width: 640px) {
        .product-spec-list li:nth-child(2n+1) {
          padding-right: 0;
          position: relative;
          background: #e5e5e5; }
          .product-spec-list li:nth-child(2n+1):before, .product-spec-list li:nth-child(2n+1):after {
            content: '';
            display: block;
            background: #e5e5e5;
            position: absolute;
            height: 100%;
            top: 0;
            width: 24px; }
          .product-spec-list li:nth-child(2n+1):before {
            right: 100%; }
          .product-spec-list li:nth-child(2n+1):after {
            left: 100%; } }
    .product-spec-list li:nth-child(2n+2) {
      width: 46%; }
    @media (max-width: 1024px) {
      .product-spec-list li {
        width: 100% !important; } }
    .product-spec-list li span:first-child {
      display: inline-block;
      margin-right: 1.5rem;
      max-width: 75%;
      min-width: 11rem; }
      @media (max-width: 640px) {
        .product-spec-list li span:first-child {
          display: block;
          width: 45%;
          padding-right: 1.5rem;
          margin-right: 0;
          min-width: 12rem;
          word-break: break-word; } }
    .product-spec-list li span:nth-child(2) {
      font-weight: 400; }
      @media (max-width: 640px) {
        .product-spec-list li span:nth-child(2) {
          display: block;
          width: 55%; } }

.product-full-descrip {
  margin: 4.5rem 0 0; }
  .product-full-descrip p {
    margin: 0; }
    .product-full-descrip p + p {
      margin-top: 1em; }
  .product-full-descrip a {
    color: #21416E;
    text-decoration: underline; }
    .product-full-descrip a:hover {
      text-decoration: none; }

.product-content-links {
  margin: -0.8rem 0 0;
  padding: 0;
  column-count: 3; }
  @media (max-width: 1080px) {
    .product-content-links {
      column-count: 2; } }
  @media (max-width: 768px) {
    .product-content-links {
      display: flex;
      flex-flow: column; } }
  .product-content-links li {
    list-style: none;
    padding: 0.8rem 0; }
  .product-content-links a {
    font-weight: 500;
    font-size: 1.8rem;
    line-height: normal;
    color: #3F3F3F;
    transition: all 0.25s ease;
    text-decoration: none; }
    .product-content-links a:hover {
      color: #4766B3; }

.product-reviews {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 10rem 0 0;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  @media (max-width: 640px) {
    .product-reviews {
      margin: 5rem 0 0; } }
  .product-reviews__title {
    margin: 0 0 1.5rem;
    font-weight: 700;
    font-size: 4.5rem;
    line-height: normal;
    color: #272727;
    max-width: 36rem; }
    @media (max-width: 640px) {
      .product-reviews__title {
        font-size: 2.5rem;
        text-align: left; } }
  .product-reviews .woocommerce-Reviews-title {
    display: none; }

#comments .comments-title {
  display: none; }

#comments .commentlist {
  margin: 0;
  padding: 0;
  list-style: none; }
  #comments .commentlist .review {
    padding: 4rem 0;
    border-bottom: 1px solid rgba(196, 196, 196, 0.5);
    font-weight: 300;
    font-size: 1.5rem;
    color: #3F3F3F; }
    #comments .commentlist .review .comment-author {
      font-weight: 500;
      font-size: 1.8rem;
      color: #274762;
      font-style: normal; }
      #comments .commentlist .review .comment-author cite {
        font-style: normal; }
      #comments .commentlist .review .comment-author img.avatar {
        display: none; }
      #comments .commentlist .review .comment-author .says {
        display: none; }
    #comments .commentlist .review .comment-meta {
      display: none; }
    #comments .commentlist .review p {
      margin: 2rem 0; }
    #comments .commentlist .review .reply {
      text-align: right; }
      #comments .commentlist .review .reply a {
        font-weight: 500;
        font-size: 1.2rem;
        color: #21416E;
        text-decoration: none; }
        #comments .commentlist .review .reply a:hover {
          text-decoration: underline; }

#commentform {
  display: flex;
  flex-flow: column; }

#review_form,
#respond {
  margin: 5.5rem 0 0;
  padding: 5rem 6.4rem 6rem;
  background: #F4F5F6;
  border-radius: 3px;
  font-weight: 300;
  font-size: 1.5rem; }
  @media (max-width: 768px) {
    #review_form,
    #respond {
      margin-left: -24px;
      margin-right: -24px;
      padding: 5.5rem 2.4rem;
      background: #fff; } }
  @media (max-width: 480px) {
    #review_form,
    #respond {
      padding-bottom: 5.6rem; } }

#commentform .comment-notes {
  display: none; }

#commentform input[type="text"],
#commentform input[type="email"],
#commentform textarea {
  border: none;
  border-bottom: 1px solid rgba(196, 196, 196, 0.5);
  border-radius: 0;
  background: none;
  margin: 0;
  padding: 0.9rem 0;
  display: block;
  width: 100%;
  outline: none;
  transition: all 0.2s ease; }

#commentform input[type="text"]:focus,
#commentform input[type="email"]:focus,
#commentform textarea:focus {
  border-bottom: 1px solid #c4c4c4; }

#commentform input[type="text"]::placeholder,
#commentform input[type="email"]::placeholder,
#commentform textarea::placeholder {
  color: #858585; }

#commentform textarea {
  resize: vertical;
  height: 18rem !important; }

#commentform label {
  display: block; }

#commentform .comment-form-cookies-consent {
  margin: 2rem 0 0 !important;
  order: 4; }

#commentform .comment-form-cookies-consent label {
  display: inline; }

#commentform input[type="checkbox"] {
  display: inline-block;
  margin-right: 1rem; }

#commentform .form-submit {
  order: 5;
  margin: 4rem 0 0 !important; }

#commentform .form-submit input[type="submit"] {
  display: inline-block !important;
  text-decoration: none !important;
  padding: 0.5rem 1.1rem 0.7rem !important;
  font-weight: 500 !important;
  font-size: 1.3rem !important;
  color: #21416E !important;
  border: 2px solid #21416E !important;
  border-radius: 2px !important;
  background: none !important;
  transition: all 0.25s ease !important;
  line-height: 1.4 !important;
  outline: none !important; }
  #commentform .form-submit input[type="submit"]:hover {
    color: #fff !important;
    background: #21416E !important; }
  #commentform .form-submit input[type="submit"]:disabled {
    background: none !important;
    cursor: default !important;
    pointer-events: none !important;
    color: #ebe9eb !important;
    border-color: #ebe9eb !important; }

#commentform .comment-form-author {
  margin: 0 !important;
  order: 1; }

#commentform .comment-form-email {
  margin: 3rem 0 0 !important;
  order: 2; }

#commentform .comment-form-comment {
  margin: 3rem 0 0 !important;
  order: 3; }

#reply-title {
  display: block;
  margin: 0 0 3rem;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  font-size: 4.5rem;
  line-height: 1.1;
  color: #272727; }
  @media (max-width: 640px) {
    #reply-title {
      font-size: 2.5rem;
      text-align: left; } }

.product-reviews-main {
  width: 65.7%;
  padding: 5rem 6.4rem 6rem;
  background: #FFFFFF;
  border-radius: 3px; }
  @media (max-width: 1024px) {
    .product-reviews-main {
      width: 100%; } }
  @media (max-width: 768px) {
    .product-reviews-main {
      background: none;
      padding: 5rem 0 5rem; } }
  @media (max-width: 480px) {
    .product-reviews-main {
      padding-bottom: 0; } }

.product-sticky-wrap {
  width: 29%; }
  @media (max-width: 1080px) {
    .product-sticky-wrap {
      width: 31%; } }
  @media (max-width: 1024px) {
    .product-sticky-wrap {
      display: none; } }

.product-sticky {
  width: 100%;
  padding: 3rem 3.8rem 3.8rem;
  background: #FFFFFF;
  border-radius: 3px; }
  @media (max-width: 1080px) {
    .product-sticky {
      padding: 3rem 2rem 3.8rem; } }
  .product-sticky__block-title {
    margin: 0 0 3rem;
    font-weight: 700;
    font-size: 3rem;
    line-height: normal;
    color: #272727; }
  .product-sticky__top {
    display: flex;
    align-items: center; }
  .product-sticky__bottom {
    display: flex;
    margin: 2.2rem 0 0; }
  .product-sticky__image {
    width: 10.5rem;
    min-width: 10.5rem;
    height: 10.5rem;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat; }
    @media (max-width: 1080px) {
      .product-sticky__image {
        width: 8rem;
        min-width: 8rem;
        height: 8rem; } }
  .product-sticky__title {
    padding: 0 0 0 2.7rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: normal;
    color: #3F3F3F;
    word-break: break-word; }
  .product-sticky__price {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 10.5rem;
    margin: 0 2.8rem 0 0;
    padding: 0.3rem 1.8rem;
    background: #F4F5F6;
    border-radius: 3px;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 3rem;
    color: #21416E; }
  .product-sticky .product-add-to-cart-form .quantity {
    display: none; }
  .product-sticky .product-add-to-cart-form .product-add-to-cart-link {
    margin-left: 0; }

.product-footnote {
  font-style: italic;
  color: #274762; }

@media (max-width: 640px) {
  .woocommerce-message {
    display: flex;
    flex-wrap: wrap; }
    .woocommerce-message .button, .woocommerce-message body .woo-notification .button, body .woo-notification .woocommerce-message .button, .woocommerce-message .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout .woocommerce-message a.checkout-button {
      order: 2;
      margin-top: 1.5rem !important; } }

#woof_html_buffer {
  width: 4rem;
  height: 4rem;
  background: url(../img/icon-menu-blue.svg) center/contain no-repeat !important;
  animation-name: loaderAnimation;
  animation-duration: 1.5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  font-size: 0;
  border: none;
  box-shadow: none;
  border-radius: 0; }

.widget_product_categories {
  list-style: none; }
  .widget_product_categories .widgettitle {
    display: none; }
  .widget_product_categories ul.product-categories {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .widget_product_categories ul.product-categories li {
      list-style: none; }
      @media (max-width: 860px) {
        .widget_product_categories ul.product-categories li {
          width: 46%;
          margin-top: 3rem;
          padding-right: 1rem; }
          .widget_product_categories ul.product-categories li:nth-child(1), .widget_product_categories ul.product-categories li:nth-child(2) {
            margin-top: 0; } }
      .widget_product_categories ul.product-categories li a {
        position: relative;
        display: block;
        padding: 1.2rem 0 0;
        margin: 0;
        font-weight: 700;
        font-size: 1.8rem;
        color: #21416E;
        text-decoration: none;
        cursor: pointer;
        transition: all 0.3s ease-in-out; }
        @media (max-width: 768px) {
          .widget_product_categories ul.product-categories li a {
            font-size: 1.6rem; } }
        .widget_product_categories ul.product-categories li a:before {
          content: '';
          display: block;
          width: 3.4rem;
          height: 3px;
          position: absolute;
          top: 0;
          left: 0;
          background: #21416E;
          transition: all 0.3s ease-in-out; }
        .widget_product_categories ul.product-categories li a.active, .widget_product_categories ul.product-categories li a.current {
          color: #858585; }
          .widget_product_categories ul.product-categories li a.active:before, .widget_product_categories ul.product-categories li a.current:before {
            background: #858585; }
        .widget_product_categories ul.product-categories li a:hover {
          color: #858585; }
          .widget_product_categories ul.product-categories li a:hover:before {
            background: #858585; }
      .widget_product_categories ul.product-categories li.current-cat a {
        color: #858585; }
        .widget_product_categories ul.product-categories li.current-cat a:before {
          background: #858585; }

body .woo-notification {
  border-top-color: #4766B3; }
  body .woo-notification:before {
    color: #4766B3; }
  body .woo-notification .button, body .woo-notification .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-cart .wc-proceed-to-checkout body .woo-notification a.checkout-button {
    line-height: 1.5; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  line-height: 1.5;
  display: block !important;
  font-size: 1.9rem !important;
  padding: 1rem 1.1rem 1.1rem !important; }

.cart-wrap,
.checkout-wrap {
  max-width: 800px;
  margin: auto;
  padding: 5.5rem 5.5rem 7rem;
  background: #fff; }
  @media (max-width: 640px) {
    .cart-wrap,
    .checkout-wrap {
      padding: 2.5rem 2.5rem 5rem; } }

.woocommerce-cart .product-name a {
  position: relative;
  display: inline-block;
  font-weight: 500;
  font-size: 1.5rem;
  color: #21416E;
  line-height: 1;
  transition: color 0.25s ease;
  text-decoration: underline; }
  @media (max-width: 768px) {
    .woocommerce-cart .product-name a {
      font-size: 1.4rem; } }
  .woocommerce-cart .product-name a:hover {
    color: #3F3F3F;
    text-decoration: none; }

.chosen-container {
  font-size: 1.5rem; }
  .chosen-container .chosen-drop {
    background: #fff;
    border: 1px solid #aeaeae; }
  .chosen-container .chosen-results {
    margin: 0 0px 4px 0;
    padding: 0 0 0 0px; }
    .chosen-container .chosen-results li.highlighted {
      background: #21416E;
      background: linear-gradient(89.7deg, #21416E 24.39%, #4766B3 106.61%); }

.chosen-container-single .chosen-single {
  color: #3f3f3f;
  background: #fff !important;
  border: 1px solid #aeaeae !important;
  height: auto !important; }
  .chosen-container-single .chosen-single span {
    font-size: 1.5rem !important;
    line-height: 1.6; }
  .chosen-container-single .chosen-single div b {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    display: block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid #3f3f3f; }

.chosen-container-single.chosen-with-drop .chosen-single div b {
  transform: translate(-50%, -50%) rotate(180deg); }

.woocommerce-billing-fields input[type="text"],
.woocommerce-billing-fields input[type="tel"],
.woocommerce-billing-fields input[type="email"],
.woocommerce-billing-fields #order_comments,
.woocommerce-shipping-fields input[type="text"],
.woocommerce-shipping-fields input[type="tel"],
.woocommerce-shipping-fields input[type="email"],
.woocommerce-shipping-fields #order_comments {
  border: 1px solid #aeaeae; }
  .woocommerce-billing-fields input[type="text"]:focus,
  .woocommerce-billing-fields input[type="tel"]:focus,
  .woocommerce-billing-fields input[type="email"]:focus,
  .woocommerce-billing-fields #order_comments:focus,
  .woocommerce-shipping-fields input[type="text"]:focus,
  .woocommerce-shipping-fields input[type="tel"]:focus,
  .woocommerce-shipping-fields input[type="email"]:focus,
  .woocommerce-shipping-fields #order_comments:focus {
    border-color: #989898; }

.woocommerce-checkout #myfield1_field {
  float: none;
  width: 100%; }
  .woocommerce-checkout #myfield1_field label {
    line-height: 1.4;
    margin: 0 0 5px; }
  .woocommerce-checkout #myfield1_field textarea {
    border: 1px solid #aeaeae; }
    .woocommerce-checkout #myfield1_field textarea:focus {
      border-color: #989898; }

.wc_payment_method.payment_method_portmone li img {
  max-width: 200px; }

#submit_portmone_payment_form {
  display: inline-block;
  text-decoration: none;
  padding: 0.5rem 1.1rem 0.7rem;
  font-weight: 500;
  font-size: 1.3rem;
  color: #21416E;
  border: 2px solid #21416E;
  border-radius: 2px;
  background: none;
  transition: all 0.25s ease; }
  #submit_portmone_payment_form:hover {
    color: #fff;
    background: #21416E; }
  #submit_portmone_payment_form:disabled, #submit_portmone_payment_form.disabled {
    background: none;
    cursor: default;
    pointer-events: none;
    color: #ebe9eb;
    border-color: #ebe9eb; }

html {
  font-size: 10px; }

body {
  font-family: 'Roboto', sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  background: #e5e5e5;
  color: #3F3F3F;
  line-height: 1.6; }
  body.scroll-off {
    overflow: hidden; }
  body.search-results {
    padding: 0; }

.main-wrapper {
  min-height: 100vh;
  padding: 0 0 14rem; }
  @media (max-width: 520px) {
    .main-wrapper {
      padding: 0 0 4rem; } }

.container {
  display: block;
  max-width: 1120px;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: content-box;
  margin: auto; }

.page-title {
  margin: 0 0 6rem;
  font-size: 4.8rem;
  line-height: 1.4;
  font-weight: 700;
  color: #272727; }
  @media (max-width: 1024px) {
    .page-title {
      font-size: 4.4rem; } }
  @media (max-width: 768px) {
    .page-title {
      font-size: 4.4rem;
      margin: 0 0 4rem; } }
  @media (max-width: 640px) {
    .page-title {
      font-size: 4rem;
      margin: 0 0 4rem; } }
  @media (max-width: 480px) {
    .page-title {
      font-size: 3.5rem; } }

.page-title--white {
  color: #fff; }

.section {
  padding-top: 10rem; }
  @media (max-width: 480px) {
    .section {
      padding-top: 5.6rem; } }

.lang-switcher {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0; }
  .lang-switcher li {
    position: relative;
    list-style: none; }
    .lang-switcher li + li {
      margin-left: 1.6rem; }
    .lang-switcher li:before {
      content: '';
      display: block;
      position: absolute;
      left: -1.1rem;
      top: 1rem;
      width: 4px;
      height: 4px;
      border-radius: 1px;
      background: #D3DEF2;
      opacity: 0.7;
      pointer-events: none; }
    .lang-switcher li:first-child:before {
      display: none; }
    .lang-switcher li.current-lang a {
      color: #fff;
      opacity: 1;
      cursor: default; }
  .lang-switcher a {
    position: relative;
    font-size: 2rem;
    font-weight: bold;
    color: #D3DEF2;
    opacity: 0.7;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease; }
    .lang-switcher a:hover {
      color: #fff;
      opacity: 1; }

/************************************
****  Buttons styles
************************************/
.button, body .woo-notification .button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.btn {
  display: inline-block;
  text-decoration: none;
  padding: 0.5rem 1.1rem 0.7rem;
  font-weight: 500;
  font-size: 1.3rem;
  color: #21416E;
  border: 2px solid #21416E;
  border-radius: 2px;
  background: none;
  transition: all 0.25s ease; }
  .button:hover, body .woo-notification .button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
  .btn:hover {
    color: #fff;
    background: #21416E; }
  .button:disabled, body .woo-notification .button:disabled, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:disabled, .button.disabled, body .woo-notification .disabled.button, .woocommerce-cart .wc-proceed-to-checkout a.disabled.checkout-button,
  .btn:disabled,
  .btn.disabled {
    background: none;
    cursor: default;
    pointer-events: none;
    color: #ebe9eb;
    border-color: #ebe9eb; }

.button--white,
.btn--white {
  border: 2px solid #FFFFFF;
  color: #FFFFFF; }
  .button--white:hover,
  .btn--white:hover {
    background: #fff;
    color: #21416E; }

.btn--back-to-shop {
  margin-top: 2rem; }

/************************************
****  END Buttons styles
************************************/
.page-head {
  background: linear-gradient(89.7deg, #21416E 24.39%, #4766B3 106.61%); }
  .page-head__content {
    padding-top: 20rem;
    padding-bottom: 5.5rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media (max-width: 768px) {
      .page-head__content {
        padding-top: 15rem;
        padding-bottom: 3.6rem;
        align-items: center; } }
  .page-head__title {
    margin: 0;
    max-width: 70rem; }
  .page-head.with-title .page-head__content {
    padding-bottom: 7.5rem; }
    @media (max-width: 768px) {
      .page-head.with-title .page-head__content {
        padding-bottom: 3.6rem;
        align-items: flex-end; } }
  .page-head.with-title .page-head__right {
    padding-bottom: 0.6rem; }
    @media (max-width: 768px) {
      .page-head.with-title .page-head__right {
        padding-bottom: 0; } }
  .page-head__right {
    display: flex;
    align-items: flex-end; }
  .page-head__cart-link {
    position: relative;
    display: inline-block;
    text-decoration: none;
    outline: none;
    width: 2.6rem;
    height: 2.2rem;
    box-sizing: content-box;
    padding: 0.7rem;
    margin-left: 5.6rem;
    margin-right: -0.7rem;
    transition: all 0.25s ease; }
    .page-head__cart-link svg {
      display: block;
      width: 100%;
      height: 100%; }
      .page-head__cart-link svg path {
        transition: all 0.25s ease-in-out; }
    .page-head__cart-link .indicator {
      position: absolute;
      width: 10px;
      height: 10px;
      bottom: 0.3rem;
      right: 0.5rem;
      border-radius: 50%;
      background: #B00000; }
    .page-head__cart-link:hover svg path {
      fill: #fff; }
    .page-head__cart-link.active svg path {
      fill: #fff; }
    .page-head__cart-link.active:hover {
      opacity: 0.8; }
  .page-head__link-back {
    display: none; }
    @media (max-width: 768px) {
      .page-head__link-back {
        display: block;
        text-decoration: none;
        font-weight: 500;
        font-size: 1.5rem;
        line-height: normal;
        color: #FFFFFF;
        outline: none; } }
  @media (max-width: 768px) {
    .page-head .lang-switcher {
      display: none; } }
  @media (max-width: 768px) {
    .page-head .breadcrumbs {
      display: none; } }

.page-content {
  padding-top: 10rem; }
  @media (max-width: 960px) {
    .page-content.page-news, .page-content.page-info {
      background: #fff; } }
  @media (max-width: 768px) {
    .page-content {
      padding-top: 5.6rem; } }

.breadcrumbs {
  display: flex;
  font-style: normal;
  font-weight: 500;
  font-size: 1.8rem;
  color: #fff; }
  .breadcrumbs a {
    position: relative;
    display: inline-block;
    margin-right: 6rem;
    color: #9C9C9C;
    text-decoration: none;
    transition: all 0.25s ease; }
    .breadcrumbs a:hover {
      color: #fff; }
    .breadcrumbs a:before {
      content: '';
      display: block;
      position: absolute;
      top: 55%;
      right: -4rem;
      transform: translate(0, -50%);
      width: 2.3rem;
      height: 1.6rem;
      background: url(../img/icon-arrow-left.svg) center/contain no-repeat;
      pointer-events: none; }

/************************************
****  Homepage
************************************/
.section-products__content {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .section-products__content {
      flex-wrap: wrap; } }

.section-products__left {
  position: relative;
  width: 48.5%; }
  @media (max-width: 768px) {
    .section-products__left {
      width: 100%; } }

.section-products__right {
  width: 42%;
  display: flex;
  flex-wrap: wrap; }
  @media (max-width: 1140px) {
    .section-products__right {
      width: 47%; } }
  @media (max-width: 768px) {
    .section-products__right {
      width: 100%; } }

@media (max-width: 480px) {
  .section-products .page-title {
    max-width: 20rem; } }

.products-slide {
  outline: none; }
  .products-slide__content {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 63.2%; }
    .products-slide__content a {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #fff;
      background-repeat: no-repeat;
      background-size: 50%;
      background-position: center;
      outline: none; }
  .products-slide .products-text-slide {
    display: none !important; }
    @media (max-width: 768px) {
      .products-slide .products-text-slide {
        display: block !important;
        margin: 0 0 3.2rem; } }

.products-slider-arrow {
  position: absolute;
  top: 100%;
  left: 0;
  bottom: -9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 0.5rem; }
  @media (max-width: 768px) {
    .products-slider-arrow {
      top: auto;
      bottom: -6rem; } }
  .products-slider-arrow.prev {
    left: -0.5;
    transform: rotate(180deg); }
  .products-slider-arrow.next {
    left: 8.5rem; }
  .products-slider-arrow svg {
    width: 3.7rem;
    height: 2.4rem; }
    .products-slider-arrow svg path {
      fill: #21416E;
      transition: all 0.3s ease; }
  .products-slider-arrow.slick-disabled {
    cursor: default; }
    .products-slider-arrow.slick-disabled svg path {
      fill: #858585 !important; }
  @media (min-width: 1024px) {
    .products-slider-arrow:hover svg path {
      fill: #4766B3; } }

.products-text-slider {
  width: 100%;
  margin-top: -0.8rem; }
  @media (max-width: 768px) {
    .products-text-slider .products-text-slide {
      display: none !important; } }

.products-text-slide {
  outline: none; }
  .products-text-slide__title {
    margin: 0;
    font-weight: 700;
    font-size: 4.2rem;
    line-height: 1;
    color: #272727; }
    @media (max-width: 960px) {
      .products-text-slide__title {
        font-size: 3.6rem; } }
    @media (max-width: 768px) {
      .products-text-slide__title {
        font-size: 2.5rem; } }
  .products-text-slide__descrip {
    margin: 4.5rem 0 0;
    max-width: 100%;
    font-weight: 300;
    font-size: 1.5rem;
    line-height: 2.5rem;
    color: #3F3F3F; }
    @media (max-width: 768px) {
      .products-text-slide__descrip {
        margin: 3rem 0 0;
        max-width: 100%; } }
    @media (max-width: 480px) {
      .products-text-slide__descrip {
        font-size: 1.4rem; } }

.products-slider-nav {
  align-self: flex-end;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  @media (max-width: 768px) {
    .products-slider-nav {
      padding-top: 7rem; } }

.products-slider-nav-link {
  position: relative;
  display: block;
  width: 50%;
  padding: 1.2rem 0 0;
  margin: 3rem 0 0;
  font-weight: 700;
  font-size: 1.8rem;
  color: #21416E;
  cursor: pointer;
  transition: all 0.3s ease-in-out; }
  @media (max-width: 960px) {
    .products-slider-nav-link {
      font-size: 1.6rem; } }
  @media (max-width: 480px) {
    .products-slider-nav-link {
      font-size: 1.5rem;
      padding-right: 0.5rem; } }
  .products-slider-nav-link:before {
    content: '';
    display: block;
    width: 3.4rem;
    height: 3px;
    position: absolute;
    top: 0;
    left: 0;
    background: #21416E;
    transition: all 0.3s ease-in-out; }
  .products-slider-nav-link.active {
    color: #858585; }
    .products-slider-nav-link.active:before {
      background: #858585; }
  .products-slider-nav-link:hover {
    color: #858585; }
    .products-slider-nav-link:hover:before {
      background: #858585; }

.section-benefits {
  margin: 5.5rem 0 0; }
  @media (max-width: 768px) {
    .section-benefits {
      margin: 0; } }
  @media (max-width: 480px) {
    .section-benefits .page-title {
      max-width: 19.1rem; } }

.benefits {
  display: flex;
  justify-content: space-between;
  margin: 7rem 0 0; }
  @media (max-width: 768px) {
    .benefits {
      margin: 4rem 0 0; } }
  @media (max-width: 640px) {
    .benefits {
      flex-wrap: wrap;
      justify-content: center; } }

.benefit {
  display: flex;
  flex-flow: column;
  width: 31.7%; }
  @media (max-width: 640px) {
    .benefit {
      width: 45%; }
      .benefit:nth-child(2) {
        margin-left: 10%; }
      .benefit:nth-child(3) {
        margin-top: 2.8rem; } }
  @media (max-width: 480px) {
    .benefit {
      width: 47%; }
      .benefit:nth-child(2) {
        margin-left: 6%; } }
  .benefit__image {
    position: relative;
    z-index: 1;
    padding-bottom: 64.8%;
    background-color: #686868;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.4s ease-in-out;
    will-change: transform; }
    @media (max-width: 768px) {
      .benefit__image {
        order: 2; } }
  .benefit__title {
    margin: 3rem 0 0;
    font-size: 3.6rem;
    line-height: 1.5;
    font-weight: 500;
    color: #272727;
    transition: transform 0.4s ease-in-out;
    will-change: transform; }
    @media (max-width: 768px) {
      .benefit__title {
        font-size: 2.5rem;
        order: 1;
        margin: 0 0 2rem;
        line-height: 1; } }
    @media (max-width: 640px) {
      .benefit__title {
        font-size: 1.9rem;
        line-height: 1.2; } }
    @media (max-width: 360px) {
      .benefit__title {
        font-size: 1.7rem; } }
  @media (min-width: 1024px) {
    .benefit:hover .benefit__image {
      transform: translate(0, 12rem); }
    .benefit:hover .benefit__title {
      transform: translate(0, -27.4rem); } }

.section-sale {
  margin: -0.5rem 0 0; }
  .section-sale__content {
    overflow: hidden; }
  @media (max-width: 768px) {
    .section-sale {
      margin: 0; } }

.product-items {
  display: flex;
  flex-wrap: wrap;
  margin: 0; }

.product-item {
  width: 31.6%;
  margin: 0 0 2.8rem;
  margin-left: 2.6%;
  overflow: hidden;
  text-decoration: none;
  text-align: center;
  outline: none;
  color: #272727; }
  .product-item:nth-child(3n + 1) {
    margin-left: 0; }
  @media (max-width: 768px) {
    .product-item {
      margin-left: 4% !important;
      width: 48%; }
      .product-item:nth-child(2n + 1) {
        margin-left: 0 !important; } }
  .product-item__inner {
    display: block;
    height: 0;
    padding-bottom: 100%;
    background: #FFFFFF;
    border-radius: 3px; }
  .product-item__content {
    display: flex;
    flex-flow: column;
    align-items: center;
    padding: 2.5rem 3.5rem 3.5rem;
    position: relative;
    top: 0;
    transition: top 0.6s ease-in-out; }
    @media (max-width: 680px) {
      .product-item__content {
        padding: 2rem; } }
  .product-item__title {
    margin: 0 -2rem;
    font-weight: 500;
    font-size: 1.5rem; }
    .product-item__title.mobile {
      display: none;
      min-height: 3.6rem; }
      @media (max-width: 680px) {
        .product-item__title.mobile {
          display: block; } }
    @media (max-width: 680px) {
      .product-item__title {
        display: none;
        margin: 0 0 1.5rem;
        text-align: left;
        line-height: 1.2; } }
  .product-item__image {
    margin: 2.5rem 0 5rem;
    height: 0;
    width: 86.3%;
    padding-bottom: 86.3%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center; }
    @media (max-width: 1024px) {
      .product-item__image {
        margin-bottom: 0; } }
    @media (max-width: 680px) {
      .product-item__image {
        margin-top: 0;
        width: 100%;
        padding-bottom: 100%; } }
  .product-item__description-text {
    width: 100%;
    margin: 0 0 1rem;
    font-weight: 500;
    font-size: 1.2rem;
    color: #3F3F3F;
    text-align: left; }
    @media (max-width: 1024px) {
      .product-item__description-text {
        display: none; } }
  .product-item__characteristic {
    width: 100%;
    margin: 0.5em 0;
    font-weight: 500;
    font-size: 1.2rem;
    color: #3F3F3F;
    text-align: left; }
    @media (max-width: 1024px) {
      .product-item__characteristic {
        display: none; } }
    .product-item__characteristic span {
      display: inline-block;
      margin-right: 1rem;
      font-weight: 400; }
  .product-item__button {
    align-self: flex-start;
    margin: 2.5rem 0 0; }
    @media (max-width: 1024px) {
      .product-item__button {
        display: none; } }

/************************************
****  END Homepage
************************************/
/************************************
****  About Us page
************************************/
.section-about-us {
  position: relative;
  margin: 10rem auto 0;
  padding: 7.2rem 9.6rem 9.6rem;
  max-width: 800px;
  background: linear-gradient(89.85deg, #21416E 0.14%, #4766B3 99.91%);
  border-radius: 3px; }
  @media (max-width: 768px) {
    .section-about-us {
      padding: 7rem 24px 11rem; } }
  @media (max-width: 640px) {
    .section-about-us {
      padding: 5.5rem 24px 5.6rem;
      margin: 5.6rem 0 0; } }
  .section-about-us:after {
    content: '';
    display: block;
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    width: 11.8rem;
    height: 12.2rem;
    z-index: 0;
    background: url(../img/corner-decor.svg) center/contain no-repeat; }
    @media (max-width: 520px) {
      .section-about-us:after {
        width: 7.4rem;
        height: 7.4rem; } }
  .section-about-us__title {
    position: relative;
    z-index: 1; }
    @media (max-width: 768px) {
      .section-about-us__title {
        margin-bottom: 0; } }
  .section-about-us__text {
    margin: 5.5rem 0 0;
    font-weight: 300;
    font-size: 1.5rem;
    color: #C5C5C5; }
    @media (max-width: 768px) {
      .section-about-us__text {
        margin: 3.4rem 0 0; } }
    @media (max-width: 420px) {
      .section-about-us__text {
        margin: 2rem 0 0; } }
    .section-about-us__text p {
      margin: 0; }
      .section-about-us__text p + p {
        margin-top: 1em; }

.section-subtitle {
  margin: 6rem 0 0;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  @media (max-width: 768px) {
    .section-subtitle {
      margin: 4rem 0 0; } }

.section-certificates {
  overflow: hidden; }
  .section-certificates .section-subtitle {
    max-width: 93rem; }
    @media (max-width: 1080px) {
      .section-certificates .section-subtitle {
        max-width: 63rem; } }
  .section-certificates__content {
    position: relative; }
    @media (max-width: 640px) {
      .section-certificates__content {
        padding-bottom: 5.4rem; } }

.slider-certificates-arrows {
  position: absolute;
  right: 0;
  top: -5rem; }
  @media (max-width: 640px) {
    .slider-certificates-arrows {
      top: auto;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0);
      display: flex;
      justify-content: center; } }

.slider-certificates-arrow {
  position: absolute;
  top: 2rem;
  right: 4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 0.5rem; }
  @media (max-width: 640px) {
    .slider-certificates-arrow {
      top: auto;
      position: static; } }
  .slider-certificates-arrow.prev {
    right: 10rem;
    transform: rotate(180deg); }
  .slider-certificates-arrow.next {
    right: 3rem; }
    @media (max-width: 640px) {
      .slider-certificates-arrow.next {
        margin-left: 5rem; } }
  .slider-certificates-arrow svg {
    width: 3.7rem;
    height: 2.4rem; }
    .slider-certificates-arrow svg path {
      fill: #21416E;
      transition: all 0.3s ease; }
    @media (max-width: 640px) {
      .slider-certificates-arrow svg {
        width: 3.6rem;
        height: 2.2rem; } }
  .slider-certificates-arrow.slick-disabled {
    cursor: default; }
    .slider-certificates-arrow.slick-disabled svg path {
      fill: #858585 !important; }
  @media (min-width: 1024px) {
    .slider-certificates-arrow:hover svg path {
      fill: #4766B3; } }

.slider-certificates {
  position: relative; }
  @media (max-width: 640px) {
    .slider-certificates {
      margin: 4rem 0 0; } }
  .slider-certificates:before, .slider-certificates:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    height: 100%;
    width: 2000px;
    background: #e5e5e5; }
    @media (max-width: 1164px) {
      .slider-certificates:before, .slider-certificates:after {
        display: none; } }
  .slider-certificates:before {
    right: calc(100% + 8.5rem); }
    @media (max-width: 1164px) {
      .slider-certificates:before {
        display: none; } }
  .slider-certificates:after {
    left: calc(100% + 8.5rem); }
  .slider-certificates .slick-list {
    overflow: visible; }
    @media (max-width: 1164px) {
      .slider-certificates .slick-list {
        overflow: hidden; } }
  .slider-certificates__slide {
    outline: none;
    width: 26rem;
    margin: 8.5rem; }
    @media (max-width: 1164px) {
      .slider-certificates__slide {
        width: 25vw;
        margin: calc((25vw - 48px)/4); } }
    @media (max-width: 640px) {
      .slider-certificates__slide {
        width: calc(100vw - 48px);
        margin: 0; } }
  .slider-certificates__cert {
    display: block;
    width: 100%;
    outline: none;
    text-decoration: none;
    transition: transform 0.5s ease-in-out;
    cursor: pointer; }
    .slider-certificates__cert img {
      display: block;
      width: 100%;
      height: auto; }
    @media (min-width: 1164px) {
      .slider-certificates__cert:hover {
        transform: scale(1.5); } }

@media (max-width: 768px) {
  .section-catalog {
    padding-bottom: 5rem; } }

.section-catalog__content {
  position: relative;
  margin: 7rem 0 0;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .section-catalog__content {
      flex-flow: column;
      margin: 4rem 0 0; } }

.section-catalog__left {
  width: 49%; }
  @media (max-width: 900px) {
    .section-catalog__left {
      width: 53%; } }
  @media (max-width: 768px) {
    .section-catalog__left {
      order: 2;
      width: 100%;
      margin: 3.2rem 0 0; } }

.section-catalog__right {
  width: 40%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start; }
  @media (max-width: 768px) {
    .section-catalog__right {
      order: 1;
      width: 100%; } }

.section-catalog__image-wrap {
  padding: 3rem;
  background: #FFFFFF;
  border-radius: 3px; }
  @media (max-width: 768px) {
    .section-catalog__image-wrap {
      display: flex;
      align-items: center; } }
  @media (max-width: 640px) {
    .section-catalog__image-wrap {
      padding: 1.5rem 0 1.5rem 1.5rem; } }
  .section-catalog__image-wrap .section-catalog__button {
    display: none;
    margin: auto; }
    @media (max-width: 768px) {
      .section-catalog__image-wrap .section-catalog__button {
        display: block; } }

.section-catalog__image {
  height: 0;
  padding-bottom: 63%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
  @media (max-width: 768px) {
    .section-catalog__image {
      width: 50%;
      padding-bottom: 70%; } }

.section-catalog__title {
  margin: -1rem 0 0;
  font-weight: 500;
  font-size: 4.5rem;
  color: #272727;
  line-height: 1; }
  @media (max-width: 768px) {
    .section-catalog__title {
      font-size: 3.2rem;
      margin: 0; } }
  @media (max-width: 640px) {
    .section-catalog__title {
      font-size: 2.5rem; } }

.section-catalog__text {
  margin: 5rem 0 0;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  @media (max-width: 768px) {
    .section-catalog__text {
      margin: 3rem 0 0; } }
  .section-catalog__text p {
    margin: 0; }
    .section-catalog__text p + p {
      margin-top: 1em; }

.section-catalog__button {
  margin: 4.2rem 0 0; }
  @media (max-width: 768px) {
    .section-catalog__button {
      display: none; } }

/************************************
****  END About Us page
************************************/
/************************************
****  Fancybox styles
************************************/
.fancybox-bg {
  background: #898989; }

.fancybox-button {
  background: none; }

.fancybox-button--close {
  position: absolute;
  top: 2rem;
  right: 2rem; }
  .fancybox-button--close svg {
    display: block;
    width: 100%;
    height: 100%; }
    .fancybox-button--close svg rect {
      fill: #4665b0;
      transition: fill 0.25s ease; }
  @media (min-width: 1024px) {
    .fancybox-button--close:hover svg rect {
      fill: #FB9500; } }
  @media (max-width: 768px) {
    .fancybox-button--close {
      top: 0;
      right: 0; } }

.fancybox-navigation .fancybox-button--arrow_right,
.fancybox-navigation .fancybox-button--arrow_left {
  padding: 1rem;
  top: 50%;
  transform: translate(0, -50%);
  width: 3.7rem;
  height: 2.4rem;
  box-sizing: content-box; }
  .fancybox-navigation .fancybox-button--arrow_right div,
  .fancybox-navigation .fancybox-button--arrow_left div {
    padding: 0; }
  .fancybox-navigation .fancybox-button--arrow_right svg,
  .fancybox-navigation .fancybox-button--arrow_left svg {
    display: block;
    width: 100%;
    height: 100%; }
    .fancybox-navigation .fancybox-button--arrow_right svg path,
    .fancybox-navigation .fancybox-button--arrow_left svg path {
      fill: #4665b0;
      transition: all 0.3s ease; }
  @media (min-width: 1024px) {
    .fancybox-navigation .fancybox-button--arrow_right:hover svg path,
    .fancybox-navigation .fancybox-button--arrow_left:hover svg path {
      fill: #FB9500; } }
  .fancybox-navigation .fancybox-button--arrow_right[disabled],
  .fancybox-navigation .fancybox-button--arrow_left[disabled] {
    cursor: not-allowed; }
    .fancybox-navigation .fancybox-button--arrow_right[disabled]:hover svg path,
    .fancybox-navigation .fancybox-button--arrow_left[disabled]:hover svg path {
      fill: #4665b0; }

.fancybox-navigation .fancybox-button--arrow_right {
  right: 1.2rem; }
  @media (max-width: 768px) {
    .fancybox-navigation .fancybox-button--arrow_right {
      right: 0; } }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 1.2rem;
  transform: translate(0, -50%) rotate(180deg); }
  @media (max-width: 768px) {
    .fancybox-navigation .fancybox-button--arrow_left {
      left: 0; } }

/************************************
**** END Fancybox styles
************************************/
/************************************
****  Products page
************************************/
.products-categories {
  margin: 0 0 9.5rem; }
  @media (max-width: 860px) {
    .products-categories {
      margin: 0 0 5.5rem; } }
  .products-categories .widget.WOOF_Widget {
    list-style: none; }
    .products-categories .widget.WOOF_Widget .widgettitle {
      display: none !important; }
  .products-categories .woof_container {
    margin: 0;
    padding: 0; }
  .products-categories .woof_submit_search_form_container {
    display: none; }
  .products-categories .woof_container_product_cat {
    opacity: 0;
    transition: 0.2s ease;
    will-change: transition; }
    .products-categories .woof_container_product_cat.visible {
      opacity: 1; }
    .products-categories .woof_container_product_cat .woof_list {
      position: relative;
      padding: 0;
      margin: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .products-categories .woof_container_product_cat .woof_list li {
        list-style: none; }
        @media (max-width: 860px) {
          .products-categories .woof_container_product_cat .woof_list li {
            width: 46%;
            margin-top: 3rem;
            padding-right: 1rem; }
            .products-categories .woof_container_product_cat .woof_list li:nth-child(1), .products-categories .woof_container_product_cat .woof_list li:nth-child(2) {
              margin-top: 0; } }
        .products-categories .woof_container_product_cat .woof_list li input[type='radio'] {
          position: absolute;
          left: -999px;
          opacity: 0;
          top: 0; }
        .products-categories .woof_container_product_cat .woof_list li .woof_radio_label {
          position: relative;
          display: block;
          padding: 1.2rem 0 0;
          margin: 0;
          font-weight: 700;
          font-size: 1.8rem;
          color: #21416E;
          text-decoration: none;
          cursor: pointer;
          transition: all 0.3s ease-in-out; }
          @media (max-width: 768px) {
            .products-categories .woof_container_product_cat .woof_list li .woof_radio_label {
              font-size: 1.6rem; } }
          .products-categories .woof_container_product_cat .woof_list li .woof_radio_label:before {
            content: '';
            display: block;
            width: 3.4rem;
            height: 3px;
            position: absolute;
            top: 0;
            left: 0;
            background: #21416E;
            transition: all 0.3s ease-in-out; }
          .products-categories .woof_container_product_cat .woof_list li .woof_radio_label.active, .products-categories .woof_container_product_cat .woof_list li .woof_radio_label.woof_radio_label_selected, .products-categories .woof_container_product_cat .woof_list li .woof_radio_label.current {
            cursor: default;
            color: #858585; }
            .products-categories .woof_container_product_cat .woof_list li .woof_radio_label.active:before, .products-categories .woof_container_product_cat .woof_list li .woof_radio_label.woof_radio_label_selected:before, .products-categories .woof_container_product_cat .woof_list li .woof_radio_label.current:before {
              background: #858585; }
          .products-categories .woof_container_product_cat .woof_list li .woof_radio_label:hover {
            color: #858585; }
            .products-categories .woof_container_product_cat .woof_list li .woof_radio_label:hover:before {
              background: #858585; }
        .products-categories .woof_container_product_cat .woof_list li .woof_radio_count {
          display: none; }
        .products-categories .woof_container_product_cat .woof_list li .woof_radio_term_reset {
          display: none !important; }

.products-categories-list {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .products-categories-list li {
    list-style: none; }
    @media (max-width: 860px) {
      .products-categories-list li {
        width: 46%;
        margin-top: 3rem;
        padding-right: 1rem; }
        .products-categories-list li:nth-child(1), .products-categories-list li:nth-child(2) {
          margin-top: 0; } }
    .products-categories-list li a {
      position: relative;
      display: block;
      padding: 1.2rem 0 0;
      margin: 0;
      font-weight: 700;
      font-size: 1.8rem;
      color: #21416E;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.3s ease-in-out; }
      @media (max-width: 768px) {
        .products-categories-list li a {
          font-size: 1.6rem; } }
      .products-categories-list li a:before {
        content: '';
        display: block;
        width: 3.4rem;
        height: 3px;
        position: absolute;
        top: 0;
        left: 0;
        background: #21416E;
        transition: all 0.3s ease-in-out; }
      .products-categories-list li a.active, .products-categories-list li a.current {
        color: #858585; }
        .products-categories-list li a.active:before, .products-categories-list li a.current:before {
          background: #858585; }
      .products-categories-list li a:hover {
        color: #858585; }
        .products-categories-list li a:hover:before {
          background: #858585; }

.products-page-text {
  max-width: 100%;
  margin: 3rem 0 0;
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  .products-page-text p {
    margin: 0; }
    .products-page-text p + p {
      margin-top: 1em; }
  @media (max-width: 768px) {
    .products-page-text {
      margin: 2.4rem 0 3rem; } }

.product-items-wrap .woof_products_top_panel {
  display: none !important; }

.product-items-wrap .woocommerce-result-count {
  display: none !important; }

.product-items-wrap .woocommerce-ordering {
  display: none !important; }

/************************************
****  END Products page
************************************/
/************************************
****  News page
************************************/
.news-list-wrap {
  max-width: 994px;
  margin: auto;
  padding: 9.5rem 6rem 8rem 9.5rem;
  background: #fff;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 960px) {
    .news-list-wrap {
      padding: 0 0 5.6rem; } }
  @media (max-width: 768px) {
    .news-list-wrap {
      flex-wrap: wrap; } }

.news-list {
  width: 56%; }
  @media (max-width: 768px) {
    .news-list {
      width: 100%;
      order: 2;
      margin: 5.6rem 0 0; } }

.news-search {
  width: 29.2%; }
  @media (max-width: 768px) {
    .news-search {
      width: 100%;
      order: 1; } }

.news-list-items {
  position: relative; }
  .news-list-items:before {
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -13.5%;
    background: rgba(196, 196, 196, 0.5); }

.search-list-wrap {
  max-width: 860px;
  margin: auto;
  padding: 9.5rem 6rem 8rem 6rem; }
  .search-list-wrap .news-list {
    width: 100%; }

.search-list-wrap .news-list-items:before {
  display: none; }

.news-item {
  position: relative; }
  .news-item + .news-item {
    margin-top: 4.5rem; }
  .news-item__title {
    margin: 0;
    font-weight: 500;
    font-size: 3rem;
    color: #272727;
    line-height: 1.4; }
    @media (max-width: 768px) {
      .news-item__title {
        font-size: 2.5rem; } }
  .news-item__excerpt {
    margin: 2rem 0 0;
    font-weight: 300;
    font-size: 1.5rem;
    color: #3F3F3F; }
    .news-item__excerpt p {
      margin: 0; }
    @media (max-width: 768px) {
      .news-item__excerpt {
        font-size: 1.4rem; } }
  .news-item__link {
    display: inline-block;
    margin: 1.5rem 0 0;
    padding: 0.4rem 0 0;
    text-decoration: none;
    font-weight: 500;
    font-size: 1.5rem;
    color: #21416E;
    line-height: 1;
    transition: color 0.25s ease; }
    @media (max-width: 768px) {
      .news-item__link {
        font-size: 1.4rem; } }
    .news-item__link i {
      display: block;
      height: 2px;
      width: 100%;
      margin: 0.4rem 0 0;
      background: #21416E;
      transition: background 0.25s ease; }
    .news-item__link:before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .news-item__link:hover {
      color: #4766B3; }
      .news-item__link:hover i {
        background: #4766B3; }

.instruction-item + .instruction-item {
  margin-top: 5.5rem; }

.search-wrap {
  position: relative;
  font-size: 1.5rem;
  color: #3F3F3F; }
  .search-wrap form {
    display: block;
    width: 100%; }
  .search-wrap input[type="text"] {
    display: block;
    width: 100%;
    padding: 1rem 0;
    outline: none;
    border: none;
    border-bottom: 1px solid #C5C5C5;
    transition: all 0.25s ease;
    border-radius: 0; }
    .search-wrap input[type="text"]:focus {
      border-bottom-color: #3F3F3F; }
  .search-wrap [type="submit"] {
    position: absolute;
    border: none;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
    width: 1.4rem;
    height: 1.5rem;
    box-sizing: content-box;
    padding: 0.5rem;
    background-image: url(../img/icon-search.svg);
    background-color: transparent;
    background-size: 1.4rem;
    background-position: center;
    background-repeat: no-repeat;
    transition: all 0.25s ease;
    will-change: opacity;
    cursor: pointer;
    font-size: 0; }
    .search-wrap [type="submit"]:hover {
      opacity: 0.6; }

.search-results {
  padding: 4rem 0 0; }
  .search-results .news-item {
    position: relative; }
    .search-results .news-item + .news-item {
      margin-top: 3.5rem; }
    .search-results .news-item__title {
      font-size: 1.8rem; }
      @media (max-width: 768px) {
        .search-results .news-item__title {
          font-size: 2.5rem; } }
    .search-results .news-item__excerpt {
      margin: 1.2rem 0 0;
      font-size: 1.2rem; }
      @media (max-width: 768px) {
        .search-results .news-item__excerpt {
          font-size: 1.4rem; } }
    .search-results .news-item__link {
      margin: 1rem 0 0;
      padding: 0.4rem 0 0;
      font-size: 1.2rem; }
      .search-results .news-item__link i {
        height: 1px;
        margin: 0.4rem 0 0; }
      @media (max-width: 768px) {
        .search-results .news-item__link {
          font-size: 1.4rem; } }

.news-content-wrap {
  max-width: 800px;
  margin: auto;
  padding: 9.2rem 9.6rem 10rem;
  background: #fff; }
  @media (max-width: 960px) {
    .news-content-wrap {
      padding: 0 0rem 5.6rem; } }

.news-content-title {
  margin: 0 0 5.6rem;
  font-weight: 500;
  font-size: 3rem;
  color: #272727;
  line-height: 1.2; }
  @media (max-width: 768px) {
    .news-content-title {
      font-size: 2.5rem;
      line-height: 3.2rem;
      margin: 0 0 4rem; } }

.news-content {
  font-weight: 300;
  font-size: 1.5rem;
  color: #3F3F3F; }
  .news-content p {
    margin: 1.5em 0; }

/************************************
****  END News page
************************************/
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto; }
  .embed-container.map-container {
    padding-bottom: 100%; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImJhc2Uvbm9ybWFsaXplLnNjc3MiLCJiYXNlL2ZvbnRzLnNjc3MiLCJiYXNlL3ZhcmlhYmxlcy5zY3NzIiwidmVuZG9yL3NsaWNrLnNjc3MiLCJ2ZW5kb3IvZmFuY3lib3guc2NzcyIsInBhcnRzL2hlYWRlci5zY3NzIiwicGFydHMvZm9vdGVyLnNjc3MiLCJwYXJ0cy9oZXJvLnNjc3MiLCJwYXJ0cy9jb250YWN0LWZvcm0uc2NzcyIsInBhcnRzLzQwNC5zY3NzIiwicGFydHMvaW5mby1wYWdlcy5zY3NzIiwicGFydHMvaW5zdHJ1Y3Rpb25zLnNjc3MiLCJwYXJ0cy93b28tc2luZ2xlLXByb2R1Y3Quc2NzcyIsInBhcnRzL3dvb2NvbW1lcmNlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImJhc2Uvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYmFzZS9mb250c1wiO1xuQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG5cblxuQGltcG9ydCBcInZlbmRvci9zbGlja1wiO1xuQGltcG9ydCBcInZlbmRvci9mYW5jeWJveFwiO1xuXG5cbkBpbXBvcnQgXCJwYXJ0cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJwYXJ0cy9mb290ZXJcIjtcblxuQGltcG9ydCBcInBhcnRzL2hlcm9cIjtcbkBpbXBvcnQgXCJwYXJ0cy9jb250YWN0LWZvcm1cIjtcbkBpbXBvcnQgXCJwYXJ0cy80MDRcIjtcbkBpbXBvcnQgXCJwYXJ0cy9pbmZvLXBhZ2VzXCI7XG5AaW1wb3J0IFwicGFydHMvaW5zdHJ1Y3Rpb25zXCI7XG5AaW1wb3J0IFwicGFydHMvd29vLXNpbmdsZS1wcm9kdWN0XCI7XG5AaW1wb3J0IFwicGFydHMvd29vY29tbWVyY2VcIjtcblxuXG5cblxuXG5cblxuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICBjb2xvcjogIzNGM0YzRjtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICYuc2Nyb2xsLW9mZiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICYuc2VhcmNoLXJlc3VsdHMge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm1haW4td3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogMCAwIDE0cmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNHJlbTtcbiAgICB9XG59XG5cbi5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTEyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDZyZW07XG4gICAgLy9mb250LXNpemU6IDdyZW07XG4gICAgZm9udC1zaXplOiA0LjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjRyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBmb250LXNpemU6IDQuNHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIH1cbn1cbi5wYWdlLXRpdGxlLS13aGl0ZSB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07XG4gICAgKyAuc2VjdGlvbiB7XG5cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1LjZyZW07XG4gICAgfVxufVxuXG4ubGFuZy1zd2l0Y2hlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC0xLjFyZW07XG4gICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRDNERUYyO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmN1cnJlbnQtbGFuZyB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogI0QzREVGMjtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKioqICBCdXR0b25zIHN0eWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmJ1dHRvbixcbi5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMC41cmVtIDEuMXJlbSAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBjb2xvcjogIzIxNDE2RTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMjE0MTZFO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzIxNDE2RTtcbiAgICB9XG4gICAgJjpkaXNhYmxlZCxcbiAgICAmLmRpc2FibGVke1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAvL2NvbG9yOiAjMjE0MTZFO1xuICAgICAgICBjb2xvcjogI2ViZTllYjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWJlOWViO1xuICAgIH1cbn1cbi5idXR0b24tLXdoaXRlLFxuLmJ0bi0td2hpdGUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjMjE0MTZFO1xuICAgIH1cbn1cblxuLmJ0bi0tYmFjay10by1zaG9wIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLmJ0bi0tdXBkYXRlLWNhcnQge1xuXG59XG4uYnRuLS1jaGVja291dCB7XG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKioqKiAgRU5EIEJ1dHRvbnMgc3R5bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuXG4ucGFnZS1oZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoODkuN2RlZywgIzIxNDE2RSAyNC4zOSUsICM0NzY2QjMgMTA2LjYxJSk7XG4gICAgLmNvbnRhaW5lciB7XG5cbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjZyZW07XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDcwcmVtO1xuICAgIH1cbiAgICAmLndpdGgtdGl0bGUge1xuICAgICAgICAucGFnZS1oZWFkX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVyZW07XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNnJlbTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBhZ2UtaGVhZF9fcmlnaHQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmX19jYXJ0LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUuNnJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC43cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmluZGljYXRvciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMC4zcmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNCMDAwMDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19saW5rLWJhY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhbmctc3dpdGNoZXIge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5icmVhZGNydW1icyB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07XG4gICAgJi5wYWdlLW5ld3MsXG4gICAgJi5wYWdlLWluZm8ge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNS42cmVtO1xuICAgIH1cbn1cbi5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnJlbTtcbiAgICAgICAgY29sb3I6ICM5QzlDOUM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTUlO1xuICAgICAgICAgICAgcmlnaHQ6IC00cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMi4zcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb24tYXJyb3ctbGVmdC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4ge1xuXG4gICAgfVxufVxuXG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKioqICBIb21lcGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNlY3Rpb24tcHJvZHVjdHMge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNDguNSU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDQyJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE0MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNDclO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3RzLXNsaWRlciB7XG5cbn1cbi5wcm9kdWN0cy1zbGlkZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjMuMiU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdHMtdGV4dC1zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9kdWN0cy1zbGlkZXItYXJyb3dzIHtcblxufVxuLnByb2R1Y3RzLXNsaWRlci1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTlyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLTZyZW07XG4gICAgfVxuICAgICYucHJldiB7XG4gICAgICAgIGxlZnQ6IC0wLjU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICAgICYubmV4dCB7XG4gICAgICAgIGxlZnQ6IDguNXJlbTtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDMuN3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogIzIxNDE2RTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICM4NTg1ODUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogIzQ3NjZCMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy10ZXh0LXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTAuOHJlbTtcbiAgICAucHJvZHVjdHMtdGV4dC1zbGlkZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9kdWN0cy10ZXh0LXNsaWRlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDQuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2NyaXAge1xuICAgICAgICBtYXJnaW46IDQuNXJlbSAwIDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIGNvbG9yOiAjM0YzRjNGO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDNyZW0gMCAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvZHVjdHMtc2xpZGVyLW5hdiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogN3JlbTtcbiAgICB9XG59XG4ucHJvZHVjdHMtc2xpZGVyLW5hdi1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMCAwO1xuICAgIG1hcmdpbjogM3JlbSAwIDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBjb2xvcjogIzIxNDE2RTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzLjRyZW07XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogIzIxNDE2RTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICM4NTg1ODU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4NTg1ODU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjODU4NTg1O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjODU4NTg1O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLnNlY3Rpb24tYmVuZWZpdHMge1xuICAgIG1hcmdpbjogNS41cmVtIDAgMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG5cbiAgICB9XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTkuMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5iZW5lZml0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiA3cmVtIDAgMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cbi5iZW5lZml0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIC8vd2lkdGg6IDM1LjVyZW07XG4gICAgd2lkdGg6IDMxLjclO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjQuOCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2ODY4Njg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAzLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDJyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vJjpmaXJzdC1jaGlsZCB7XG4gICAgLy8gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLy8gICAgICAgIC5iZW5lZml0X19pbWFnZSB7XG4gICAgLy8gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgICAgICAuYmVuZWZpdF9fdGl0bGUge1xuICAgIC8vICAgICAgICAgICAgbWFyZ2luOiAtMnJlbSAwIDNyZW07XG4gICAgLy8gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvL31cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmJlbmVmaXRfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMnJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYmVuZWZpdF9fdGl0bGUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNy40cmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi5zZWN0aW9uLXNhbGUge1xuICAgIG1hcmdpbjogLTAuNXJlbSAwIDA7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbi5wcm9kdWN0LWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvL21hcmdpbjogMCAtMS40cmVtO1xuICAgIG1hcmdpbjogMDtcbn1cbi5wcm9kdWN0LWl0ZW0ge1xuICAgIC8vd2lkdGg6IDM1LjRyZW07XG4gICAgd2lkdGg6IDMxLjYlO1xuICAgIC8vbWFyZ2luOiAwIDEuNHJlbSAyLjhyZW07XG4gICAgbWFyZ2luOiAwIDAgMi44cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAyLjYlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgICY6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogNCUgIWltcG9ydGFudDtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMy41cmVtIDMuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjgwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgLTJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAmLm1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMy42cmVtO1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDIuNXJlbSAwIDVyZW07XG4gICAgICAgIC8vd2lkdGg6IDI0LjVyZW07XG4gICAgICAgIC8vaGVpZ2h0OiAyNC41cmVtO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA4Ni4zJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg2LjMlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY4MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kZXNjcmlwdGlvbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogIzNGM0YzRjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jaGFyYWN0ZXJpc3RpYyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBjb2xvcjogIzNGM0YzRjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiAyLjVyZW0gMCAwO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKioqKiAgRU5EIEhvbWVwYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKioqKiAgQWJvdXQgVXMgcGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNlY3Rpb24tYWJvdXQtdXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEwcmVtIGF1dG8gMDtcbiAgICBwYWRkaW5nOiA3LjJyZW0gOS42cmVtIDkuNnJlbTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg4OS44NWRlZywgIzIxNDE2RSAwLjE0JSwgIzQ3NjZCMyA5OS45MSUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIHBhZGRpbmc6IDdyZW0gMjRweCAxMXJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDUuNXJlbSAyNHB4IDUuNnJlbTtcbiAgICAgICAgbWFyZ2luOiA1LjZyZW0gMCAwO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIGJvdHRvbTogMS41cmVtO1xuICAgICAgICB3aWR0aDogMTEuOHJlbTtcbiAgICAgICAgaGVpZ2h0OiAxMi4ycmVtO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Nvcm5lci1kZWNvci5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogNy40cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA3LjRyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbjogNS41cmVtIDAgMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiAjQzVDNUM1O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMuNHJlbSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgKyBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiA2cmVtIDAgMDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjM0YzRjNGO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgIH1cbn1cbi5zZWN0aW9uLWNlcnRpZmljYXRlcyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogOTNyZW07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjNyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS40cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuLnNsaWRlci1jZXJ0aWZpY2F0ZXMtYXJyb3dzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtNXJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cbi5zbGlkZXItY2VydGlmaWNhdGVzLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycmVtO1xuICAgIHJpZ2h0OiA0cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICAgICYucHJldiB7XG4gICAgICAgIHJpZ2h0OiAxMHJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gICAgJi5uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDNyZW07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDMuN3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogIzIxNDE2RTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMy42cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICM4NTg1ODUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogIzQ3NjZCMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2xpZGVyLWNlcnRpZmljYXRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMjAwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE2NHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSArIDguNXJlbSk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTY0cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDguNXJlbSk7XG4gICAgfVxuICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTY0cHgpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc2xpZGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogMjZyZW07XG4gICAgICAgIG1hcmdpbjogOC41cmVtO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE2NHB4KSB7XG4gICAgICAgICAgICAvL21hcmdpbjogNHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgICAgICAgbWFyZ2luOiBjYWxjKCgyNXZ3IC0gNDhweCkvNCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQ4cHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NlcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTE2NHB4KSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLnNlY3Rpb24tY2F0YWxvZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiA3cmVtIDAgMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGVmdCB7XG4gICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDUzJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAzLjJyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwIDEuNXJlbSAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24tY2F0YWxvZ19fYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MyU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDcwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogLTFyZW0gMCAwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW46IDVyZW0gMCAwO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIG1hcmdpbjogM3JlbSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICArIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19idXR0b24ge1xuICAgICAgICBtYXJnaW46IDQuMnJlbSAwIDA7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqKiogIEVORCBBYm91dCBVcyBwYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbioqKiogIEZhbmN5Ym94IHN0eWxlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmZhbmN5Ym94LWJnIHtcbiAgICBiYWNrZ3JvdW5kOiAjODk4OTg5O1xufVxuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5mYW5jeWJveC1idXR0b24tLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycmVtO1xuICAgIHJpZ2h0OiAycmVtO1xuICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByZWN0IHtcbiAgICAgICAgICAgIGZpbGw6ICM0NjY1YjA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICNGQjk1MDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIHtcbiAgICAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCxcbiAgICAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB3aWR0aDogMy43cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzQ2NjViMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogI0ZCOTUwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjNDY2NWIwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgICAgICAgbGVmdDogMS4ycmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKioqKiBFTkQgRmFuY3lib3ggc3R5bGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKioqKiAgUHJvZHVjdHMgcGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnByb2R1Y3RzLWNhdGVnb3JpZXMge1xuICAgIG1hcmdpbjogMCAwIDkuNXJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNS41cmVtO1xuICAgIH1cblxuICAgIC53aWRnZXQuV09PRl9XaWRnZXQge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAud2lkZ2V0dGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC53b29mX2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLndvb2Zfc3VibWl0X3NlYXJjaF9mb3JtX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC53b29mX2NvbnRhaW5lcl9wcm9kdWN0X2NhdCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zaXRpb247XG4gICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIC53b29mX2xpc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTk5OXB4O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC53b29mX3JhZGlvX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMTQxNkU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjE0MTZFO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICYud29vZl9yYWRpb19sYWJlbF9zZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjODU4NTg1O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4NTg1ODU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzg1ODU4NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjODU4NTg1O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC53b29mX3JhZGlvX2NvdW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLndvb2ZfcmFkaW9fdGVybV9yZXNldCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi5wcm9kdWN0cy1jYXRlZ29yaWVzLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDAgMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjE0MTZFO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMuNHJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzIxNDE2RTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzg1ODU4NTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4NTg1ODU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM4NTg1ODU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjODU4NTg1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9kdWN0cy1wYWdlLXRleHQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDNyZW0gMCAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgKyBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbjogMi40cmVtIDAgM3JlbTtcbiAgICB9XG59XG4ucHJvZHVjdC1pdGVtcy13cmFwIHtcbiAgICAud29vZl9wcm9kdWN0c190b3BfcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1vcmRlcmluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKioqICBFTkQgUHJvZHVjdHMgcGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKioqKiAgTmV3cyBwYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubmV3cy1saXN0LXdyYXAge1xuICAgIG1heC13aWR0aDogOTk0cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDkuNXJlbSA2cmVtIDhyZW0gOS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDUuNnJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxufVxuLm5ld3MtbGlzdCB7XG4gICAgd2lkdGg6IDU2JTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luOiA1LjZyZW0gMCAwO1xuICAgIH1cbn1cbi5uZXdzLXNlYXJjaCB7XG4gICAgd2lkdGg6IDI5LjIlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cbn1cbi5uZXdzLWxpc3QtaXRlbXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0xMy41JTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxOTYsIDE5NiwgMTk2LCAwLjUpO1xuICAgIH1cbn1cbi5zZWFyY2gtbGlzdC13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiA5LjVyZW0gNnJlbSA4cmVtIDZyZW07XG4gICAgLm5ld3MtbGlzdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi5zZWFyY2gtbGlzdC13cmFwIC5uZXdzLWxpc3QtaXRlbXM6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLm5ld3MtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICsgLm5ld3MtaXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQuNXJlbTtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2V4Y2VycHQge1xuICAgICAgICBtYXJnaW46IDJyZW0gMCAwO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMS41cmVtIDAgMDtcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAgMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICMyMTQxNkU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMC40cmVtIDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMTQxNkU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNDc2NkIzO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzQ3NjZCMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5pbnN0cnVjdGlvbi1pdGVtIHtcbiAgICArIC5pbnN0cnVjdGlvbi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNS41cmVtO1xuICAgIH1cbn1cblxuLm5ld3MtcGFnaW5hdGlvbiB7XG5cbn1cblxuLnNlYXJjaC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M1QzVDNTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNGM0YzRjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB3aWR0aDogMS40cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uLXNlYXJjaC5zdmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjRyZW07XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2VhcmNoLXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDRyZW0gMCAwO1xuICAgIC5uZXdzLWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICsgLm5ld3MtaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgICBtYXJnaW46IDEuMnJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuNHJlbSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXdzLWNvbnRlbnQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogOS4ycmVtIDkuNnJlbSAxMHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDByZW0gNS42cmVtO1xuICAgIH1cbn1cblxuLm5ld3MtY29udGVudC10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgNS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTtcbiAgICB9XG59XG4ubmV3cy1jb250ZW50IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjM0YzRjNGO1xuICAgIHAge1xuICAgICAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qKioqICBFTkQgTmV3cyBwYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuXG5cblxuXG5cbi5lbWJlZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAmLm1hcC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICB9XG59XG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuXG5cblxuXG5cblxuXG4iLCIvKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBmb250LWRpc3BsYXk6IGF1dG87XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1yZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9yb2JvdG8tcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8tcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gICAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9yb2JvdG8taXRhbGljLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9yb2JvdG8taXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8taXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8taXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBmb250LWRpc3BsYXk6IGF1dG87XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1saWdodC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8tbGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBmb250LWRpc3BsYXk6IGF1dG87XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1saWdodGl0YWxpYy5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0aXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8tbGlnaHRpdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0aXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLWxpZ2h0aXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgICBmb250LWRpc3BsYXk6IGF1dG87XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1tZWRpdW0uZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1tZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1tZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLW1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1tZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIGZvbnQtZGlzcGxheTogYXV0bztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLW1lZGl1bWl0YWxpYy5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLW1lZGl1bWl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLW1lZGl1bWl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8tbWVkaXVtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLW1lZGl1bWl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gICAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9yb2JvdG8tYm9sZC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLWJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1ib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1ib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLWJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICAgIGZvbnQtZGlzcGxheTogYXV0bztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcm9ib3RvLWJvbGRpdGFsaWMuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3JvYm90by1ib2xkaXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8tYm9sZGl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9yb2JvdG8tYm9sZGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by1ib2xkaXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbiIsIiRicmVha3BvaW50LW1vYmlsZTogNzY4cHg7IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiYm9keS5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYW5jeWJveC1hY3RpdmUge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5Mjtcbn1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZmFuY3lib3gtb3V0ZXIsXG4uZmFuY3lib3gtaW5uZXIsXG4uZmFuY3lib3gtYmcsXG4uZmFuY3lib3gtc3RhZ2Uge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG59XG5cbi5mYW5jeWJveC1vdXRlciB7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5mYW5jeWJveC1iZyB7XG4gICAgYmFja2dyb3VuZDogcmdiKDMwLCAzMCwgMzApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjQ3LCAwLCAuNzQsIC43MSk7XG59XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG4gICAgb3BhY2l0eTogLjk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjIsIC42MSwgLjM2LCAxKTtcbn1cblxuLmZhbmN5Ym94LWluZm9iYXIsXG4uZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1jYXB0aW9uLFxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UsIHZpc2liaWxpdHkgMHMgZWFzZSAuMjVzO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA5OTk5Nztcbn1cblxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC1zaG93LXRvb2xiYXIgLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLFxuLmZhbmN5Ym94LXNob3ctbmF2IC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UgMHMsIHZpc2liaWxpdHkgMHMgZWFzZSAwcztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgIG1pbi13aWR0aDogNDRweDtcbiAgICBtaXgtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZmFuY3lib3gtdG9vbGJhciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4uZmFuY3lib3gtc3RhZ2Uge1xuICAgIGRpcmVjdGlvbjogbHRyO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB6LWluZGV4OiA5OTk5NDtcbn1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LXN0YWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIFVzaW5nIHdpdGhvdXQgcHJlZml4IHdvdWxkIGJyZWFrIElFMTEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHBhZGRpbmc6IDQ0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTQ7XG59XG5cbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAwO1xufVxuXG4uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA0NHB4IDA7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2U6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS1odG1sIHtcbiAgICBwYWRkaW5nOiA2cHg7XG59XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBwYWRkaW5nOiA0NHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNSwgMCwgLjE0LCAxKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgei1pbmRleDogOTk5OTU7XG59XG5cbi5mYW5jeWJveC1jYW4tem9vbU91dCAuZmFuY3lib3gtY29udGVudCB7XG4gICAgY3Vyc29yOiB6b29tLW91dDtcbn1cblxuLmZhbmN5Ym94LWNhbi16b29tSW4gLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLmZhbmN5Ym94LWNhbi1zd2lwZSAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1jYW4tcGFuIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG59XG5cbi5mYW5jeWJveC1pcy1ncmFiYmluZyAuZmFuY3lib3gtY29udGVudCB7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5mYW5jeWJveC1jb250YWluZXIgW2RhdGEtc2VsZWN0YWJsZT0ndHJ1ZSddIHtcbiAgICBjdXJzb3I6IHRleHQ7XG59XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tcGRmIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2U1ZTNkZjtcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5mYW5jeWJveC12aWRlbyxcbi5mYW5jeWJveC1pZnJhbWUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogRml4IGlPUyAqL1xuLmZhbmN5Ym94LWlmcmFtZSB7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xufVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZhbmN5Ym94LWVycm9yIHAge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogQnV0dG9ucyAqL1xuXG4uZmFuY3lib3gtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMCwgMzAsIC42KTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB2aXNpYmlsaXR5OiBpbmhlcml0O1xuICAgIHdpZHRoOiA0NHB4O1xufVxuXG4uZmFuY3lib3gtYnV0dG9uLFxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcbiAgICBjb2xvcjogI2NjYztcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5mYW5jeWJveC1idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtZm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG59XG5cbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdLFxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF06aG92ZXIge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBGaXggSUUxMSAqL1xuLmZhbmN5Ym94LWJ1dHRvbiBkaXYge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1idXR0b24gc3ZnIHBhdGgge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnOm50aC1jaGlsZCgyKSxcbi5mYW5jeWJveC1idXR0b24tLWZzZW50ZXIgc3ZnOm50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2Ugc3ZnOm50aC1jaGlsZCgxKSxcbi5mYW5jeWJveC1idXR0b24tLWZzZXhpdCBzdmc6bnRoLWNoaWxkKDEpIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmFuY3lib3gtcHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQ6ICNmZjUyNjg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIHotaW5kZXg6IDk5OTk4O1xufVxuXG4vKiBDbG9zZSBidXR0b24gb24gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgaHRtbCBjb250ZW50ICovXG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC44O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xMnB4O1xuICAgIHRvcDogLTQ0cHg7XG4gICAgei1pbmRleDogNDAxO1xufVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taHRtbCAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UuZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1wYW4gLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xuICAgIHdpZHRoOiA3MHB4O1xufVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIGRpdiB7XG4gICAgcGFkZGluZzogN3B4O1xufVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIGxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgcGFkZGluZzogMzFweCAyNnB4IDMxcHggNnB4O1xufVxuXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCB7XG4gICAgcGFkZGluZzogMzFweCA2cHggMzFweCAyNnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbn1cblxuLyogQ2FwdGlvbiAqL1xuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAuODUpIDAlLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIC4zKSA1MCUsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjE1KSA2NSUsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjA3NSkgNzUuNSUsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgLjAzNykgODIuODUlLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIC4wMTkpIDg4JSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICNlZWU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGVmdDogMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmc6IDc1cHggNDRweCAyNXB4IDQ0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5OTk2O1xufVxuXG4uZmFuY3lib3gtY2FwdGlvbi0tc2VwYXJhdGUge1xuICAgIG1hcmdpbi10b3A6IC01MHB4O1xufVxuXG4uZmFuY3lib3gtY2FwdGlvbl9fYm9keSB7XG4gICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYTpsaW5rLFxuLmZhbmN5Ym94LWNhcHRpb24gYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mYW5jeWJveC1jYXB0aW9uIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBMb2FkaW5nIGluZGljYXRvciAqL1xuXG4uZmFuY3lib3gtbG9hZGluZyB7XG4gICAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICM4ODg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICB6LWluZGV4OiA5OTk5OTtcbn1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXG5cbi5mYW5jeWJveC1hbmltYXRlZCB7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAuMjUsIDEpO1xufVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBzbGlkZSAqL1xuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGZhZGUgKi9cblxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG59XG5cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB6b29tLWluLW91dCAqL1xuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbn1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNSwgLjUsIC41KTtcbn1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbn1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbn1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xufVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB0dWJlICovXG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoLjEpIHNrZXcoLTEwZGVnKTtcbn1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpO1xufVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcbn1cblxuLyogU3R5bGluZyBmb3IgU21hbGwtU2NyZWVuIERldmljZXMgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtaGVpZ2h0OiA1NzZweCkge1xuICAgIC5mYW5jeWJveC1zbGlkZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gICAgICAgIHJpZ2h0OiAtNnB4O1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzRlNGU0ZTtcbiAgICAgICAgY29sb3I6ICNmMmY0ZjY7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtY2FwdGlvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICB9XG59XG4vKiBTaGFyZSAqL1xuXG4uZmFuY3lib3gtc2hhcmUge1xuICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmFuY3lib3gtc2hhcmUgaDEge1xuICAgIGNvbG9yOiAjMjIyO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cblxuLmZhbmN5Ym94LXNoYXJlIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIDVweCAxMHB4IDVweDtcbiAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOnZpc2l0ZWQsXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpsaW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I1OTk4O1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tZmI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzNDRlODY7XG59XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdCB7XG4gICAgYmFja2dyb3VuZDogI2JkMDgxZDtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWEwNzE5O1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHcge1xuICAgIGJhY2tncm91bmQ6ICMxZGExZjI7XG59XG5cbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzBkOTVlODtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAyNXB4O1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XG4gICAgZmlsbDogI2ZmZjtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDdkN2Q3O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICM1ZDViNWI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi8qIFRodW1icyAqL1xuXG4uZmFuY3lib3gtdGh1bWJzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgcGFkZGluZzogMnB4IDJweCA0cHggMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyMTJweDtcbiAgICB6LWluZGV4OiA5OTk5NTtcbn1cblxuLmZhbmN5Ym94LXRodW1icy14IHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC10aHVtYnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICByaWdodDogMjEycHg7XG59XG5cbi5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYW5jeWJveC10aHVtYnMteCAuZmFuY3lib3gtdGh1bWJzX19saXN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5mYW5jeWJveC10aHVtYnMteSAuZmFuY3lib3gtdGh1bWJzX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAuMyk7XG59XG5cbi5mYW5jeWJveC10aHVtYnMteSAuZmFuY3lib3gtdGh1bWJzX19saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogIzJhMmEyYTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIG1hcmdpbjogMnB4O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDRweCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiA2cHggc29saWQgI2ZmNTI2ODtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgICB6LWluZGV4OiA5OTk5MTtcbn1cblxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhOmZvY3VzOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IC41O1xufVxuXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGEuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICAgICAgICByaWdodDogMTEwcHg7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cbi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA3LjJyZW0gMCAwO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgcGFkZGluZzogNXJlbSAwIDA7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNnJlbTtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAvL3dpZHRoOiAxOS40cmVtO1xuICAgICAgICAvL2hlaWdodDogMy43cmVtO1xuICAgICAgICB3aWR0aDogMjZyZW07XG4gICAgICAgIGhlaWdodDogNXJlbTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2xvZ28tbWFpbi5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgIC8vd2lkdGg6IDEyLjJyZW07XG4gICAgICAgICAgICAvL2hlaWdodDogMi4zcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDE4cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZW51LWJ0biB7XG4gICAgLy93aWR0aDogMjZweDtcbiAgICAvL2hlaWdodDogMjZweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IC0xMHB4IC0xMHB4IC0xMHB4IDA7XG4gICAgLy9ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xuICAgIC8vQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLy8gICAgd2lkdGg6IDIycHg7XG4gICAgLy8gICAgaGVpZ2h0OiAyMnB4O1xuICAgIC8vfVxuICAgIC5saW5lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDNERUYyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4yNXMgZWFzZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgJjpudGgtY2hpbGQoMSl7XG4gICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMil7XG4gICAgICAgICAgICB0b3A6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy9zcGFuIHtcbiAgICAvLyAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgdG9wOiAxMHB4O1xuICAgIC8vICAgIGxlZnQ6IDEwcHg7XG4gICAgLy8gICAgd2lkdGg6IDI2cHg7XG4gICAgLy8gICAgaGVpZ2h0OiAyNnB4O1xuICAgIC8vICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAvLyAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAvLyAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAvLyAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgLy8gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAvLyAgICB9XG4gICAgLy8gICAgc3ZnIHtcbiAgICAvLyAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgICAgIHJlY3Qge1xuICAgIC8vICAgICAgICAgICAgZmlsbDogI0QzREVGMjtcbiAgICAvLyAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4yNXMgZWFzZTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvLyAgICAmLmluaXRpYWwge1xuICAgIC8vICAgICAgICBvcGFjaXR5OiAxO1xuICAgIC8vICAgIH1cbiAgICAvLyAgICAmLmNyb3NzIHtcbiAgICAvLyAgICAgICAgb3BhY2l0eTogMDtcbiAgICAvLyAgICB9XG4gICAgLy99XG4gICAgJi5hY3RpdmUge1xuICAgICAgICAvL3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vc3BhbiB7XG4gICAgICAgIC8vICAgICYuaW5pdGlhbCB7XG4gICAgICAgIC8vICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAvLyAgICB9XG4gICAgICAgIC8vICAgICYuY3Jvc3Mge1xuICAgICAgICAvLyAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLy8gICAgfVxuICAgICAgICAvL31cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgLmxpbmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOWViYmYyO1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vc3BhbiB7XG4gICAgICAgICAgICAgICAgLy8gICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICBmaWxsOiAjRkI5NTAwO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAubGluZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzllYmJmMjtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9zcGFuIHtcbiAgICAgICAgICAgIC8vICAgIHN2ZyB7XG4gICAgICAgICAgICAvLyAgICAgICAgcmVjdCB7XG4gICAgICAgICAgICAvLyAgICAgICAgICAgIGZpbGw6ICM5ZWJiZjI7XG4gICAgICAgICAgICAvLyAgICAgICAgfVxuICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudUZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnJlbSwgMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIG1lbnVGYWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgfVxufVxuLm1haW4tbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgei1pbmRleDogMTA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzIxNDE2RSAwJSwgIzQ3NjZCMyAxMDAlKTtcblxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOC40cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDglO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOCU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3NXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaW1hcnkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICsgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjNyZW07XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS44cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkI5NTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkI5NTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NlY29uZGFyeSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NiU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMuOHJlbTtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZCOTUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZCOTUwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhbmctc3dpdGNoZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzc1cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICAgIC5tYWluLW1lbnVfX3ByaW1hcnkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1lbnVGYWRlT3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgICAgICAubWFpbi1tZW51X19zZWNvbmRhcnkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1lbnVGYWRlT3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDAlLCAwKTtcbiAgICAgICAgLm1haW4tbWVudV9fcHJpbWFyeSB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogbWVudUZhZGVJbjtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgICAgLm1haW4tbWVudV9fc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtZW51RmFkZUluO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjZzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cbi5mb290ZXIge1xuICAgIG1hcmdpbjogLTVyZW0gMCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiAjODk4OTg5O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEuN3JlbSAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29weSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgJl9fbWFkZS1ieSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogIzg5ODk4OTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cblxuLmhlcm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA3Mi4ycmVtO1xuICAgIGhlaWdodDogODJyZW07XG4gICAgLy9oZWlnaHQ6IDEwMHZoO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBoZWlnaHQ6IDY0cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgd2lkdGg6IDQ4Ljc1JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3JpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDUxLjI1JTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICB3aWR0aDogNDguNzUlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDY2JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTMzJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDExMjBweCkvMik7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyMTQxNkUgMCUsICM0NzY2QjMgMTAwJSk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MiU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLXN3aXRjaGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogNC41cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDkuNnJlbTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDYuNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMy42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAzLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmhlcm9fX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiA0JSAwIDA7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luOiAzLjVyZW0gMCAwO1xuICAgICAgICAvL21heC13aWR0aDogMjVyZW07XG4gICAgICAgIG1heC13aWR0aDogNDRyZW07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NhcnQtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA0LjRyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDAuN3JlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjdyZW07XG4gICAgICAgIC8vbWFyZ2luLXRvcDogNXJlbTtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAtN3JlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAzcmVtO1xuICAgICAgICAgICAgbGVmdDogMi4zcmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW5kaWNhdG9yIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYm90dG9tOiAwLjNyZW07XG4gICAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0IwMDAwMDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgaGVpZ2h0OiAyMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAxMTIwcHgpLzIpO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1MSU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0dnc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDE2cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIC8vaSB7XG4gICAgICAgICAgICAgICAgLy8gICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgICAgICAgIC8vICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMy4zcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDMuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi40cmVtO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS4ycmVtIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5cmVtO1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1vYmlsZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjhyZW07XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogLTQuNXJlbTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzRjNGM0O1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjNDc2NkIzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuaGVyby1hYm91dC11cyB7XG4gICAgICAgIC5oZXJvX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4uc2VjdGlvbi1jb250YWN0LWZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDcuM3JlbSBhdXRvIDA7XG4gICAgcGFkZGluZzogNy4ycmVtIDkuNnJlbSA5LjZyZW07XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoODkuODVkZWcsICMyMTQxNkUgMC4xNCUsICM0NzY2QjMgOTkuOTElKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICBib3R0b206IDEuNXJlbTtcbiAgICAgICAgd2lkdGg6IDExLjhyZW07XG4gICAgICAgIGhlaWdodDogMTIuMnJlbTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9jb3JuZXItZGVjb3Iuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDcuNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogNy40cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIHBhZGRpbmc6IDdyZW0gMjRweCAxMXJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDUuNXJlbSAyNHB4IDUuNnJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIG1hcmdpbjogNS42cmVtIDAgMDtcbiAgICB9XG5cbn1cblxuQGtleWZyYW1lcyBsb2FkZXJBbmltYXRpb24ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLmdyYW5kLWNvbnRhY3QtZm9ybSB7XG4gICAgbWFyZ2luOiA3cmVtIDAgMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAzLjVyZW0gMCAwO1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgfVxuICAgIC5jb250YWN0LWZvcm1fX2ZpZWxkcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLmxlZnQsXG4gICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICB3aWR0aDogNDQuNSU7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKyBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29udGFjdC1mb3JtX19pbnB1dCxcbiAgICAuY29udGFjdC1mb3JtX190ZXh0YXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzVDNUM1O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQzVDNUM1O1xuICAgICAgICB9XG4gICAgICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogI0M1QzVDNTtcbiAgICAgICAgfVxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogI0M1QzVDNTtcbiAgICAgICAgfVxuICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQzVDNUM1O1xuICAgICAgICB9XG4gICAgICAgICY6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICNDNUM1QzU7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgfVxuICAgICAgICAmLndwY2Y3LW5vdC12YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDAsIDAsIDAuNzUpO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmNvbnRhY3QtZm9ybV9faW5wdXQge1xuXG4gICAgfVxuICAgIC5jb250YWN0LWZvcm1fX3RleHRhcmVhIHtcbiAgICAgICAgaGVpZ2h0OiAxNC4zcmVtO1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgfVxuICAgIC5jb250YWN0LWZvcm1fX3N1Ym1pdCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogNC41cmVtIDAgMDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRpdi53cGNmNyAuYWpheC1sb2FkZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLW1lbnUuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlckFuaW1hdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgfVxuICAgIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG59XG4uaW5wdXQtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICsgLmlucHV0LXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgJi53cGNmNy12YWxpZGF0aW9uLWVycm9ycyB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuICAgICYud3BjZjctbWFpbC1zZW50LW9rIHtcbiAgICAgICAgY29sb3I6ICNGQjk1MDA7XG4gICAgfVxufVxuXG5cbi5jb250YWN0cyB7XG4gICAgbWFyZ2luOiA3LjNyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDAgMjUlIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGNvbG9yOiAjQzVDNUM1O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICB9XG4gICAgJl9fbGVmdCxcbiAgICAmX19yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIH1cbiAgICAmX19sZWZ0IHtcblxuICAgIH1cbiAgICAmX19yaWdodCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMy40cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuLmNvbnRhY3RzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiAyMC41cmVtO1xuICAgICsgLmNvbnRhY3RzLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDMuNHJlbSAwIDA7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS43cmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhLFxuICAgIGFkZHJlc3Mge1xuICAgICAgICBjb2xvcjogI0M1QzVDNTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgYS5zb2NpYWwge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAaW1wb3J0IFwiLi4vYmFzZS92YXJpYWJsZXNcIjtcblxuLnBhZ2UtNDA0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzIxNDE2RSAwJSwgIzQ3NjZCMyAxMDAlKTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA4cmVtO1xuICAgICAgICBib3R0b206IDhyZW07XG4gICAgICAgIHdpZHRoOiAyMC42cmVtO1xuICAgICAgICBoZWlnaHQ6IDIxLjJyZW07XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvY29ybmVyLWRlY29yLnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgYm90dG9tOiAzcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDE2cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNi40cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMS40cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMi4zcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA5cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAzLjdyZW0gMCAwO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDNyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4ucGFnZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG59XG4ucGFnZS1pbmZvLW5hdiB7XG4gICAgd2lkdGg6IDI2LjYlO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDIuN3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBjb2xvcjogIzQwNjRBRTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgICAmW2FyaWEtY3VycmVudF0ge1xuICAgICAgICAgICAgY29sb3I6ICM0MDY0QUU7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgKyBhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNDA2NEFFO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjJyZW07XG4gICAgICAgICAgICB3aWR0aDogNDYlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjE0MTZFO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMy40cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjE0MTZFO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjODU4NTg1O1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzg1ODU4NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGFnZS1pbmZvLWNvbnRlbnQge1xuICAgIHdpZHRoOiA2OC42JTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiA1LjZyZW0gOHJlbSA4cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1LjZyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNS42cmVtIDAgMDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgICAgICsgaDIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNDA2NEFFO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cblxuLmluc3RydWN0aW9ucy1saXN0LWl0ZW1zIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uaW5zdHJ1Y3Rpb24tY29udGVudCB7XG4gICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjM0YzRjNGO1xuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICArIC5pbnN0cnVjdGlvbi1jb250ZW50X19zZWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmLnRleHQtZWRpdG9yIHtcblxuICAgICAgICB9XG4gICAgICAgICYuZ2FsbGVyeSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLnRhYmxlIHtcblxuICAgICAgICB9XG4gICAgICAgICYudmlkZW8ge1xuXG4gICAgICAgIH1cbiAgICB9XG59XG4uaW5zdHJ1Y3Rpb24tdGFibGUtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmluc3RydWN0aW9uLXRhYmxlLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLmxlZnQsXG4gICAgLnJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDMuN3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjJyZW07XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzIxNDE2RTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogIzg1ODU4NTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAucmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNS42cmVtO1xuICAgIH1cbn1cbi5pbnN0cnVjdGlvbi10YWJsZS1pbm5lciB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG59XG4uaW5zdHJ1Y3Rpb24tdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzg1ODU4NTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIHRyIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBjb2xvcjogIzI3MjcyNztcblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGQUZCRkQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0VFRjFGODtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGQge1xuICAgICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U1RTVFNTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjlGQUZEO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U1RTVFNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICMyMTQxNkU7XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjMjcyNzI3O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgd2lkdGg6IDY0MHB4O1xuICAgIH1cbn1cblxuXG4uaW5zdHJ1Y3Rpb24tZ2FsbGVyeS13cmFwIHtcblxufVxuLmluc3RydWN0aW9uLWdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAtMy4ycmVtO1xuICAgICZfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogNDcuMzUlO1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjJyZW07XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogODAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDNEM0O1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG5cbi5wcm9kdWN0LWNvbnRlbnQge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDExMjBweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIH1cbn1cbi5wcm9kdWN0LWltYWdlLXdyYXAge1xuICAgIHdpZHRoOiA0My4zJTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuLnByb2R1Y3QtbWFpbi1pbmZvIHtcbiAgICB3aWR0aDogNDMlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgd2lkdGg6IDUyJTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi5wcm9kdWN0LWltYWdlLWlubmVyIHtcbiAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3dpZHRoOiAxMDAlO1xuICAgIC8vaGVpZ2h0OiAwO1xuICAgIC8vcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogNnJlbTtcbiAgICAud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IHtcbiAgICAvLyAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAvLyAgICAvL3dpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAvLyAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgcGFkZGluZzogNnJlbTtcbiAgICAvLyAgICB0b3A6IDA7XG4gICAgLy8gICAgbGVmdDogMDtcbiAgICAgICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeV9fdHJpZ2dlciB7XG4gICAgICAgICAgICB0b3A6IC00cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByaWdodDogLTRyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmxleC1jb250cm9sLW5hdi5mbGV4LWNvbnRyb2wtdGh1bWJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLy53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX3dyYXBwZXIge1xuICAgIC8vICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvL31cbiAgICAvLy53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnlfX2ltYWdlIHtcbiAgICAvLyAgICB3aWR0aDogMTAwJTtcbiAgICAvLyAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgPiBhIHtcbiAgICAvLyAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgLy8gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gICAgfVxuICAgIC8vICAgIGltZ3tcbiAgICAvLyAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLy8gICAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvLyAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAvLyAgICB9XG4gICAgLy99XG59XG5cblxuXG4ucHJvZHVjdC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzI3MjcyNztcbiAgICAmLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgICAmLm1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG59XG4ucHJvZHVjdC1wcmljZSB7XG4gICAgbWFyZ2luOiA0cmVtIDAgMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGNvbG9yOiAjMjc0NzYyO1xuICAgICYucHJvZHVjdC1wcmljZS12YXJpYWJsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxufVxuLnByb2R1Y3Qtc2hvcnQtZGVzY3JpcCB7XG4gICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjM0YzRjNGO1xuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuLnByb2R1Y3QtYWRkLXRvLWNhcnQtd3JhcCB7XG4gICAgbWFyZ2luOiA0LjRyZW0gMCAwO1xufVxuLnByb2R1Y3QtYWRkLXRvLWNhcnQtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBpbnB1dC5xdHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC40cmVtIDAuNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMy42cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5NiwgMTk2LCAxOTYsIDAuNSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMyMTQxNkU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvZHVjdC1hZGQtdG8tY2FydC1mb3JtLXZhcmlhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGlucHV0LnF0eSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwLjRyZW0gMC40cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjZyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk2LCAxOTYsIDE5NiwgMC41KTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzIxNDE2RTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC1hZGQtdG8tY2FydC1saW5rIHtcbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogIzIxNDE2RTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMyMTQxNkU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtdmFyaWF0aW9uLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICMyNzQ3NjIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9kdWN0LWFkZC10by1jYXJ0LWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cblxuXG5cbi5wcm9kdWN0LXNwZWMge1xuICAgIG1hcmdpbjogMTByZW0gMCAwO1xuICAgIHBhZGRpbmc6IDVyZW0gNnJlbSA2cmVtO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNC41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzLjVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpdmlkZXIge1xuICAgICAgICBtYXJnaW46IDQuNXJlbSAwO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTk2LCAxOTYsIDE5NiwgMC41KTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcbiAgICAgICAgcGFkZGluZzogNXJlbSAyLjRyZW0gNXJlbTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXNwZWMtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzNGM0YzRjtcbiAgICAvL2NvbHVtbi1jb3VudDogMztcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMC43cmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgd2lkdGg6IDU0JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIlO1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzIpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NiU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIC8vd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDExcmVtO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG4gICAgICAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcm9kdWN0LWZ1bGwtZGVzY3JpcCB7XG4gICAgbWFyZ2luOiA0LjVyZW0gMCAwO1xuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICsgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMjE0MTZFO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJvZHVjdC1jb250ZW50LWxpbmtzIHtcbiAgICBtYXJnaW46IC0wLjhyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDgwcHgpIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICM0NzY2QjM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG5cbi5wcm9kdWN0LXJldmlld3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMTByZW0gMCAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIG1hcmdpbjogNXJlbSAwIDA7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1SZXZpZXdzLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuI2NvbW1lbnRzIHtcbiAgICAuY29tbWVudHMtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuY29tbWVudGxpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIC5yZXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTk2LCAxOTYsIDE5NiwgMC41KTtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgICAgICAgICAuY29tbWVudC1hdXRob3Ige1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICMyNzQ3NjI7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGNpdGV7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nLmF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5zYXlzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tbWVudC1hd2FpdGluZy1tb2RlcmF0aW9uIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbW1lbnQtbWV0YSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVwbHkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMTQxNkU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuI2NvbW1lbnRmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xufVxuI3Jldmlld19mb3JtLFxuI3Jlc3BvbmR7XG4gICAgbWFyZ2luOiA1LjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDVyZW0gNi40cmVtIDZyZW07XG4gICAgYmFja2dyb3VuZDogI0Y0RjVGNjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuICAgICAgICBwYWRkaW5nOiA1LjVyZW0gMi40cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUuNnJlbTtcbiAgICB9XG59XG4jY29tbWVudGZvcm0gLmNvbW1lbnQtbm90ZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4jY29tbWVudGZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4jY29tbWVudGZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuI2NvbW1lbnRmb3JtIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTk2LCAxOTYsIDE5NiwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuOXJlbSAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbiNjb21tZW50Zm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiNjb21tZW50Zm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4jY29tbWVudGZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE5NiwgMTk2LCAxOTYsIDEpO1xufVxuI2NvbW1lbnRmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiNjb21tZW50Zm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06OnBsYWNlaG9sZGVyLFxuI2NvbW1lbnRmb3JtIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM4NTg1ODU7XG59XG4jY29tbWVudGZvcm0gdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgaGVpZ2h0OiAxOHJlbSAhaW1wb3J0YW50O1xufVxuI2NvbW1lbnRmb3JtIGxhYmVse1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI2NvbW1lbnRmb3JtIC5jb21tZW50LWZvcm0tY29va2llcy1jb25zZW50IHtcbiAgICBtYXJnaW46IDJyZW0gMCAwICFpbXBvcnRhbnQ7XG4gICAgb3JkZXI6IDQ7XG59XG4jY29tbWVudGZvcm0gLmNvbW1lbnQtZm9ybS1jb29raWVzLWNvbnNlbnQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cbiNjb21tZW50Zm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl17XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbiNjb21tZW50Zm9ybSAuZm9ybS1zdWJtaXR7XG4gICAgb3JkZXI6IDU7XG4gICAgbWFyZ2luOiA0cmVtIDAgMCAhaW1wb3J0YW50O1xufVxuI2NvbW1lbnRmb3JtIC5mb3JtLXN1Ym1pdCBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjFyZW0gMC43cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMyMTQxNkUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMjE0MTZFICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNCAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogIzIxNDE2RSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgLy9jb2xvcjogIzIxNDE2RTtcbiAgICAgICAgY29sb3I6ICNlYmU5ZWIgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWJlOWViICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuI2NvbW1lbnRmb3JtIC5jb21tZW50LWZvcm0tYXV0aG9ye1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG9yZGVyOiAxO1xufVxuI2NvbW1lbnRmb3JtIC5jb21tZW50LWZvcm0tZW1haWx7XG4gICAgbWFyZ2luOiAzcmVtIDAgMCAhaW1wb3J0YW50O1xuICAgIG9yZGVyOiAyO1xufVxuI2NvbW1lbnRmb3JtIC5jb21tZW50LWZvcm0tY29tbWVudHtcbiAgICBtYXJnaW46IDNyZW0gMCAwICFpbXBvcnRhbnQ7XG4gICAgb3JkZXI6IDM7XG59XG5cbiNjb21tZW50Zm9ybSB7XG5cbn1cbiNyZXBseS10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogIzI3MjcyNztcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG5cbi5wcm9kdWN0LXJldmlld3MtbWFpbiB7XG4gICAgd2lkdGg6IDY1LjclO1xuICAgIHBhZGRpbmc6IDVyZW0gNi40cmVtIDZyZW07XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDVyZW0gMCA1cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuLnByb2R1Y3Qtc3RpY2t5LXdyYXAge1xuICAgIHdpZHRoOiAyOSU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAgICAgICB3aWR0aDogMzElO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLnByb2R1Y3Qtc3RpY2t5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAzcmVtIDMuOHJlbSAzLjhyZW07XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDJyZW0gMy44cmVtO1xuICAgIH1cbiAgICAmX19ibG9jay10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMyNzI3Mjc7XG4gICAgfVxuICAgICZfX3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMi4ycmVtIDAgMDtcbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAuNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxMC41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEwLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIuN3JlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMzRjNGM0Y7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMTAuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDIuOHJlbSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDAuM3JlbSAxLjhyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNGNEY1RjY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICBjb2xvcjogIzIxNDE2RTtcbiAgICB9XG4gICAgJl9fYWRkLXRvLWNhcnQge1xuXG4gICAgfVxuICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0LWZvcm0ge1xuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydC1saW5rIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnByb2R1Y3QtZm9vdG5vdGUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzI3NDc2Mjtcbn1cblxuXG5cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG5cblxuXG5cbiIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4jd29vZl9odG1sX2J1ZmZlciB7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi1tZW51LWJsdWUuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tbmFtZTogbG9hZGVyQW5pbWF0aW9uO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy9ib2R5IHtcbi8vICAgICYudGF4LXByb2R1Y3RfY2F0IHtcbiAgICAgICAgLndpZGdldF9wcm9kdWN0X2NhdGVnb3JpZXMge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIC53aWRnZXR0aXRsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDYlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMyMTQxNkU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjE0MTZFO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjODU4NTg1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzg1ODU4NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzg1ODU4NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4NTg1ODU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuY3VycmVudC1jYXQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM4NTg1ODU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjODU4NTg1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cblxuICAgIC8vfVxuLy99XG5cbmJvZHkgLndvby1ub3RpZmljYXRpb24ge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0NzY2QjM7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzQ3NjZCMztcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG59XG4ud29vY29tbWVyY2UtY2FydCAud2MtcHJvY2VlZC10by1jaGVja291dCBhLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuOXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDFyZW0gMS4xcmVtIDEuMXJlbSAhaW1wb3J0YW50O1xufVxuXG4uY2FydC13cmFwLFxuLmNoZWNrb3V0LXdyYXAge1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDUuNXJlbSA1LjVyZW0gN3JlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMi41cmVtIDVyZW07XG4gICAgfVxufVxuLndvb2NvbW1lcmNlLWNhcnQge1xuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjE0MTZFO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyY6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAvLyAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAvL2hlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgLy9tYXJnaW46IDAuNHJlbSAwIDA7XG4gICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAjMjE0MTZFO1xuICAgICAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cyBlYXNlO1xuICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzNGM0YzRjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgLy8mOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAjM0YzRjNGO1xuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5jaG9zZW4tY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAuY2hvc2VuLWRyb3Age1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgIH1cbiAgICAuY2hvc2VuLXJlc3VsdHMge1xuICAgICAgICBtYXJnaW46IDAgMHB4IDRweCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XG5cbiAgICAgICAgbGkuaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIxNDE2RTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg4OS43ZGVnLCAjMjE0MTZFIDI0LjM5JSwgIzQ3NjZCMyAxMDYuNjElKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gICAgLmNob3Nlbi1zaW5nbGUge1xuICAgICAgICBjb2xvcjogcmdiKDYzLCA2MywgNjMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIH1cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA2cHggc29saWQgIzNmM2YzZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNob3Nlbi13aXRoLWRyb3Age1xuICAgICAgICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4ud29vY29tbWVyY2UtYmlsbGluZy1maWVsZHMsXG4ud29vY29tbWVyY2Utc2hpcHBpbmctZmllbGRze1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICNvcmRlcl9jb21tZW50c3tcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM5ODk4OTg7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI215ZmllbGQxX2ZpZWxke1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxhYmVsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIH1cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTg5ODk4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi53Y19wYXltZW50X21ldGhvZC5wYXltZW50X21ldGhvZF9wb3J0bW9uZSB7XG4gICAgbGkge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiNzdWJtaXRfcG9ydG1vbmVfcGF5bWVudF9mb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjFyZW0gMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgY29sb3I6ICMyMTQxNkU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzIxNDE2RTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMTQxNkU7XG4gICAgfVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJi5kaXNhYmxlZHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgLy9jb2xvcjogIzIxNDE2RTtcbiAgICAgICAgY29sb3I6ICNlYmU5ZWI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ViZTllYjtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6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 */
