/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: #d9c4a6;
  color: black; }

/**
 * Responsive.
 */
/**
 * Vendor.
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
 * Tools.
 */
/**
 * Tools.
 */
/**
 * Unicode.
 *
 * Preserve escaped unicode string.
 * @param {String} $string - An unicode string.
 * @return {String} A preserved escaped unicode string
 */
/**
 * REM.
 *
 * Convert pixel units to REM units.
 * @param {Number} $pixels - Pixel value.
 * @return {*} - A converted `rem` unit.
 */
/**
 * Column.
 *
 * Calculate given column width.
 * @param {Number} $column - The amount of columns to span.
 * @param {Number} $columns - The amount of columns that can be spanned.
 * @return {String} - Percentage value.
 */
/**
 * Color.
 *
 * Get a color value from two levels deep in the `$color` map.
 * @param {$string} $key - Key of the color to get from the map.
 * @param {Number} $value - Value of the key to get from the map.
 * @return {*} A HSLA color value.
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/**
 * Container
 * 
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Font.
 *
 * Adds `rem` unit based font size property, a fallback `px` unit based font size property, and a `em` unit based line height property to any rule.
 * @param {String} $font-size - Pixel unit value.
 * @param {String} $line-height - Pixel unit value.
 * @example @include font-size(16px, 24px);
 */
/**
 * Text.
 *
 * Shorthand for the font mixin, runs the font mixin based on a common demeanour existing both in the `$font-size` and the `$line-height` maps.
 * @param {string} $value - String
 * @example @include text('p');
 */
/**
 * Font Awesome.
 *
 * Add Font Awesome icons as psuedo elements by using their unicode.
 * @param {String} $content - Unicode string.
 * @param {String} $family - Font Awesome font family string.
 * @example @include fontawesome('f100', 'Light');
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
.ui-datepicker {
  background: #d7d7d7;
  height: auto;
  margin: 5px auto 0;
  font: 9pt Arial,sans-serif;
  min-width: 216px;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5); }

.ui-datepicker a {
  text-decoration: none; }

.ui-datepicker table {
  width: 100%;
  border-collapse: collapse; }

.gform-admin-datepicker .ui-datepicker-header {
  background-color: #000;
  color: #e0e0e0;
  font-weight: 700;
  -webkit-box-shadow: inset 0 1px 1px 0 rgba(250, 250, 250, 0.2);
  -moz-box-shadow: inset 0 1px 1px 0 rgba(250, 250, 250, 0.2);
  box-shadow: inset 0 1px 1px 0 rgba(250, 250, 250, 0.2);
  text-shadow: 1px -1px 0 #000;
  filter: dropshadow(color=#000, offx=1, offy=-1);
  line-height: 30px;
  min-height: 30px !important;
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #666; }

.ui-datepicker-header .ui-icon {
  display: none; }

.ui-datepicker-title {
  text-align: center; }

.ui-datepicker-title select {
  margin-top: 2.5%; }

.ui-datepicker-next, .ui-datepicker-prev {
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
  cursor: pointer;
  background-image: url(../images/datepicker/arrow.png);
  background-repeat: no-repeat;
  line-height: 600%;
  overflow: hidden; }

.ui-datepicker-prev {
  float: left;
  background-position: center -30px; }

.ui-datepicker-next {
  float: right;
  background-position: center 0; }

.ui-datepicker thead {
  background: #f7f7f7;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMWYxZjEiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #f7f7f7 0, #f1f1f1 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f7f7f7), color-stop(100%, #f1f1f1));
  background: -webkit-linear-gradient(top, #f7f7f7 0, #f1f1f1 100%);
  background: -o-linear-gradient(top, #f7f7f7 0, #f1f1f1 100%);
  background: -ms-linear-gradient(top, #f7f7f7 0, #f1f1f1 100%);
  background: linear-gradient(to bottom, #f7f7f7 0, #f1f1f1 100%);
  border-bottom: 1px solid #bbb; }

.ui-datepicker th {
  text-transform: uppercase;
  text-align: center;
  font-size: 6pt;
  padding: 5px 0;
  color: #666;
  text-shadow: 1px 0 0 #fff;
  filter: dropshadow(color=#fff, offx=1, offy=0); }

.ui-datepicker tbody td {
  padding: 0;
  border-top: 1px solid #bbb;
  border-right: 1px solid #bbb; }

.ui-datepicker tbody td:last-child {
  border-right: 0; }

.ui-datepicker tbody tr {
  border-bottom: 1px solid #bbb; }

.ui-datepicker tbody tr:last-child {
  border-bottom: 0; }

.ui-datepicker td a, .ui-datepicker td span {
  display: inline-block;
  font-weight: 700;
  text-align: center;
  width: 100%;
  height: 30px;
  line-height: 30px;
  color: #666;
  text-shadow: 1px 1px 0 #fff;
  filter: dropshadow(color=#fff, offx=1, offy=1); }

.ui-datepicker-calendar .ui-state-default {
  background: #ededed;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VkZWRlZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZWRlZGUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, #ededed 0, #dedede 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ededed), color-stop(100%, #dedede));
  background: -webkit-linear-gradient(top, #ededed 0, #dedede 100%);
  background: -o-linear-gradient(top, #ededed 0, #dedede 100%);
  background: -ms-linear-gradient(top, #ededed 0, #dedede 100%);
  background: linear-gradient(to bottom, #ededed 0, #dedede 100%);
  -webkit-box-shadow: inset 1px 1px 0 0 rgba(250, 250, 250, 0.5);
  -moz-box-shadow: inset 1px 1px 0 0 rgba(250, 250, 250, 0.5);
  box-shadow: inset 1px 1px 0 0 rgba(250, 250, 250, 0.5); }

.ui-datepicker-calendar .ui-state-hover {
  background: #f7f7f7; }

.ui-datepicker-calendar .ui-state-active {
  background: #fff2aa;
  border: 1px solid #c19163;
  color: #666;
  -webkit-box-shadow: inset 0 0 10px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 0 10px 0 rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 10px 0 rgba(0, 0, 0, 0.1);
  text-shadow: 0 1px 0 #fff;
  filter: dropshadow(color=#FFF, offx=0, offy=1);
  position: relative;
  margin: -1px; }

.ui-datepicker-unselectable .ui-state-default {
  background: #f4f4f4;
  color: #b4b3b3; }

.ui-datepicker-calendar td:first-child .ui-state-active {
  width: 29px;
  margin-left: 0; }

.ui-datepicker-calendar td:last-child .ui-state-active {
  width: 29px;
  margin-right: 0; }

.ui-datepicker-calendar tr:last-child .ui-state-active {
  height: 29px;
  margin-bottom: 0; }

td.ui-datepicker-unselectable.ui-state-disabled {
  background-color: #d7d7d7; }

table.ui-datepicker-calendar {
  margin: 0 !important; }

body div#ui-datepicker-div[style] {
  z-index: 9999 !important; }

/**
 * Elements.
 */
/**
 * General.
 */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2em;
  min-height: 100vh;
  background-color: black;
  color: white;
  font-family: "Rubik";
  font-weight: 300;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/**
 * Objects.
 */
.background {
  position: relative; }
  @media only screen and (max-width: 1199px) {
    .background {
      display: none; } }
  .background:after {
    position: absolute;
    bottom: -150px;
    left: 0;
    width: 1440px;
    height: 150px;
    background: url(./../images/background-1.png) no-repeat;
    background-size: contain;
    content: '';
    z-index: -1; }
  .background.text-slider:after {
    background: url(./../images/background-2.png) no-repeat; }
  .background.image-image:after {
    background: url(./../images/background-3.png) no-repeat; }

.breadcrumbs {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.66667em;
  padding: 10px 0;
  font-family: "Merriweather";
  color: #d9c4a6; }
  .breadcrumbs .wrapper {
    display: flex;
    flex-wrap: wrap; }
  .breadcrumbs svg {
    position: relative;
    top: 3px;
    width: 5px;
    height: 14px;
    margin: 0 5px 0 10px;
    color: #d9c4a6; }
  .breadcrumbs a {
    text-decoration: underline; }

/**
 * Button.
 */

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 250ms ease;
  cursor: pointer;
  font-family: "Merriweather";
  font-weight: 300; }

/**
 * Button (default).
 */

.button--default {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.125em;
  height: 40px;
  padding: 8px 30px;
  background-color: #d9c4a6;
  color: black;
  border: 1px solid #d9c4a6;
  border-radius: 2px; }
  
  .button--default:hover {
    background-color: transparent;
    color: #d9c4a6; }

/**
 * Button (border).
 */

.button--border {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.125em;
  padding: 12px 30px;
  background-color: transparent;
  height: 37px;
  color: #d9c4a6;
  border: 2px solid #d9c4a6;
  border-radius: 2px; }
  
  .button--border:hover {
    border: 2px solid white;
    color: white; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: hidden; }

/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

.flex-wrap {
  flex-wrap: wrap; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
			 * Column 1 for the `xs` breakpoint.
			 */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 10px; }

/**
				 * Offset 1 for the `xs` breakpoint.
				 */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
			 * Column 2 for the `xs` breakpoint.
			 */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 10px; }

/**
				 * Offset 2 for the `xs` breakpoint.
				 */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
			 * Column 3 for the `xs` breakpoint.
			 */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 10px; }

/**
				 * Offset 3 for the `xs` breakpoint.
				 */
.offset-xs-3 {
  margin-left: 25%; }

/**
			 * Column 4 for the `xs` breakpoint.
			 */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 10px; }

/**
				 * Offset 4 for the `xs` breakpoint.
				 */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
			 * Column 5 for the `xs` breakpoint.
			 */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 10px; }

/**
				 * Offset 5 for the `xs` breakpoint.
				 */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
			 * Column 6 for the `xs` breakpoint.
			 */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 10px; }

/**
				 * Offset 6 for the `xs` breakpoint.
				 */
.offset-xs-6 {
  margin-left: 50%; }

/**
			 * Column 7 for the `xs` breakpoint.
			 */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 10px; }

/**
				 * Offset 7 for the `xs` breakpoint.
				 */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
			 * Column 8 for the `xs` breakpoint.
			 */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 10px; }

/**
				 * Offset 8 for the `xs` breakpoint.
				 */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
			 * Column 9 for the `xs` breakpoint.
			 */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 10px; }

/**
				 * Offset 9 for the `xs` breakpoint.
				 */
.offset-xs-9 {
  margin-left: 75%; }

/**
			 * Column 10 for the `xs` breakpoint.
			 */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 10px; }

/**
				 * Offset 10 for the `xs` breakpoint.
				 */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
			 * Column 11 for the `xs` breakpoint.
			 */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 10px; }

/**
				 * Offset 11 for the `xs` breakpoint.
				 */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
			 * Column 12 for the `xs` breakpoint.
			 */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 10px; }

/**
			 * Align `stretch` for the xs breakpoint.
			 */
.align-xs-stretch {
  align-items: stretch; }

/**
			 * Align `center` for the xs breakpoint.
			 */
.align-xs-center {
  align-items: center; }

/**
			 * Align `flex-start` for the xs breakpoint.
			 */
.align-xs-flex-start {
  align-items: flex-start; }

/**
			 * Align `flex-end` for the xs breakpoint.
			 */
.align-xs-flex-end {
  align-items: flex-end; }

/**
			 * Align `baseline` for the xs breakpoint.
			 */
.align-xs-baseline {
  align-items: baseline; }

/**
			 * Justify `start` for the xs breakpoint.
			 */
.justify-xs-start {
  justify-content: start; }

/**
			 * Justify `center` for the xs breakpoint.
			 */
.justify-xs-center {
  justify-content: center; }

/**
			 * Justify `space-between` for the xs breakpoint.
			 */
.justify-xs-space-between {
  justify-content: space-between; }

/**
			 * Justify `space-around` for the xs breakpoint.
			 */
.justify-xs-space-around {
  justify-content: space-around; }

/**
			 * Justify `space-evenly` for the xs breakpoint.
			 */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
			 * Bleed left for the xs breakpoint.
			 */
.bleed-xs-left {
  padding-left: 0; }

/**
			 * Bleed right for the xs breakpoint.
			 */
.bleed-xs-right {
  padding-right: 0; }

/**
		 * Order first for the `xs` breakpoint.
		 */
.first-xs {
  order: -1; }

/**
		 * Order last for the `xs` breakpoint.
		 */
.last-xs {
  order: 1; }

/**
		 * Reverse order for the `xs` breakpoint.
		 */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
			 * Column 1 for the `sm` breakpoint.
			 */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `sm` breakpoint.
				 */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `sm` breakpoint.
			 */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `sm` breakpoint.
				 */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `sm` breakpoint.
			 */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `sm` breakpoint.
				 */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `sm` breakpoint.
			 */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `sm` breakpoint.
				 */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `sm` breakpoint.
			 */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `sm` breakpoint.
				 */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `sm` breakpoint.
			 */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `sm` breakpoint.
				 */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `sm` breakpoint.
			 */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `sm` breakpoint.
				 */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `sm` breakpoint.
			 */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `sm` breakpoint.
				 */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `sm` breakpoint.
			 */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `sm` breakpoint.
				 */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `sm` breakpoint.
			 */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `sm` breakpoint.
				 */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `sm` breakpoint.
			 */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `sm` breakpoint.
				 */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `sm` breakpoint.
			 */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the sm breakpoint.
			 */
  .align-sm-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the sm breakpoint.
			 */
  .align-sm-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the sm breakpoint.
			 */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the sm breakpoint.
			 */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the sm breakpoint.
			 */
  .align-sm-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the sm breakpoint.
			 */
  .justify-sm-start {
    justify-content: start; }
  /**
			 * Justify `center` for the sm breakpoint.
			 */
  .justify-sm-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the sm breakpoint.
			 */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the sm breakpoint.
			 */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the sm breakpoint.
			 */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the sm breakpoint.
			 */
  .bleed-sm-left {
    padding-left: 0; }
  /**
			 * Bleed right for the sm breakpoint.
			 */
  .bleed-sm-right {
    padding-right: 0; }
  /**
		 * Order first for the `sm` breakpoint.
		 */
  .first-sm {
    order: -1; }
  /**
		 * Order last for the `sm` breakpoint.
		 */
  .last-sm {
    order: 1; }
  /**
		 * Reverse order for the `sm` breakpoint.
		 */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
			 * Column 1 for the `md` breakpoint.
			 */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `md` breakpoint.
				 */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `md` breakpoint.
			 */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `md` breakpoint.
				 */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `md` breakpoint.
			 */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `md` breakpoint.
				 */
  .offset-md-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `md` breakpoint.
			 */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `md` breakpoint.
				 */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `md` breakpoint.
			 */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `md` breakpoint.
				 */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `md` breakpoint.
			 */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `md` breakpoint.
				 */
  .offset-md-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `md` breakpoint.
			 */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `md` breakpoint.
				 */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `md` breakpoint.
			 */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `md` breakpoint.
				 */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `md` breakpoint.
			 */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `md` breakpoint.
				 */
  .offset-md-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `md` breakpoint.
			 */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `md` breakpoint.
				 */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `md` breakpoint.
			 */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `md` breakpoint.
				 */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `md` breakpoint.
			 */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the md breakpoint.
			 */
  .align-md-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the md breakpoint.
			 */
  .align-md-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the md breakpoint.
			 */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the md breakpoint.
			 */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the md breakpoint.
			 */
  .align-md-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the md breakpoint.
			 */
  .justify-md-start {
    justify-content: start; }
  /**
			 * Justify `center` for the md breakpoint.
			 */
  .justify-md-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the md breakpoint.
			 */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the md breakpoint.
			 */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the md breakpoint.
			 */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the md breakpoint.
			 */
  .bleed-md-left {
    padding-left: 0; }
  /**
			 * Bleed right for the md breakpoint.
			 */
  .bleed-md-right {
    padding-right: 0; }
  /**
		 * Order first for the `md` breakpoint.
		 */
  .first-md {
    order: -1; }
  /**
		 * Order last for the `md` breakpoint.
		 */
  .last-md {
    order: 1; }
  /**
		 * Reverse order for the `md` breakpoint.
		 */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
			 * Column 1 for the `lg` breakpoint.
			 */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `lg` breakpoint.
				 */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `lg` breakpoint.
			 */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `lg` breakpoint.
				 */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `lg` breakpoint.
			 */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `lg` breakpoint.
				 */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `lg` breakpoint.
			 */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `lg` breakpoint.
				 */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `lg` breakpoint.
			 */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `lg` breakpoint.
				 */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `lg` breakpoint.
			 */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `lg` breakpoint.
				 */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `lg` breakpoint.
			 */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `lg` breakpoint.
				 */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `lg` breakpoint.
			 */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `lg` breakpoint.
				 */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `lg` breakpoint.
			 */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `lg` breakpoint.
				 */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `lg` breakpoint.
			 */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `lg` breakpoint.
				 */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `lg` breakpoint.
			 */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `lg` breakpoint.
				 */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `lg` breakpoint.
			 */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the lg breakpoint.
			 */
  .align-lg-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the lg breakpoint.
			 */
  .align-lg-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the lg breakpoint.
			 */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the lg breakpoint.
			 */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the lg breakpoint.
			 */
  .align-lg-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the lg breakpoint.
			 */
  .justify-lg-start {
    justify-content: start; }
  /**
			 * Justify `center` for the lg breakpoint.
			 */
  .justify-lg-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the lg breakpoint.
			 */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the lg breakpoint.
			 */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the lg breakpoint.
			 */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the lg breakpoint.
			 */
  .bleed-lg-left {
    padding-left: 0; }
  /**
			 * Bleed right for the lg breakpoint.
			 */
  .bleed-lg-right {
    padding-right: 0; }
  /**
		 * Order first for the `lg` breakpoint.
		 */
  .first-lg {
    order: -1; }
  /**
		 * Order last for the `lg` breakpoint.
		 */
  .last-lg {
    order: 1; }
  /**
		 * Reverse order for the `lg` breakpoint.
		 */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
			 * Column 1 for the `xl` breakpoint.
			 */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `xl` breakpoint.
				 */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `xl` breakpoint.
			 */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `xl` breakpoint.
				 */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `xl` breakpoint.
			 */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `xl` breakpoint.
				 */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `xl` breakpoint.
			 */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `xl` breakpoint.
				 */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `xl` breakpoint.
			 */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `xl` breakpoint.
				 */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `xl` breakpoint.
			 */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `xl` breakpoint.
				 */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `xl` breakpoint.
			 */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `xl` breakpoint.
				 */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `xl` breakpoint.
			 */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `xl` breakpoint.
				 */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `xl` breakpoint.
			 */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `xl` breakpoint.
				 */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `xl` breakpoint.
			 */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `xl` breakpoint.
				 */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `xl` breakpoint.
			 */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `xl` breakpoint.
				 */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `xl` breakpoint.
			 */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the xl breakpoint.
			 */
  .align-xl-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the xl breakpoint.
			 */
  .align-xl-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the xl breakpoint.
			 */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the xl breakpoint.
			 */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the xl breakpoint.
			 */
  .align-xl-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the xl breakpoint.
			 */
  .justify-xl-start {
    justify-content: start; }
  /**
			 * Justify `center` for the xl breakpoint.
			 */
  .justify-xl-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the xl breakpoint.
			 */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the xl breakpoint.
			 */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the xl breakpoint.
			 */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the xl breakpoint.
			 */
  .bleed-xl-left {
    padding-left: 0; }
  /**
			 * Bleed right for the xl breakpoint.
			 */
  .bleed-xl-right {
    padding-right: 0; }
  /**
		 * Order first for the `xl` breakpoint.
		 */
  .first-xl {
    order: -1; }
  /**
		 * Order last for the `xl` breakpoint.
		 */
  .last-xl {
    order: 1; }
  /**
		 * Reverse order for the `xl` breakpoint.
		 */
  .reverse-xl {
    flex-direction: row-reverse; } }

/**
 * Default fields.
 */
label {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  display: block;
  margin-bottom: 10px; }


select,
input,
textarea {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  width: 100%;
  height: 42px;
  border-radius: 2px;
  padding: 11px 15px;
  background-color: transparent;
  border: 1px solid #d9c4a6;
  color: white; }

textarea {
  height: 230px;
  padding-top: 15px; }

.gfield_time_ampm,
.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid #d9c4a6; }
  .gfield_time_ampm svg,
  .ginput_container_select svg {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 9px;
    height: 13px;
    z-index: 1; }
  .gfield_time_ampm select,
  .ginput_container_select select {
    position: relative;
    width: calc(100% + 50px);
    padding-top: 7px;
    max-width: none;
    margin: -2px;
    background-color: transparent;
    border: 0;
    z-index: 2; }
  .gfield_time_ampm option,
  .ginput_container_select option {
    color: black; }

input[type='radio'],
input[type='checkbox'] {
  width: 15px;
  height: 15px;
  border: 2px solid #d9c4a6;
  border-radius: 2px;
  background-color: transparent;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: #d9c4a6; }

input[type='radio'] {
  border-radius: 20px; }

/**
 * Gravity Forms.
 */
.gfield_description {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.85714em; }

.ginput_container_date .screen-reader-text {
  display: none; }

.gchoice {
  display: flex; }
  .gchoice input {
    margin: 7px 10px 0 0; }

.gfield {
  margin-bottom: 25px; }
  .gfield .clear-multi {
    display: flex;
    justify-content: space-between; }

.ginput_container_time .screen-reader-text,
.ginput_container_time i {
  display: none; }

.gfield_time_ampm {
  width: 90px; }

.gform_validation_container {
  display: none; }

.hidden_label > label {
  display: none; }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.07143em;
  margin-top: 5px;
  color: #d02a25; }


.validation_error {
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: #d9c4a6;
  color: black; }
  
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: black; }
  
  .validation_error .close-button {
    position: absolute;
    top: 0;
    right: 5px;
    cursor: pointer; }
    
    .validation_error .close-button svg {
      width: 16px;
      height: 16px;
      color: black; }

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: #d9c4a6 br;
    background-display: none; }
  .gform_confirmation_message h4 {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .gform_confirmation_message h4 svg {
      width: 28px;
      height: 28px;
      margin-right: 20px;
      border-radius: 20px;
      background-color: white;
      padding: 5px;
      color: black; }

.ui-datepicker-year,
.ui-datepicker-month {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1em;
  width: auto;
  background-color: white;
  color: black;
  height: auto;
  padding: 8px 5px 5px 5px; }

.ui-datepicker-month {
  margin-right: 5px; }

.ui-datepicker-prev:before {
  position: absolute;
  color: black;
  font-size: 20px;
  line-height: 40px;
  content: '<'; }

.ui-datepicker-next:before {
  position: absolute;
  color: black;
  font-size: 20px;
  line-height: 40px;
  content: '>'; }

/**
 * Heading.
 */
h1,
h2,
h3,
h4,
.heading {
  font-family: "Merriweather";
  color: white; }
  h1.is-black,
  h2.is-black,
  h3.is-black,
  h4.is-black,
  .heading.is-black {
    color: black; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.25em;
  font-weight: 700;
  letter-spacing: 0.38em; }
  @media only screen and (max-width: 1199px) {
    h1,
    .heading-1 {
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1.25em; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1.22727em;
  font-weight: 700;
  letter-spacing: 0.4em; }
  @media only screen and (max-width: 1199px) {
    h2,
    .heading-2 {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1.35714em;
      letter-spacing: 0.38em; } }
  @media only screen and (max-width: 599px) {
    h2,
    .heading-2 {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.72727em;
      letter-spacing: 5px; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.38889em;
  font-weight: 400;
  letter-spacing: 0.04em; }
  @media only screen and (max-width: 1199px) {
    h3,
    .heading-3 {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.25em;
      font-weight: 400;
      letter-spacing: 0.04em; } }
  @media only screen and (max-width: 599px) {
    h3,
    .heading-3 {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.9em; } }

/**
 * Heading 4.
 */
h4,
.heading-4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.45833em;
  font-weight: 700; }

/**
 * Heading 5.
 */
h5,
.heading-5 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.94444em;
  font-weight: 700; }

/**
 * Subheading.
 */

.subheading {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.2em;
  display: inline-flex;
  position: relative;
  color: #d9c4a6;
  letter-spacing: 0.04em; }
  
  .subheading:after {
    display: block;
    position: absolute;
    bottom: -5px;
    width: 100%;
    height: 1px;
    background-color: rgba(217, 196, 166, 0.5);
    content: ''; }
  
  .subheading.has-white-border:after {
    background-color: white; }
  
  .subheading.is-black {
    color: black; }
    
    .subheading.is-black:after {
      background-color: black; }

.has-lazy-load {
  position: relative;
  top: -150px;
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0; }
  @media only screen and (max-width: 599px) {
    .has-lazy-load {
      top: 0;
      opacity: 1; } }
  .has-lazy-load.header {
    transition-delay: 750ms;
    transition: all 500ms ease; }
  .has-lazy-load img {
    opacity: 1; }

.has-lazy-load[loaded='true'] {
  top: 0;
  opacity: 1; }

.link {
  color: #d9c4a6;
  text-decoration: underline;
  transition: all 250ms ease; }
  .link.has-svg-right svg {
    margin-left: 10px; }
  .link.has-svg-left svg {
    margin-right: 10px; }
  .link svg {
    position: relative;
    top: 3px;
    width: 14px;
    height: 17px;
    transition: all 250ms ease;
    color: #d9c4a6; }
  .link:hover {
    color: white; }
    .link:hover svg {
      color: white;
      margin-left: 15px; }

.pagination {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .pagination {
      padding: 75px 0; } }
  .pagination .page-numbers {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    transition: all 250ms ease;
    color: #d9c4a6;
    font-weight: 300; }
    .pagination .page-numbers.current {
      font-weight: 700; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      margin-right: 15px; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        position: relative;
        top: 0;
        width: 15px;
        height: 30px;
        color: #d9c4a6;
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover svg, .pagination .page-numbers.next:hover svg {
        color: white; }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }
  .pagination a:hover {
    color: white; }

/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1310px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper {
      max-width: calc(1310px + 120px);
      padding: 0 60px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper {
      max-width: calc(1310px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (big)
 */
.wrapper--big {
  max-width: calc(1440px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper--big {
      max-width: calc(1440px + 120px);
      padding: 0 60px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper--big {
      max-width: calc(1440px + 40px);
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Components.
 */
/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output p:not(:last-child) {
  margin-bottom: 2em; }

.cms-output h2,
.cms-output h3,
.cms-output h4 {
  margin-bottom: 30px; }

.cms-output ol,
.cms-output ul {
  list-style-type: disc;
  margin-left: 25px;
  margin-bottom: 25px; }
  .cms-output ol li,
  .cms-output ul li {
    margin-botom: 5px; }

.cms-output ol {
  list-style-type: decimal; }

.cms-output strong {
  font-weight: bold; }

.cms-output button {
  margin-top: 20px; }

.cms-output a {
  text-decoration: underline; }

.contact-form {
  position: relative;
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .contact-form {
      margin-bottom: 75px; } }
  .contact-form.has-background {
    margin-bottom: 150px; }
    @media only screen and (max-width: 1199px) {
      .contact-form.has-background {
        margin-bottom: 75px; } }

.contact-form__column {
  width: 25%; }
  @media only screen and (max-width: 899px) {
    .contact-form__column {
      width: 100%;
      margin-bottom: 25px; } }
  .contact-form__column.is-body {
    width: 75%;
    max-width: 640px; }
    @media only screen and (max-width: 899px) {
      .contact-form__column.is-body {
        width: 100%; } }

.contact-form__title {
  margin-bottom: 30px; }

.contact-form__form {
  margin-bottom: 100px; }

.content-header {
  position: relative;
  width: 100%;
  height: 800px;
  margin-bottom: 100px;
  border-bottom: 1px solid rgba(217, 196, 166, 0.5); }
  @media only screen and (max-width: 899px) {
    .content-header {
      height: 520px;
      margin-bottom: 75px; } }

.content-header__image {
  position: relative;
  width: 100%;
  height: 100%; }
  .content-header__image:after {
    content: '';
    height: 40%;
    width: 100%;
    position: absolute;
    bottom: 0;
    background: linear-gradient(180.27deg, #0C1105 0.23%, rgba(12, 17, 5, 0) 94.27%);
    transform: rotate(-180deg);
    opacity: 0.5; }

.content-header__body {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 135px); }
  @media only screen and (max-width: 899px) {
    .content-header__body {
      align-items: center;
      height: 100%; } }

.content-header__title {
  max-width: 885px;
  margin: 0 auto;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);
  text-align: center; }

.footer {
  border-top: 1px solid rgba(217, 196, 166, 0.5); }
  @media only screen and (max-width: 1199px) {
    .footer .wrapper {
      max-width: calc(700px + 100px); } }
  @media only screen and (max-width: 899px) {
    .footer .wrapper {
      max-width: calc(700px + 120px); } }
  @media only screen and (max-width: 599px) {
    .footer .wrapper {
      max-width: calc(700px + 40px); } }

/**
 * Top.
 */
.footer__top {
  align-items: center;
  justify-content: space-between;
  padding-top: 25px; }
  @media only screen and (max-width: 1199px) {
    .footer__top {
      padding-top: 50px; } }
  @media only screen and (max-width: 899px) {
    .footer__top {
      padding-top: 30px; } }

@media only screen and (max-width: 1199px) {
  .footer__logo {
    display: flex;
    width: 100%;
    justify-content: center;
    padding-bottom: 20px; } }

@media only screen and (max-width: 599px) {
  .footer__logo {
    justify-content: flex-start; } }

.footer__logo img {
  display: block;
  width: 100%;
  max-width: 190px;
  height: auto; }
  @media only screen and (max-width: 599px) {
    .footer__logo img {
      height: 20px; } }

.footer__umc {
  align-items: center;
  margin-right: 50px; }
  @media only screen and (max-width: 1199px) {
    .footer__umc {
      width: 100%;
      justify-content: center;
      padding-bottom: 20px; } }
  @media only screen and (max-width: 599px) {
    .footer__umc {
      justify-content: flex-start;
      padding-bottom: 10px; } }
  .footer__umc img {
    width: 33px;
    height: 40px;
    margin-right: 15px; }
  .footer__umc strong {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.94444em;
    font-weight: 600;
    margin-right: 10px; }
  .footer__umc span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2.5em; }

.footer__social {
  align-items: center; }
  @media only screen and (max-width: 1199px) {
    .footer__social {
      width: 100%;
      justify-content: center; } }
  @media only screen and (max-width: 599px) {
    .footer__social {
      justify-content: flex-start; } }
  .footer__social strong {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.94444em;
    font-weight: 600;
    margin-right: 10px; }

@media only screen and (max-width: 1199px) {
  .footer__social-wrap {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: 10px; } }

@media only screen and (max-width: 599px) {
  .footer__social-wrap {
    justify-content: flex-start; } }

.footer__social-wrap a {
  margin-right: 10px; }
  .footer__social-wrap a:last-of-type {
    margin-right: 0; }

.footer__social-wrap svg {
  width: 12px;
  height: 24px;
  color: #d9c4a6;
  transition: all 250ms ease; }
  .footer__social-wrap svg:hover {
    color: white; }
  .footer__social-wrap svg.fa-instagram {
    width: 23px;
    height: 23px; }
  .footer__social-wrap svg.fa-youtube {
    width: 32px;
    height: 26px; }

/**
 * Middle.
 */
.footer__middle {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2em;
  min-height: 760px;
  padding: 25px 0 20px 0; }
  @media only screen and (max-width: 1199px) {
    .footer__middle {
      padding: 20px 0; } }

.footer__columns {
  justify-content: space-between;
  width: 50%; }
  @media only screen and (max-width: 1199px) {
    .footer__columns {
      width: 100%; } }

.footer__maps {
  display: flex;
  width: calc(50% - 30px);
  margin-right: 30px; }
  @media only screen and (max-width: 1199px) {
    .footer__maps {
      width: 100%;
      height: 325px;
      margin-bottom: 20px;
      margin-right: 0; } }

.footer__column {
  width: calc(50% - 15px); }
  @media only screen and (max-width: 599px) {
    .footer__column {
      width: 100%; } }

.footer__access,
.footer__newsletter,
.footer__contact {
  margin-bottom: 20px; }

.footer__contact .footer__title-wrap {
  display: none;
  position: relative;
  align-items: center;
  cursor: pointer; }
  @media only screen and (max-width: 1199px) {
    .footer__contact .footer__title-wrap {
      display: flex; } }
  .footer__contact .footer__title-wrap.is-active svg {
    transform: rotate(-90deg); }
  .footer__contact .footer__title-wrap svg {
    position: relative;
    top: -1px;
    right: 0;
    width: 9px;
    height: 14px;
    margin-left: 7px;
    color: white;
    transition: all 250ms ease; }

@media only screen and (max-width: 1199px) {
  .footer__contact .footer__editor {
    display: none; } }

.footer__title {
  margin-bottom: 5px; }

.footer__editor {
  color: rgba(255, 255, 255, 0.7); }
  .footer__editor h1,
  .footer__editor h2,
  .footer__editor h3,
  .footer__editor h4,
  .footer__editor h5 {
    color: white; }

.footer__link {
  margin-top: 20px; }
  .footer__link.button--default {
    width: 100%; }

@media only screen and (min-width: 1200px) {
  .footer__image.is-desktop {
    position: relative;
    bottom: -50px;
    right: -50px;
    margin-top: -50px; } }

@media only screen and (max-width: 1199px) {
  .footer__image.is-desktop {
    display: none; } }

@media only screen and (max-width: 599px) {
  .footer__image.is-desktop {
    display: block; } }

.footer__image.is-ipad {
  display: none; }
  @media only screen and (max-width: 1199px) {
    .footer__image.is-ipad {
      display: block; } }
  @media only screen and (max-width: 599px) {
    .footer__image.is-ipad {
      display: none; } }

/**
 * Bottom.
 */
.footer__bottom {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  padding-bottom: 20px;
  color: rgba(255, 255, 255, 0.7); }
  .footer__bottom a {
    transition: all 250ms ease; }
    .footer__bottom a:hover {
      color: #d9c4a6; }

@media only screen and (max-width: 599px) {
  .footer__links {
    width: 100%;
    margin-bottom: 20px;
    text-align: center; } }

.footer__links a {
  margin-right: 20px;
  text-decoration: underline; }
  @media only screen and (max-width: 599px) {
    .footer__links a {
      display: block;
      margin: 0; } }

.footer__author {
  margin-left: 20px; }
  @media only screen and (max-width: 599px) {
    .footer__author {
      width: 100%;
      margin-bottom: 20px;
      margin-left: 0;
      text-align: center; } }

.footer__developed-by {
  margin-left: 40px; }
  @media only screen and (max-width: 599px) {
    .footer__developed-by {
      width: 100%;
      margin-left: 0;
      text-align: center; } }

.header-animation {
  position: relative;
  height: calc(100vh - 71px);
  margin-bottom: 100px;
  opacity: 0;
  overflow: hidden;
  transition: all 750ms ease;
  transition-delay: 500ms; }
  @media only screen and (max-width: 899px) {
    .header-animation {
      margin-bottom: 75px; } }
  .header-animation:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background: linear-gradient(360deg, #000000 11.46%, rgba(0, 0, 0, 0) 100%);
    z-index: 25;
    content: '';
    opacity: 0;
    transition: all 3600ms cubic-bezier(0.83, 0, 0.2, 1); }
    @media only screen and (max-width: 599px) {
      .header-animation:after {
        opacity: 1; } }
  .header-animation.is-loaded {
    opacity: 1; }
  @media only screen and (min-width: 600px) {
    .header-animation.is-active .header-animation__overlay {
      left: calc(50% - 190px);
      width: 380px; }
    .header-animation.is-active .header-animation__background {
      transform: scale(1);
      padding-bottom: 0; }
    .header-animation.is-active .header-animation__logo {
      opacity: 1; }
    .header-animation.is-active .header-animation__arrow {
      top: 0;
      opacity: 1; }
    .header-animation.is-active .header-animation__title {
      transform: translateY(0); }
    .header-animation.is-active:after {
      opacity: 1; } }

.header-animation__background.object-fit {
  bottom: -30%;
  height: 130%;
  padding-bottom: 0;
  object-position: bottom;
  z-index: 10;
  transform: scale(1.4);
  transition: all 2200ms cubic-bezier(0.63, 0, 0.45, 0.99); }
  @media only screen and (max-width: 599px) {
    .header-animation__background.object-fit {
      left: 0;
      width: 100%;
      padding-bottom: 100px; } }

.header-animation__overlay {
  position: absolute;
  top: 0;
  left: calc(50% - 272px);
  width: 544px;
  height: auto;
  z-index: 20;
  transition: all 2200ms cubic-bezier(0.63, 0, 0.45, 0.99); }
  @media only screen and (max-width: 599px) {
    .header-animation__overlay {
      left: calc(50% - 150px);
      width: 300px; } }

.header-animation__body {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
  z-index: 30; }

.header-animation__logo {
  display: inline-block;
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 5px;
  opacity: 0;
  transition: all 3600ms cubic-bezier(0.83, 0, 0.2, 1); }
  @media only screen and (max-width: 599px) {
    .header-animation__logo {
      opacity: 1; } }
  .header-animation__logo img {
    max-width: 180px;
    height: auto; }
  .header-animation__logo:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: white;
    content: ''; }

.header-animation__title-wrap {
  overflow: hidden; }

.header-animation__title {
  margin-bottom: 65px;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25);
  transform: translateY(-100%);
  transition: all 3600ms cubic-bezier(0.83, 0, 0.2, 1); }
  @media only screen and (max-width: 599px) {
    .header-animation__title {
      transform: translateY(0); } }

.header-animation__arrow {
  position: relative;
  top: -20px;
  display: inline-block;
  margin-bottom: 20px;
  cursor: pointer;
  opacity: 0;
  transition: all 3600ms cubic-bezier(0.83, 0, 0.2, 1); }
  @media only screen and (max-width: 599px) {
    .header-animation__arrow {
      top: 0;
      opacity: 1; } }
  .header-animation__arrow svg {
    position: relative;
    top: 0;
    width: 48px;
    height: 48px;
    color: #d9c4a6;
    transition: all 250ms ease; }
  .header-animation__arrow:hover svg {
    top: 5px;
    color: white; }

.header-animation__author {
  position: absolute;
  bottom: 0;
  z-index: 30; }
  .header-animation__author .subheading {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 0.57143em; }

.header {
  position: relative;
  border-bottom: 1px solid rgba(217, 196, 166, 0.5);
  z-index: 99; }
  .header .wrapper {
    align-items: center;
    justify-content: space-between;
    height: 70px;
    overflow: hidden; }
    .header .wrapper:hover {
      overflow: visible; }

@media only screen and (max-width: 599px) {
  .header__logo {
    width: calc(100% - 170px); } }

.header__logo img {
  width: 100%;
  max-width: 180px;
  height: auto; }

@media only screen and (max-width: 1199px) {
  .header__menu-main {
    display: none; } }

.header__menu-main > li {
  position: relative;
  margin-right: 25px; }
  .header__menu-main > li > a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.07143em;
    position: relative;
    font-family: "Merriweather";
    font-weight: 400;
    color: white;
    transition: all 500ms ease; }
    .header__menu-main > li > a svg {
      position: relative;
      top: 3px;
      width: 9px;
      height: 15px;
      margin-left: 5px;
      transition: transform 500ms ease; }
    .header__menu-main > li > a:after {
      position: absolute;
      bottom: -10px;
      left: 0;
      width: 100%;
      height: 6px;
      background-color: black;
      border-radius: 10px;
      transition: all 250ms ease;
      content: ''; }
  .header__menu-main > li:last-of-type {
    margin: 0; }
  .header__menu-main > li.current-menu-item > a:after, .header__menu-main > li:hover > a:after {
    background-color: #d9c4a6; }
  .header__menu-main > li:hover > a svg {
    transform: rotate(-90deg); }
  .header__menu-main > li:hover .submenu-container {
    opacity: 1;
    top: 100%; }

.header__menu-main .submenu-container {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate(-50%, 0%);
  min-width: 200px;
  padding-top: 27px;
  opacity: 0;
  transition: all 500ms ease; }
  .header__menu-main .submenu-container .submenu {
    background-color: black;
    padding: 25px; }
    .header__menu-main .submenu-container .submenu > li {
      margin-bottom: 30px; }
      .header__menu-main .submenu-container .submenu > li > a {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.07143em;
        display: flex;
        position: relative;
        width: fit-content;
        font-family: "Merriweather";
        font-weight: 400;
        transition: all 250ms ease; }
        .header__menu-main .submenu-container .submenu > li > a:after {
          position: absolute;
          bottom: -10px;
          left: 0;
          width: 100%;
          height: 6px;
          background-color: black;
          border-radius: 10px;
          transition: all 250ms ease;
          content: ''; }
      .header__menu-main .submenu-container .submenu > li:last-of-type {
        margin-bottom: 0; }
      .header__menu-main .submenu-container .submenu > li.current-menu-item > a:after, .header__menu-main .submenu-container .submenu > li:hover > a:after {
        background-color: #d9c4a6; }

.header__actions {
  align-items: center; }

/**
 * Language switch.
 */
.header__language-switch {
  position: relative;
  margin-left: 20px; }
  @media only screen and (max-width: 1199px) {
    .header__language-switch {
      display: none; } }
  .header__language-switch:hover svg {
    transform: rotate(-90deg); }
  .header__language-switch:hover .header__language-hover {
    opacity: 1;
    top: 100%; }

.header__language-item {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.07143em;
  text-transform: uppercase;
  font-family: "Merriweather"; }
  .header__language-item svg {
    position: relative;
    top: 3px;
    width: 9px;
    height: 15px;
    margin-left: 7px;
    transition: transform 500ms ease; }

.header__language-hover {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate(-50%, 0%);
  min-width: fit-content;
  padding: 0 10px;
  background-color: black;
  opacity: 0;
  transition: all 500ms ease; }
  .header__language-hover a {
    transition: all 250ms ease; }
    .header__language-hover a:hover {
      color: #d9c4a6; }

/**
 * Menu Button.
 */
@media only screen and (max-width: 1199px) {
  .header__menu-button {
    position: relative;
    width: 21px;
    height: 21px;
    margin-left: 10px;
    z-index: 100; }
    .header__menu-button span {
      display: inline-block;
      position: absolute;
      right: 0;
      left: 0;
      width: 21px;
      height: 3px;
      border-radius: 2px;
      margin: auto;
      background-color: white; }
      .header__menu-button span:nth-child(1) {
        top: 0;
        transition: background-color 400ms, top 400ms 400ms, transform 400ms 0s; }
      .header__menu-button span:nth-child(2) {
        top: calc(50% - 1.5px);
        transition: background-color 400ms, opacity 0ms 400ms;
        background-color: white;
        opacity: 1; }
      .header__menu-button span:nth-child(3) {
        bottom: 0;
        transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
        background-color: white; }
    .header__menu-button.is-active span:nth-child(1) {
      top: calc(50% - 1.5px);
      transform: rotate(-45deg);
      transition: background-color 400ms, top 400ms, transform 400ms 400ms; }
    .header__menu-button.is-active span:nth-child(2) {
      opacity: 0; }
    .header__menu-button.is-active span:nth-child(3) {
      bottom: calc(50% - 1.5px);
      transform: rotate(45deg);
      transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; } }

.image-slider {
  position: relative;
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .image-slider {
      margin-bottom: 75px; } }
  .image-slider.has-background {
    margin-bottom: 150px; }
    @media only screen and (max-width: 1199px) {
      .image-slider.has-background {
        margin-bottom: 75px; } }
  .image-slider .owl-dots {
    position: absolute;
    bottom: 20px;
    display: flex;
    justify-content: center;
    width: 100%; }
    .image-slider .owl-dots .owl-dot {
      display: block;
      width: 18px;
      height: 18px;
      margin-right: 10px;
      border: 2px solid #d9c4a6;
      border-radius: 10px; }
      .image-slider .owl-dots .owl-dot:hover, .image-slider .owl-dots .owl-dot.active {
        background-color: #d9c4a6; }
      .image-slider .owl-dots .owl-dot:last-of-type {
        margin: 0; }

.image-slider__slide {
  width: 100%;
  height: 900px; }
  @media only screen and (max-width: 1199px) {
    .image-slider__slide {
      height: 730px; } }
  @media only screen and (max-width: 899px) {
    .image-slider__slide {
      height: 550px; } }
  .image-slider__slide:hover img {
    transform: scale(1.03); }

.image-slider__image {
  position: relative;
  width: 100%;
  height: 900px; }
  @media only screen and (max-width: 1199px) {
    .image-slider__image {
      height: 730px; } }
  @media only screen and (max-width: 899px) {
    .image-slider__image {
      height: 550px; } }
  .image-slider__image img {
    transition: all 750ms ease; }
  .image-slider__image:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 335px;
    background: linear-gradient(189.51deg, #0c1105 7.18%, rgba(12, 17, 5, 0) 70%);
    content: '';
    z-index: 1; }

.image-slider__body {
  position: absolute;
  top: 100px;
  width: 100%;
  text-align: center;
  z-index: 2; }

.image-slider__subtitle {
  margin-bottom: 30px; }

.image-slider__title {
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.25); }

.navigation-mobile {
  position: fixed;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 71px);
  margin-top: 71px;
  transition: all 500ms ease;
  background: black;
  opacity: 0;
  z-index: 99;
  overflow-x: hidden; }
  .navigation-mobile.is-active {
    top: 0;
    opacity: 1; }
  .navigation-mobile::-webkit-scrollbar {
    display: none; }
  .navigation-mobile .wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%; }
  .navigation-mobile:after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%);
    width: 90px;
    height: 410px;
    background: url("./../images/navigation-background.png");
    background-size: contain;
    content: '';
    z-index: -1; }

/**
 * Main menu.
 */
.navigation-mobile__main > li {
  position: relative; }
  .navigation-mobile__main > li.current_page_ancestor > a:after, .navigation-mobile__main > li.current-menu-item > a:after {
    background-color: #d9c4a6; }
  .navigation-mobile__main > li.menu-item-has-children > a:after {
    width: calc(100% - 20px); }
  .navigation-mobile__main > li.is-active svg {
    transform: rotate(-90deg); }
  .navigation-mobile__main > li.is-active > a:after {
    background-color: #d9c4a6; }
  .navigation-mobile__main > li > a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.07143em;
    position: relative;
    font-family: "Merriweather";
    display: flex;
    width: fit-content;
    padding-top: 35px;
    color: white; }
    .navigation-mobile__main > li > a span {
      padding: 0 20px 0 5px;
      cursor: pointer; }
    .navigation-mobile__main > li > a svg {
      position: relative;
      top: 0;
      width: 11px;
      height: 16px;
      margin-left: 5px;
      transition: all 500ms ease;
      color: white; }
    .navigation-mobile__main > li > a:after {
      position: absolute;
      bottom: -10px;
      left: 0;
      width: 100%;
      height: 6px;
      background-color: black;
      border-radius: 10px;
      transition: all 250ms ease;
      content: ''; }
  .navigation-mobile__main > li .submenu-container {
    display: none;
    position: relative;
    margin: 35px -10px 0 10px;
    background-color: black; }
    .navigation-mobile__main > li .submenu-container li {
      display: flex;
      margin-bottom: 35px; }
      .navigation-mobile__main > li .submenu-container li a {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.42857em;
        position: relative;
        font-family: "Merriweather";
        font-weight: 400;
        color: white; }
        .navigation-mobile__main > li .submenu-container li a:after {
          position: absolute;
          bottom: -10px;
          left: 0;
          width: 100%;
          height: 6px;
          background-color: black;
          border-radius: 10px;
          transition: all 250ms ease;
          content: ''; }
      .navigation-mobile__main > li .submenu-container li:last-of-type {
        margin-bottom: 0; }
      .navigation-mobile__main > li .submenu-container li.current_page_ancestor > a:after, .navigation-mobile__main > li .submenu-container li.current-menu-item > a:after {
        background-color: #d9c4a6; }

/**
 * Language switch.
 */
.navigation-mobile__language-switch {
  position: absolute;
  top: 20px;
  right: 20px; }
  .navigation-mobile__language-switch.is-active .header__language-hover {
    top: calc(100% - 10px);
    left: 10px;
    opacity: 1; }
  .navigation-mobile__language-switch.is-active svg {
    transform: rotate(-90deg); }
  .navigation-mobile__language-switch .header__language-hover {
    transition: all 0ms ease; }

/**
 * Disable scroll.
 */
body.is-active {
  overflow: hidden; }
  body.is-active .header::before {
    bottom: 0; }

.news-item:hover .link {
  color: white; }
  .news-item:hover .link svg {
    color: white;
    margin-left: 15px; }

.news-item:hover .news-item__image img {
  transform: scale(1.1); }

.news-item__image {
  position: relative;
  width: 100%;
  height: 300px;
  overflow: hidden; }
  .news-item__image img {
    transform: scale(1);
    transition: all 250ms ease; }

.news-item__body {
  padding-top: 10px; }

.news-item__date {
  margin-bottom: 20px;
  color: #676565; }

.news-item__title {
  min-height: 68px;
  margin-bottom: 20px; }
  @media only screen and (max-width: 899px) {
    .news-item__title {
      min-height: auto; } }

.news-item__text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.85714em;
  margin-bottom: 20px; }

.news-latest {
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .news-latest {
      margin-bottom: 75px; } }
  .news-latest.has-background {
    margin-bottom: 150px; }
    @media only screen and (max-width: 1199px) {
      .news-latest.has-background {
        margin-bottom: 75px; } }

.news-latest__subtitle {
  margin-bottom: 40px; }

.news-latest__wrap {
  width: 100%; }
  .news-latest__wrap .news-item {
    width: 415px; }
    @media only screen and (max-width: 1199px) {
      .news-latest__wrap .news-item {
        width: 290px; } }
  .news-latest__wrap .owl-dots {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 25px;
    width: 100%; }
    .news-latest__wrap .owl-dots .owl-dot {
      display: block;
      width: 18px;
      height: 18px;
      margin-right: 10px;
      border: 2px solid #d9c4a6;
      border-radius: 10px; }
      .news-latest__wrap .owl-dots .owl-dot:hover, .news-latest__wrap .owl-dots .owl-dot.active {
        background-color: #d9c4a6; }
      .news-latest__wrap .owl-dots .owl-dot:last-of-type {
        margin: 0; }
      .news-latest__wrap .owl-dots .owl-dot:only-child {
        display: none; }

.news-list__title {
  margin: 100px 0;
  text-align: center; }

.news-list__subtitle {
  margin-bottom: 40px; }

.news-list__wrap {
  width: calc(100% + 30px);
  margin: -50px -15px; }
  @media only screen and (max-width: 1199px) {
    .news-list__wrap {
      width: calc(100% + 20px);
      margin: -50px -10px; } }
  @media only screen and (max-width: 899px) {
    .news-list__wrap {
      margin: -37.5px -10px; } }
  @media only screen and (max-width: 599px) {
    .news-list__wrap {
      width: 100%;
      margin: -37.5px 0; } }
  .news-list__wrap .news-item {
    width: calc(33.3333% - 30px);
    margin: 50px 15px; }
    @media only screen and (max-width: 1199px) {
      .news-list__wrap .news-item {
        width: calc(33.3333% - 20px);
        margin: 37.5px 10px; } }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-item {
        width: calc(50% - 20px);
        margin: 37.5px 10px; } }
    @media only screen and (max-width: 599px) {
      .news-list__wrap .news-item {
        width: 100%;
        margin: 37.5px 0; } }

.news-single {
  position: relative;
  margin: 100px 0; }
  @media only screen and (max-width: 1199px) {
    .news-single {
      margin: 75px 0; } }

.news-single__title {
  text-align: center; }

.news-single__column.is-subtitle {
  width: 25%; }
  @media only screen and (max-width: 1199px) {
    .news-single__column.is-subtitle {
      width: 100%;
      margin-bottom: 25px; } }

.news-single__column.is-body {
  width: calc(75% - 365px);
  padding-right: 35px; }
  @media only screen and (max-width: 1199px) {
    .news-single__column.is-body {
      width: calc(100% - 350px); } }
  @media only screen and (max-width: 899px) {
    .news-single__column.is-body {
      width: calc(100% - 250px);
      padding-right: 20px; } }
  @media only screen and (max-width: 599px) {
    .news-single__column.is-body {
      width: 100%; } }

.news-single__column.is-image {
  display: flex;
  justify-content: flex-end;
  width: 365px;
  min-height: 525px; }
  @media only screen and (max-width: 1199px) {
    .news-single__column.is-image {
      width: 350px;
      min-height: 500px; } }
  @media only screen and (max-width: 899px) {
    .news-single__column.is-image {
      width: 250px;
      min-height: 385px; } }
  @media only screen and (max-width: 599px) {
    .news-single__column.is-image {
      display: none; } }

.news-single__editor {
  margin-bottom: 30px; }
  @media only screen and (max-width: 599px) {
    .news-single__editor.hide-on-mobile {
      display: none; } }

.news-single__image {
  position: absolute;
  top: 0;
  right: 0;
  width: fit-content; }
  .news-single__image img {
    width: 100%;
    height: auto; }
  .news-single__image span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    display: block;
    margin-top: 10px;
    color: #d9c4a6; }

.news-single__image-wrap {
  position: relative;
  top: 0;
  right: 0;
  width: 365px;
  height: 500px;
  display: block; }
  @media only screen and (max-width: 1199px) {
    .news-single__image-wrap {
      height: 475px;
      width: 350px; } }
  @media only screen and (max-width: 899px) {
    .news-single__image-wrap {
      height: 360px;
      width: 250px; } }
  .news-single__image-wrap img {
    width: 100%;
    height: 100%; }

.reviews {
  position: relative;
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .reviews {
      margin-bottom: 75px; } }
  .reviews.has-background {
    margin-bottom: 150px; }
    @media only screen and (max-width: 1199px) {
      .reviews.has-background {
        margin-bottom: 75px; } }

.reviews__head {
  margin-bottom: 50px;
  text-align: center; }

.reviews__subtitle {
  margin-bottom: 20px; }

.reviews__wrap {
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto; }
  @media only screen and (max-width: 1199px) {
    .reviews__wrap {
      justify-content: center; } }

.reviews__item {
  width: fit-content;
  max-width: 280px; }
  @media only screen and (max-width: 1199px) {
    .reviews__item {
      display: none; } }
  @media only screen and (max-width: 1199px) {
    .reviews__item:first-of-type {
      display: block; } }

.reviews__item-head {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.2em;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(217, 196, 166, 0.5); }
  .reviews__item-head img {
    margin-right: 15px; }
    .reviews__item-head img.is-tripadvisor {
      width: auto;
      height: 35px; }
    .reviews__item-head img.is-google {
      width: auto;
      height: 32px; }
    .reviews__item-head img.is-iam {
      width: auto;
      height: 32px; }
  .reviews__item-head span {
    position: relative;
    top: 6px; }

.reviews__item-bullets {
  margin-right: 5px; }
  .reviews__item-bullets i {
    display: block;
    width: 17px;
    height: 17px;
    border-radius: 20px;
    background-color: #33e1a1;
    margin-right: 5px; }

.reviews__item-stars {
  margin-right: 5px; }
  .reviews__item-stars svg {
    display: block;
    width: 17px;
    height: 17px;
    margin-right: 5px;
    color: #ffd642; }

.reviews__item-body {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2em;
  justify-content: center;
  align-items: center;
  text-align: center; }

.reviews__item-extra-text {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.28571em;
  justify-content: center;
  align-items: center;
  text-align: center; }

.text-image {
  position: relative;
  padding: 100px 0;
  border-top: 1px solid rgba(217, 196, 166, 0.5);
  border-bottom: 1px solid rgba(217, 196, 166, 0.5);
  max-width: 1480px;
  margin: 0 auto;
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .text-image {
      margin-bottom: 75px;
      padding: 75px 0; } }
  .text-image.has-background {
    margin-bottom: 150px; }
    @media only screen and (max-width: 1199px) {
      .text-image.has-background {
        margin-bottom: 75px; } }
  .text-image.hide-top-border {
    padding-top: 0;
    border-top: 0; }
  .text-image.hide-bottom-border {
    padding-bottom: 0;
    border-bottom: 0; }

.text-image__column.is-subtitle {
  width: 25%; }
  @media only screen and (max-width: 1199px) {
    .text-image__column.is-subtitle {
      width: 100%;
      margin-bottom: 25px; } }

.text-image__column.is-body {
  width: calc(75% - 365px);
  padding-right: 35px; }
  @media only screen and (max-width: 1199px) {
    .text-image__column.is-body {
      width: calc(100% - 350px); } }
  @media only screen and (max-width: 899px) {
    .text-image__column.is-body {
      width: calc(100% - 250px);
      padding-right: 20px; } }
  @media only screen and (max-width: 599px) {
    .text-image__column.is-body {
      width: 100%; } }

.text-image__column.no-image {
  width: 75%; }
  @media only screen and (max-width: 1199px) {
    .text-image__column.no-image {
      width: 100%; } }
  @media only screen and (max-width: 899px) {
    .text-image__column.no-image {
      width: 100%;
      padding-right: 20px; } }
  @media only screen and (max-width: 599px) {
    .text-image__column.no-image {
      width: 100%; } }

.text-image__column.is-image {
  display: flex;
  justify-content: flex-end;
  width: 365px; }
  @media only screen and (max-width: 1199px) {
    .text-image__column.is-image {
      width: 350px; } }
  @media only screen and (max-width: 899px) {
    .text-image__column.is-image {
      width: 250px; } }
  @media only screen and (max-width: 599px) {
    .text-image__column.is-image {
      width: 100%; } }

.text-image__column.is-image-big {
  min-height: 525px; }
  @media only screen and (max-width: 1199px) {
    .text-image__column.is-image-big {
      min-height: 500px; } }
  @media only screen and (max-width: 899px) {
    .text-image__column.is-image-big {
      min-height: 385px; } }
  @media only screen and (max-width: 599px) {
    .text-image__column.is-image-big {
      display: none; } }

.text-image__title {
  margin-bottom: 30px; }

.text-image__editor {
  margin-bottom: 30px; }
  @media only screen and (max-width: 599px) {
    .text-image__editor.hide-on-mobile {
      display: none; } }

.text-image__image {
  width: fit-content; }
  .text-image__image img {
    width: 100%;
    height: auto; }
  .text-image__image span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    display: block;
    margin-top: 10px;
    color: #d9c4a6; }
  .text-image__image.is-big {
    position: absolute;
    top: 0;
    right: 0; }

.text-image__image-wrap {
  position: relative;
  top: 0;
  right: 0;
  width: 365px;
  height: 500px;
  display: block; }
  @media only screen and (max-width: 1199px) {
    .text-image__image-wrap {
      height: 475px;
      width: 350px; } }
  @media only screen and (max-width: 899px) {
    .text-image__image-wrap {
      height: 360px;
      width: 250px; } }
  .text-image__image-wrap img {
    width: 100%;
    height: 100%; }

.text-slider {
  position: relative;
  margin-bottom: 100px;
  max-width: 1480px;
  margin: 0 auto; }
  @media only screen and (max-width: 1199px) {
    .text-slider {
      margin-bottom: 75px; } }
  .text-slider.has-background {
    margin-bottom: 150px; }
    @media only screen and (max-width: 1199px) {
      .text-slider.has-background {
        margin-bottom: 75px; } }
  .text-slider .owl-nav {
    position: absolute;
    width: 310px;
    left: calc(75% - 130px);
    bottom: 20px; }
    @media only screen and (max-width: 1199px) {
      .text-slider .owl-nav {
        display: none; } }
    .text-slider .owl-nav button {
      width: 50%; }
      .text-slider .owl-nav button:hover .is-prev svg {
        left: 5px; }
      .text-slider .owl-nav button:hover .is-next svg {
        right: 5px; }
      .text-slider .owl-nav button.disabled {
        opacity: 0.3;
        cursor: default; }
        .text-slider .owl-nav button.disabled:hover .is-prev svg {
          left: 10px; }
        .text-slider .owl-nav button.disabled:hover .is-next svg {
          right: 10px; }
  .text-slider .owl-dots {
    display: none; }
    @media only screen and (max-width: 1199px) {
      .text-slider .owl-dots {
        display: flex;
        position: absolute;
        justify-content: center;
        width: 100%;
        margin-top: 20px; } }
    .text-slider .owl-dots button {
      display: block;
      width: 18px;
      height: 18px;
      margin-right: 10px;
      border: 1px solid #d9c4a6;
      border-radius: 20px; }
      .text-slider .owl-dots button:hover, .text-slider .owl-dots button.active {
        background-color: #d9c4a6; }
      .text-slider .owl-dots button:last-of-type {
        margin: 0; }

.text-slider__button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 40px;
  border: 1px solid black;
  color: black;
  font-family: "Merriweather";
  transition: all 250ms ease; }
  .text-slider__button svg {
    position: absolute;
    top: 13px;
    right: 10px;
    width: 13px;
    height: 14px;
    color: black;
    transition: all 250ms ease; }
  .text-slider__button.is-prev svg {
    right: auto;
    left: 10px; }

.text-slider__slide {
  justify-content: space-between; }

.text-slider__image {
  position: relative;
  width: calc(50% - 15px);
  height: 800px; }
  @media only screen and (max-width: 1199px) {
    .text-slider__image {
      width: calc(50% - 10px);
      height: 630px; } }
  @media only screen and (max-width: 899px) {
    .text-slider__image {
      height: 475px; } }
  @media only screen and (max-width: 599px) {
    .text-slider__image {
      width: 100%;
      height: 410px; } }

.text-slider__text {
  align-content: space-between;
  width: calc(50% - 15px);
  background-color: #d9c4a6;
  height: 800px;
  color: black; }
  @media only screen and (max-width: 1199px) {
    .text-slider__text {
      align-content: center;
      width: calc(50% - 10px);
      height: 630px; } }
  @media only screen and (max-width: 899px) {
    .text-slider__text {
      height: 475px; } }
  @media only screen and (max-width: 599px) {
    .text-slider__text {
      width: 100%;
      height: 410px; } }

.text-slider__head {
  width: 100%;
  padding: 40px 40px 0 40px;
  text-align: center; }
  @media only screen and (max-width: 1199px) {
    .text-slider__head {
      padding-bottom: 20px; } }
  @media only screen and (max-width: 599px) {
    .text-slider__head {
      padding-top: 20px; } }

.text-slider__subtitle {
  margin-bottom: 50px; }
  @media only screen and (max-width: 1199px) {
    .text-slider__subtitle {
      margin-bottom: 20px; } }

.text-slider__body {
  width: 100%;
  padding: 10px 40px 75px 40px;
  border-top: 1px solid black;
  font-weight: 400; }
  @media only screen and (max-width: 1199px) {
    .text-slider__body {
      padding: 20px 40px 40px 40px;
      margin: 0 20px;
      text-align: center; } }
  @media only screen and (max-width: 599px) {
    .text-slider__body {
      padding-bottom: 20px; } }

@media only screen and (max-width: 1199px) {
  .text-slider__editor {
    display: none; } }

.text-slider__editor-title {
  margin-bottom: 30px; }

.text-slider__link {
  margin-top: 10px;
  color: black; }
  .text-slider__link svg {
    color: black; }

.timeline {
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .timeline {
      margin-bottom: 75px; } }
  @media only screen and (max-width: 599px) {
    .timeline > div {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column-reverse; } }

.timeline--has-background {
  position: relative;
  margin-top: 150px; }
  @media only screen and (max-width: 899px) {
    .timeline--has-background {
      margin-top: 75px; } }
  .timeline--has-background:after {
    position: absolute;
    top: -150px;
    right: 0;
    left: 0;
    width: 1440px;
    height: 150px;
    margin: 0 auto;
    background: url(./../images/background-3.png) no-repeat;
    background-size: contain;
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 899px) {
      .timeline--has-background:after {
        top: -75px; } }

/**
 * Main.
 */
.timeline__main {
  width: 100%; }

.timeline__subtitle-column {
  width: 25%; }
  @media only screen and (max-width: 1199px) {
    .timeline__subtitle-column {
      width: 100%;
      margin-bottom: 25px; } }

.timeline__events {
  position: relative;
  width: 75%; }
  @media only screen and (max-width: 1199px) {
    .timeline__events {
      width: 100%; } }

/**
 * Event.
 */
.timeline__event {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: space-between;
  align-items: flex-start; }
  .timeline__event.is-active {
    display: flex;
    z-index: 99; }
    .timeline__event.is-active .timeline__event-image img {
      transform: translateY(0%);
      transition-delay: 0ms;
      opacity: 1; }
    .timeline__event.is-active .timeline__event-body {
      display: block; }
  .timeline__event.no-delay .timeline__event-image img {
    transition: transform 500ms cubic-bezier(0.3, -0.05, 0.7, -0.5), opacity 5000ms ease;
    transition-delay: 0ms; }
  .timeline__event.no-animation .timeline__event-image img {
    transition: transform 0ms ease, opacity 0ms ease; }

.timeline__event-image {
  position: relative;
  width: 230px;
  height: 270px;
  margin-top: 32.5px;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .timeline__event-image {
      display: none; } }
  .timeline__event-image img {
    transform: translateY(100%);
    opacity: 0;
    transition: transform 500ms cubic-bezier(0.18, 0.89, 0.32, 1.28), opacity 500ms ease;
    transition-delay: 500ms; }
  .timeline__event-image.is-mobile {
    display: none; }
    @media only screen and (max-width: 599px) {
      .timeline__event-image.is-mobile {
        display: block;
        margin: 0 0 30px 0; } }

.timeline__event-body {
  display: none;
  width: calc(100% - 280px);
  max-width: 640px; }
  @media only screen and (max-width: 599px) {
    .timeline__event-body {
      width: 100%; } }
  .timeline__event-body a {
    color: #d9c4a6;
    text-decoration: underline;
    transition: all 250ms ease; }
    .timeline__event-body a:hover {
      color: white; }

.timeline__event-title {
  margin-bottom: 30px; }

.timeline__event-editor {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2em; }
  @media only screen and (max-width: 599px) {
    .timeline__event-editor {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.85714em; } }

/**
 * Count.
 */
.timeline__count {
  justify-content: flex-end;
  width: 100%;
  margin-top: 40px; }
  @media only screen and (max-width: 599px) {
    .timeline__count {
      margin: 40px 0; } }

.timeline__count-wrap {
  align-items: center;
  width: calc(100% - 280px);
  max-width: 640px; }
  @media only screen and (max-width: 599px) {
    .timeline__count-wrap {
      width: 100%; } }

.timeline__count-number {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.2em;
  margin-right: 10px;
  color: #d9c4a6; }

.timeline__count-background {
  position: relative;
  width: 100%;
  height: 10px;
  background-color: rgba(217, 196, 166, 0.2);
  border-radius: 5px; }

.timeline__count-foreground {
  position: absolute;
  top: 0;
  left: 0;
  height: 10px;
  background-color: #d9c4a6;
  border-radius: 5px;
  transition: all 500ms cubic-bezier(0.18, 0.89, 0.32, 1.28); }

/**
* Slider.
*/
.timeline__slider {
  margin-top: 60px; }
  .timeline__slider .owl-stage-outer {
    overflow: visible; }

.timeline__slide {
  display: block;
  text-align: center;
  width: 110px;
  padding: 0 10px 15px 10px; }
  .timeline__slide:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: black;
    border-radius: 10px;
    transition: all 250ms ease;
    content: ''; }
  .timeline__slide:hover .timeline__slide-image, .timeline__slide.is-active .timeline__slide-image {
    margin-top: -30px;
    margin-bottom: 70px;
    opacity: 0.3; }
    @media only screen and (max-width: 599px) {
      .timeline__slide:hover .timeline__slide-image, .timeline__slide.is-active .timeline__slide-image {
        opacity: 1; } }
  .timeline__slide:hover:after, .timeline__slide.is-active:after {
    background-color: #d9c4a6; }

.timeline__slide-image {
  position: relative;
  width: 90px;
  height: 110px;
  margin-bottom: 40px;
  transition: all 250ms ease; }

.timeline__slide-label {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  color: #d9c4a6; }

.faq {
  margin-bottom: 100px;
  border-bottom: 1px solid rgba(217, 196, 166, 0.5);
  position: relative; }
  .faq:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: -600px;
    width: 600px;
    border-top: 1px solid rgba(217, 196, 166, 0.5); }
  .faq:before {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -600px;
    width: 600px;
    border-top: 1px solid rgba(217, 196, 166, 0.5); }

.faq-under {
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 50px; }

.faq-item {
  position: relative;
  border-top: 1px solid rgba(217, 196, 166, 0.5);
  padding: 40px 0;
  max-width: 640px;
  margin: 0 auto; }
  .faq-item:after {
    content: '';
    position: absolute;
    top: -1px;
    left: -600px;
    width: 600px;
    border-top: 1px solid rgba(217, 196, 166, 0.5); }
  .faq-item:before {
    content: '';
    position: absolute;
    top: -1px;
    right: -600px;
    width: 600px;
    border-top: 1px solid rgba(217, 196, 166, 0.5); }

.faq-item__header {
  display: flex;
  justify-content: space-between;
  cursor: pointer; }
  .faq-item__header.is-active .faq-item__angle-down svg {
    transition: all 200ms ease-in;
    transform: rotate(180deg); }

.faq-item__title {
  font-weight: 700;
  font-size: 18px; }

.faq-item__angle-down svg {
  transition: all 200ms ease-in;
  height: 14px;
  width: auto;
  color: #d9c4a6; }

.faq-item__body {
  display: none;
  margin-top: 30px; }

/**
 * Utilities.
 */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
			 * `color` black-100 color utility.
			 */
.color-black-100 {
  color: black; }

/**
			 * `background-color` black-100 color utility.
			 */
.background-color-black-100 {
  background-color: black; }

/**
			 * `color` rgba(0, 0, 0, 0.25)-25 color utility.
			 */
.color-black-25 {
  color: rgba(0, 0, 0, 0.25); }

/**
			 * `background-color` rgba(0, 0, 0, 0.25)-25 color utility.
			 */
.background-color-black-25 {
  background-color: rgba(0, 0, 0, 0.25); }

/**
			 * `color` white-100 color utility.
			 */
.color-white-100 {
  color: white; }

/**
			 * `background-color` white-100 color utility.
			 */
.background-color-white-100 {
  background-color: white; }

/**
			 * `color` rgba(255, 255, 255, 0.7)-70 color utility.
			 */
.color-white-70 {
  color: rgba(255, 255, 255, 0.7); }

/**
			 * `background-color` rgba(255, 255, 255, 0.7)-70 color utility.
			 */
.background-color-white-70 {
  background-color: rgba(255, 255, 255, 0.7); }

/**
			 * `color` #676565-100 color utility.
			 */
.color-grey-100 {
  color: #676565; }

/**
			 * `background-color` #676565-100 color utility.
			 */
.background-color-grey-100 {
  background-color: #676565; }

/**
			 * `color` #0c1105-100 color utility.
			 */
.color-gradient-100 {
  color: #0c1105; }

/**
			 * `background-color` #0c1105-100 color utility.
			 */
.background-color-gradient-100 {
  background-color: #0c1105; }

/**
			 * `color` rgba(12, 17, 5, 0.07)-7 color utility.
			 */
.color-gradient-7 {
  color: rgba(12, 17, 5, 0.07); }

/**
			 * `background-color` rgba(12, 17, 5, 0.07)-7 color utility.
			 */
.background-color-gradient-7 {
  background-color: rgba(12, 17, 5, 0.07); }

/**
			 * `color` rgba(12, 17, 5, 0)-0 color utility.
			 */
.color-gradient-0 {
  color: rgba(12, 17, 5, 0); }

/**
			 * `background-color` rgba(12, 17, 5, 0)-0 color utility.
			 */
.background-color-gradient-0 {
  background-color: rgba(12, 17, 5, 0); }

/**
			 * `color` #d9c4a6-100 color utility.
			 */
.color-beige-100 {
  color: #d9c4a6; }

/**
			 * `background-color` #d9c4a6-100 color utility.
			 */
.background-color-beige-100 {
  background-color: #d9c4a6; }

/**
			 * `color` rgba(217, 196, 166, 0.5)-50 color utility.
			 */
.color-beige-50 {
  color: rgba(217, 196, 166, 0.5); }

/**
			 * `background-color` rgba(217, 196, 166, 0.5)-50 color utility.
			 */
.background-color-beige-50 {
  background-color: rgba(217, 196, 166, 0.5); }

/**
			 * `color` rgba(217, 196, 166, 0.2)-20 color utility.
			 */
.color-beige-20 {
  color: rgba(217, 196, 166, 0.2); }

/**
			 * `background-color` rgba(217, 196, 166, 0.2)-20 color utility.
			 */
.background-color-beige-20 {
  background-color: rgba(217, 196, 166, 0.2); }

/**
			 * `color` #d02a25-100 color utility.
			 */
.color-red-100 {
  color: #d02a25; }

/**
			 * `background-color` #d02a25-100 color utility.
			 */
.background-color-red-100 {
  background-color: #d02a25; }

/**
			 * `color` rgba(208, 42, 37, 0.08)-8 color utility.
			 */
.color-red-8 {
  color: rgba(208, 42, 37, 0.08); }

/**
			 * `background-color` rgba(208, 42, 37, 0.08)-8 color utility.
			 */
.background-color-red-8 {
  background-color: rgba(208, 42, 37, 0.08); }

/**
			 * `color` #33e1a1-100 color utility.
			 */
.color-green-100 {
  color: #33e1a1; }

/**
			 * `background-color` #33e1a1-100 color utility.
			 */
.background-color-green-100 {
  background-color: #33e1a1; }

/**
			 * `color` #ffd642-100 color utility.
			 */
.color-yellow-100 {
  color: #ffd642; }

/**
			 * `background-color` #ffd642-100 color utility.
			 */
.background-color-yellow-100 {
  background-color: #ffd642; }

/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */

.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 * Loop through every value for the `object-fit` property.
 */
/**
	 * `object-fit` fill utility class.
	 */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  object-fit: fill; }

/**
	 * `object-fit` contain utility class.
	 */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  object-fit: contain; }

/**
	 * `object-fit` cover utility class.
	 */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  object-fit: cover; }

/**
	 * `object-fit` none utility class.
	 */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  object-fit: none; }

/**
	 * `object-fit` scale-down utility class.
	 */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  object-fit: scale-down; }

/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Rubik"; }

.text-xs-heading {
  font-family: "Merriweather"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Rubik"; }
  .text-sm-heading {
    font-family: "Merriweather"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Rubik"; }
  .text-md-heading {
    font-family: "Merriweather"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Rubik"; }
  .text-lg-heading {
    font-family: "Merriweather"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Rubik"; }
  .text-xl-heading {
    font-family: "Merriweather"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.25em; }

.text-xs-h2 {
  font-size: 44px;
  font-size: 4.4rem;
  line-height: 1.22727em; }

.text-xs-h3 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.38889em; }

.text-xs-h4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.45833em; }

.text-xs-h5 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.94444em; }

.text-xs-p {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.25em; }
  .text-sm-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.22727em; }
  .text-sm-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.38889em; }
  .text-sm-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.45833em; }
  .text-sm-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.94444em; }
  .text-sm-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.25em; }
  .text-md-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.22727em; }
  .text-md-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.38889em; }
  .text-md-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.45833em; }
  .text-md-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.94444em; }
  .text-md-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.25em; }
  .text-lg-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.22727em; }
  .text-lg-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.38889em; }
  .text-lg-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.45833em; }
  .text-lg-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.94444em; }
  .text-lg-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 48px;
    font-size: 4.8rem;
    line-height: 1.25em; }
  .text-xl-h2 {
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1.22727em; }
  .text-xl-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.38889em; }
  .text-xl-h4 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.45833em; }
  .text-xl-h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.94444em; }
  .text-xl-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2em; } }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

.text-xs-right {
  text-align: right; }

.text-xs-center {
  text-align: center; }

@media only screen and (max-width: 599px) {
  .text-sm-left {
    text-align: left; }
  .text-sm-right {
    text-align: right; }
  .text-sm-center {
    text-align: center; } }

@media only screen and (min-width: 600px) {
  .text-md-left {
    text-align: left; }
  .text-md-right {
    text-align: right; }
  .text-md-center {
    text-align: center; } }

@media only screen and (min-width: 900px) {
  .text-lg-left {
    text-align: left; }
  .text-lg-right {
    text-align: right; }
  .text-lg-center {
    text-align: center; } }

@media only screen and (min-width: 1200px) {
  .text-xl-left {
    text-align: left; }
  .text-xl-right {
    text-align: right; }
  .text-xl-center {
    text-align: center; } }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

@media only screen and (max-width: 599px) {
  .text-sm-100 {
    font-weight: 100; }
  .text-sm-200 {
    font-weight: 200; }
  .text-sm-300 {
    font-weight: 300; }
  .text-sm-400 {
    font-weight: 400; }
  .text-sm-500 {
    font-weight: 500; }
  .text-sm-600 {
    font-weight: 600; }
  .text-sm-700 {
    font-weight: 700; }
  .text-sm-800 {
    font-weight: 800; }
  .text-sm-900 {
    font-weight: 900; } }

@media only screen and (min-width: 600px) {
  .text-md-100 {
    font-weight: 100; }
  .text-md-200 {
    font-weight: 200; }
  .text-md-300 {
    font-weight: 300; }
  .text-md-400 {
    font-weight: 400; }
  .text-md-500 {
    font-weight: 500; }
  .text-md-600 {
    font-weight: 600; }
  .text-md-700 {
    font-weight: 700; }
  .text-md-800 {
    font-weight: 800; }
  .text-md-900 {
    font-weight: 900; } }

@media only screen and (min-width: 900px) {
  .text-lg-100 {
    font-weight: 100; }
  .text-lg-200 {
    font-weight: 200; }
  .text-lg-300 {
    font-weight: 300; }
  .text-lg-400 {
    font-weight: 400; }
  .text-lg-500 {
    font-weight: 500; }
  .text-lg-600 {
    font-weight: 600; }
  .text-lg-700 {
    font-weight: 700; }
  .text-lg-800 {
    font-weight: 800; }
  .text-lg-900 {
    font-weight: 900; } }

@media only screen and (min-width: 1200px) {
  .text-xl-100 {
    font-weight: 100; }
  .text-xl-200 {
    font-weight: 200; }
  .text-xl-300 {
    font-weight: 300; }
  .text-xl-400 {
    font-weight: 400; }
  .text-xl-500 {
    font-weight: 500; }
  .text-xl-600 {
    font-weight: 600; }
  .text-xl-700 {
    font-weight: 700; }
  .text-xl-800 {
    font-weight: 800; }
  .text-xl-900 {
    font-weight: 900; } }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

.text-xs-uppercase {
  text-transform: uppercase; }

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

@media only screen and (max-width: 599px) {
  .text-sm-capitalize {
    text-transform: capitalize; }
  .text-sm-uppercase {
    text-transform: uppercase; }
  .text-sm-lowercase {
    text-transform: lowercase; }
  .text-sm-none {
    text-transform: none; }
  .text-sm-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 600px) {
  .text-md-capitalize {
    text-transform: capitalize; }
  .text-md-uppercase {
    text-transform: uppercase; }
  .text-md-lowercase {
    text-transform: lowercase; }
  .text-md-none {
    text-transform: none; }
  .text-md-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 900px) {
  .text-lg-capitalize {
    text-transform: capitalize; }
  .text-lg-uppercase {
    text-transform: uppercase; }
  .text-lg-lowercase {
    text-transform: lowercase; }
  .text-lg-none {
    text-transform: none; }
  .text-lg-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 1200px) {
  .text-xl-capitalize {
    text-transform: capitalize; }
  .text-xl-uppercase {
    text-transform: uppercase; }
  .text-xl-lowercase {
    text-transform: lowercase; }
  .text-xl-none {
    text-transform: none; }
  .text-xl-full-width {
    text-transform: full-width; } }

/**
 * Vertical Rhythm.
 */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsInRvb2xzL191aS1kYXRlcGlja2VyLnNjc3MiLCJnZW5lcmljL19iYXNlLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYmFja2dyb3VuZC5zY3NzIiwib2JqZWN0cy9fYnJlYWRjcnVtYnMuc2NzcyIsIm9iamVjdHMvX2J1dHRvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRhaW5lci5zY3NzIiwib2JqZWN0cy9fY29udGVudC1jb25zdHJhaW50LnNjc3MiLCJvYmplY3RzL19mbGV4LnNjc3MiLCJvYmplY3RzL19mb3JtLnNjc3MiLCJvYmplY3RzL19oZWFkaW5ncy5zY3NzIiwib2JqZWN0cy9fbGF6eS1sb2FkLnNjc3MiLCJvYmplY3RzL19saW5rcy5zY3NzIiwib2JqZWN0cy9fcGFnaW5hdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXItYW5pbWF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi1tb2JpbGUuc2NzcyIsImNvbXBvbmVudHMvX25ld3MtaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1sYXRlc3Quc2NzcyIsImNvbXBvbmVudHMvX25ld3MtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvX3Jldmlld3Muc2NzcyIsImNvbXBvbmVudHMvX3RleHQtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3RleHQtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL190aW1lbGluZS5zY3NzIiwiY29tcG9uZW50cy9fZmFxLnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9fb2JqZWN0LWZpdC5zY3NzIiwidXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwidXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ1dGlsaXRpZXMvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwidXRpbGl0aWVzL196LWluZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNldHRpbmdzLlxyXG4gKi9cclxuQGltcG9ydCAnc2V0dGluZ3MvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogVmVuZG9yLlxyXG4gKi9cclxuQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplJztcclxuQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9vd2wuY2Fyb3VzZWwnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuQGltcG9ydCAndG9vbHMvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogRWxlbWVudHMuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmFsLlxyXG4gKi9cclxuQGltcG9ydCAnZ2VuZXJpYy9iYXNlJztcclxuQGltcG9ydCAnZ2VuZXJpYy9yZXNldCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE9iamVjdHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdvYmplY3RzL2JhY2tncm91bmQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2JyZWFkY3J1bWJzJztcclxuQGltcG9ydCAnb2JqZWN0cy9idXR0b25zJztcclxuQGltcG9ydCAnb2JqZWN0cy9jb250YWluZXInO1xyXG5AaW1wb3J0ICdvYmplY3RzL2NvbnRlbnQtY29uc3RyYWludCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZmxleCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZm9ybSc7XHJcbkBpbXBvcnQgJ29iamVjdHMvaGVhZGluZ3MnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2xhenktbG9hZCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvbGlua3MnO1xyXG5AaW1wb3J0ICdvYmplY3RzL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdvYmplY3RzL3dyYXBwZXInO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRzLlxyXG4gKi9cclxuQGltcG9ydCAnY29tcG9uZW50cy9jbXMtb3V0cHV0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWN0LWZvcm0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtaGVhZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlci1hbmltYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW1hZ2Utc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1vYmlsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1pdGVtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLWxhdGVzdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1saXN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLXNpbmdsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2aWV3cyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGV4dC1pbWFnZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGV4dC1zbGlkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpbWVsaW5lJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9mYXEnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBVdGlsaXRpZXMuXHJcbiAqL1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvY29sb3InO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvaGVscGVycyc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9vYmplY3QtZml0JztcclxuQGltcG9ydCAndXRpbGl0aWVzL3Bvc2l0aW9uJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3RleHQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdmVydGljYWwtcmh5dGhtJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3otaW5kZXgnO1xyXG4iLCIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG4gXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdjb2xvcic7XHJcbkBpbXBvcnQgJ3otaW5kZXgnO1xyXG5AaW1wb3J0ICdkZWZpbml0aW9ucyc7XHJcbiIsIi8qKlxyXG4gKiBGb250IGZhbWlseSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtZmFtaWx5OiAoXHJcblx0J2RlZmF1bHQnOiAnUnViaWsnLFxyXG5cdCdoZWFkaW5nJzogJ01lcnJpd2VhdGhlcidcclxuKTtcclxuXHJcblxyXG4vKipcclxuICogRm9udCBzaXplIG1hcC5cclxuICovXHJcblxyXG4kZm9udC1zaXplOiAoXHJcblx0J2gxJzogNDhweCxcclxuXHQnaDInOiA0NHB4LFxyXG5cdCdoMyc6IDM2cHgsXHJcblx0J2g0JzogMjRweCxcclxuXHQnaDUnOiAxOHB4LFxyXG5cdCdwJzogMThweFxyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBMaW5lIGhlaWdodCBtYXAuXHJcbiAqL1xyXG5cclxuJGxpbmUtaGVpZ2h0OiAoXHJcblx0J2gxJzogNjBweCxcclxuXHQnaDInOiA1NHB4LFxyXG5cdCdoMyc6IDUwcHgsXHJcblx0J2g0JzogMzVweCxcclxuXHQnaDUnOiAzNXB4LFxyXG5cdCdwJzogMzZweFxyXG4pO1xyXG4iLCIvLyBDb2xvciBtYXAuXHJcbiRjb2xvcnM6IChcclxuXHQnYmxhY2snOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMCUsIDEpLFxyXG5cdFx0JzI1JzogaHNsYSgwLCAwJSwgMCUsIDAuMjUpXHJcblx0KSxcclxuXHQnd2hpdGUnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMTAwJSwgMSksXHJcblx0XHQnNzAnOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjcpXHJcblx0KSxcclxuXHQnZ3JleSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDAsIDElLCA0MCUsIDEpLCAvLyA2NzY1NjVcclxuXHQpLFxyXG5cdCdncmFkaWVudCc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDg1LCA1NC41JSAsNC4zJSwgMSksIC8vIDBDMTEwNVxyXG5cdFx0JzcnOiBoc2xhKDg1LCA1NC41JSAsNC4zJSwgMC4wNyksIC8vIDBDMTEwNVxyXG5cdFx0JzAnOiBoc2xhKDg1LCA1NC41JSAsNC4zJSwgMCksIC8vIDBDMTEwNVxyXG5cdCksXHJcblx0J2JlaWdlJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMzYsIDQwJSwgNzUlLCAxKSwgLy8gRDlDNUE3XHJcblx0XHQnNTAnOiBoc2xhKDM2LCA0MCUsIDc1JSwgMC41KSwgLy8gRDlDNUE3XHJcblx0XHQnMjAnOiBoc2xhKDM2LCA0MCUsIDc1JSwgMC4yKSAvLyBEOUM1QTdcclxuXHQpLFxyXG5cdCdyZWQnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyLCA3MCUsIDQ4JSwgMSksIC8vIEQwMkMyNVxyXG5cdFx0JzgnOiBoc2xhKDIsIDcwJSwgNDglLCAwLjA4KSAvLyBEMDJDMjVcclxuXHQpLFxyXG5cdCdncmVlbic6IChcclxuXHRcdCcxMDAnOiBoc2xhKDE1OCwgNzQsIDU0LCAxKSwgLy8gMzNFMEExLCAxMDAlXHJcblx0KSxcclxuXHQneWVsbG93JzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoNDcsIDEwMCwgNjMsIDEpLCAvLyBGRkQ2NDMsIDEwMCVcclxuXHQpXHJcbik7XHJcblxyXG4vLyBDb2xvciBzaG9ydGhhbmQgdmFyaWFibGVzLlxyXG4kYmxhY2stMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMDAnKTtcclxuJGJsYWNrLTI1OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcyNScpO1xyXG4kd2hpdGUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICcxMDAnKTtcclxuJHdoaXRlLTcwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICc3MCcpO1xyXG4kYmVpZ2UtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JlaWdlJyksICcxMDAnKTtcclxuJGJlaWdlLTUwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JlaWdlJyksICc1MCcpO1xyXG4kYmVpZ2UtMjA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmVpZ2UnKSwgJzIwJyk7XHJcbiRncmV5LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcxMDAnKTtcclxuJGdyYWRpZW50LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmFkaWVudCcpLCAnMTAwJyk7XHJcbiRncmFkaWVudC03OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyYWRpZW50JyksICc3Jyk7XHJcbiRncmFkaWVudC0wOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyYWRpZW50JyksICcwJyk7XHJcbiRncmVlbi0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzEwMCcpO1xyXG4keWVsbG93LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd5ZWxsb3cnKSwgJzEwMCcpO1xyXG4kcmVkLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwMCcpO1xyXG4kcmVkLTg6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICc4Jyk7XHJcblxyXG4vLyBQcmltYXJ5IGNvbG9yLlxyXG4kY29sb3ItcHJpbWFyeTogJGJlaWdlLTEwMDsiLCIvLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gRXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcblx0JzAnOiAgMCxcclxuXHQnMSc6ICAxMCxcclxuXHQnMic6ICAyMCxcclxuXHQnMyc6ICAzMCxcclxuXHQnNCc6ICA0MCxcclxuXHQnNSc6ICA1MCxcclxuXHQnNic6ICA2MCxcclxuXHQnNyc6ICA3MCxcclxuXHQnOCc6ICA4MCxcclxuXHQnOSc6ICA5MCxcclxuXHQnMTAnOiAxMDBcclxuKTtcclxuIiwiLyoqXHJcbiAqIEdyaWQuXHJcbiAqL1xyXG5cclxuLy8gR3JpZCB3aWR0aC5cclxuLy8gTWF4aW11bSBjb250YWluZXIgd2lkdGguXHJcbiRncmlkLXdpZHRoOiAxMDI0cHg7XHJcblxyXG4vLyBHcmlkIGNvbHVtbnMuXHJcbi8vIEFtb3VudCBvZiBncmlkIGNvbHVtbnMgdG8gY2FsY3VsYXRlIGEgY29sdW1uIHdpZHRoIHdpdGguXHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG5cclxuLy8gR3JpZCBnYXAuXHJcbi8vIFNwYWNlIGJldHdlZW4gZ3JpZCBjb2x1bW5zLCBhdXRvbWF0ZWQuXHJcbiRncmlkLWdhcDogMjBweDtcclxuXHJcblxyXG4vKipcclxuICogQXNzZXRzLlxyXG4gKi9cclxuXHJcbi8vIEltYWdlIHBhdGguXHJcbiRpbWFnZS1wYXRoOiAnLi4vaW1hZ2VzLyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEJvZHkuXHJcbiAqL1xyXG5cclxuLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4kYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuLy8gQm9keSBjb2xvci5cclxuJGJvZHktY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGZvbnQgZmFtaWx5LlxyXG4kYm9keS1mb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XHJcblxyXG4vLyBCb2R5IHRleHQuXHJcbiRib2R5LXRleHQ6ICdwJztcclxuXHJcblxyXG4vKipcclxuICogT3RoZXIuXHJcbiAqL1xyXG5cclxuLy8gTGluayBjb2xvci5cclxuJGxpbmstY29sb3I6ICRibGFjay0xMDA7XHJcblxyXG4vLyBTZWxlY3QgY29sb3IuXHJcbio6OnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJlaWdlLTEwMDtcclxuICBjb2xvcjogJGJsYWNrLTEwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3BvbnNpdmUuXHJcbiAqL1xyXG5cclxuLy8gR3JpZCBicmVha3BvaW50IGFsaWFzLlxyXG4kYnJlYWtwb2ludHM6IChcclxuXHR4czogbnVsbCxcclxuXHRzbTogJ3Bob25lJyxcclxuXHRtZDogJ3RhYmxldC1wb3J0cmFpdC11cCcsXHJcblx0bGc6ICd0YWJsZXQtbGFuZHNjYXBlLXVwJyxcclxuXHR4bDogJ2Rlc2t0b3AnXHJcbik7XHJcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAaW1wb3J0ICdjb3JlJztcbkBpbXBvcnQgJ2FuaW1hdGUnO1xuQGltcG9ydCAnYXV0b2hlaWdodCc7XG5AaW1wb3J0ICdsYXp5bG9hZCc7XG5AaW1wb3J0ICd2aWRlbyc7XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Lm93bC1zdGFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHR9XG5cblx0Lm93bC13cmFwcGVyLFxuXHQub3dsLWl0ZW17XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHR9XG5cblx0Lm93bC1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHR9XG5cdC5vd2wtaXRlbSBpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Lm93bC1uYXYuZGlzYWJsZWQsXG5cdC5vd2wtZG90cy5kaXNhYmxlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IC5vd2wtcHJldixcblx0Lm93bC1uYXYgLm93bC1uZXh0LFxuXHQub3dsLWRvdCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuXHQub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG5cdGJ1dHRvbi5vd2wtZG90IHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOjAhaW1wb3J0YW50O1xuXHRcdGZvbnQ6IGluaGVyaXQ7XG5cdH1cblxuXHQmLm93bC1sb2FkZWQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtbG9hZGluZyB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWhpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLm93bC1kcmFnIC5vd2wtaXRlbSB7XG5cdFx0dG91Y2gtYWN0aW9uOiBwYW4teTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Ji5vd2wtZ3JhYiB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdGN1cnNvcjogZ3JhYjtcblx0fVxuXG5cdCYub3dsLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdH1cblxuXHQmLm93bC1ydGwgLm93bC1pdGVtIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWx7XG5cdC5hbmltYXRlZCB7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLWluIHtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtb3V0IHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC5mYWRlT3V0IHtcblx0XHRhbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG5cbi5vd2wtaGVpZ2h0IHtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWwge1xuXHQub3dsLWl0ZW0ge1xuXHRcdC5vd2wtbGF6eSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0XHR9XG5cblx0XHQvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovXG5cdFx0Lm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcblx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0aW1nLm93bC1sYXp5IHtcblx0XHRcdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdFx0fVxuXHR9XG59XG5cbiIsIiRvd2wtaW1hZ2UtcGF0aDogXCJcIiAhZGVmYXVsdDtcblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbHtcblx0Lm93bC12aWRlby13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogODBweDtcblx0XHR3aWR0aDogODBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHRcdG1hcmdpbi10b3A6IC00MHB4O1xuXHRcdGJhY2tncm91bmQ6IHVybChcIiN7JG93bC1pbWFnZS1wYXRofW93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC12aWRlby10biB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLWZyYW1lIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi8qKlxyXG4gKiBUb29scy5cclxuICovXHJcblxyXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xyXG5AaW1wb3J0ICdtYWduaWZpYy1wb3B1cCc7XHJcbkBpbXBvcnQgJ21peGlucyc7XHJcbkBpbXBvcnQgJ3VpLWRhdGVwaWNrZXInO1xyXG4iLCIvKipcclxuICogVW5pY29kZS5cclxuICpcclxuICogUHJlc2VydmUgZXNjYXBlZCB1bmljb2RlIHN0cmluZy5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBBbiB1bmljb2RlIHN0cmluZy5cclxuICogQHJldHVybiB7U3RyaW5nfSBBIHByZXNlcnZlZCBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nXHJcbiAqL1xyXG4gXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIHF1b3Rlc1xyXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyaW5nKSB7XHJcblx0QHJldHVybiB1bnF1b3RlKFwiXFwnXCIpICsgdW5xdW90ZShzdHItaW5zZXJ0KCRzdHJpbmcsICdcXFxcJywgMSkpICsgdW5xdW90ZShcIlxcJ1wiKTtcclxufVxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIHF1b3Rlc1xyXG5cclxuXHJcbi8qKlxyXG4gKiBSRU0uXHJcbiAqXHJcbiAqIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4gKiBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XHJcblx0QGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JHBpeGVsc31gIHNob3VsZCBiZSBhIGBweGAgdW5pdC4nO1xyXG5cdH1cclxuXHRAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sdW1uLlxyXG4gKlxyXG4gKiBDYWxjdWxhdGUgZ2l2ZW4gY29sdW1uIHdpZHRoLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbiAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0byBzcGFuLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdGhhdCBjYW4gYmUgc3Bhbm5lZC5cclxuICogQHJldHVybiB7U3RyaW5nfSAtIFBlcmNlbnRhZ2UgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG5cdEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2xvci5cclxuICpcclxuICogR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cclxuICogQHBhcmFtIHskc3RyaW5nfSAka2V5IC0gS2V5IG9mIHRoZSBjb2xvciB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbG9yKCRrZXksICR2YWx1ZSkge1xyXG5cdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRrZXkpLCAkdmFsdWUpO1xyXG59XHJcbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcblxyXG5cclxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXHJcbi5tZnAtYmcge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQyO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XHJcbiAgb3BhY2l0eTogMC44OyB9XHJcblxyXG4ubWZwLXdyYXAge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQzO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5tZnAtY29udGFpbmVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBwYWRkaW5nOiAwIDhweDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG5cclxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHotaW5kZXg6IDEwNDU7IH1cclxuXHJcbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXHJcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtYWpheC1jdXIge1xyXG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cclxuXHJcbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XHJcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cclxuXHJcbi5tZnAtem9vbSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogLW1vei16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC1jbG9zZSxcclxuLm1mcC1hcnJvdyxcclxuLm1mcC1wcmVsb2FkZXIsXHJcbi5tZnAtY291bnRlciB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tZnAtcHJlbG9hZGVyIHtcclxuICBjb2xvcjogI0NDQztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcclxuICBsZWZ0OiA4cHg7XHJcbiAgcmlnaHQ6IDhweDtcclxuICB6LWluZGV4OiAxMDQ0OyB9XHJcbiAgLm1mcC1wcmVsb2FkZXIgYSB7XHJcbiAgICBjb2xvcjogI0NDQzsgfVxyXG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjRkZGOyB9XHJcblxyXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbmJ1dHRvbi5tZnAtY2xvc2UsXHJcbmJ1dHRvbi5tZnAtYXJyb3cge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICB6LWluZGV4OiAxMDQ2O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7IH1cclxuXHJcbi5tZnAtY2xvc2Uge1xyXG4gIHdpZHRoOiA0NHB4O1xyXG4gIGhlaWdodDogNDRweDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMC42NTtcclxuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XHJcbiAgLm1mcC1jbG9zZTpob3ZlcixcclxuICAubWZwLWNsb3NlOmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XHJcbiAgICB0b3A6IDFweDsgfVxyXG5cclxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICMzMzM7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXHJcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjb2xvcjogI0ZGRjtcclxuICByaWdodDogLTZweDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtY291bnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBjb2xvcjogI0NDQztcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxyXG5cclxuLm1mcC1hcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01NXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDkwcHg7XHJcbiAgaGVpZ2h0OiAxMTBweDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphY3RpdmUge1xyXG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cclxuICAubWZwLWFycm93OmhvdmVyLFxyXG4gIC5tZnAtYXJyb3c6Zm9jdXMge1xyXG4gICAgb3BhY2l0eTogMTsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlLFxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphZnRlciB7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcclxuICAgIHRvcDogOHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XHJcbiAgICBvcGFjaXR5OiAwLjc7IH1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdCB7XHJcbiAgbGVmdDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XHJcblxyXG4ubWZwLWFycm93LXJpZ2h0IHtcclxuICByaWdodDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxyXG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogOTAwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IC00MHB4OyB9XHJcblxyXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cclxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblxyXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXHJcbmltZy5tZnAtaW1nIHtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xyXG4ubWZwLWZpZ3VyZSB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7IH1cclxuICAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDQwcHg7XHJcbiAgICBib3R0b206IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxyXG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxyXG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7IH1cclxuXHJcbi5tZnAtYm90dG9tLWJhciB7XHJcbiAgbWFyZ2luLXRvcDogLTM2cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICBjb2xvcjogI0YzRjNGMztcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxyXG5cclxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICBtYXgtd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcclxuICAvKipcclxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxyXG4gICAgICAgKi9cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XHJcbiAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB0b3A6IDNweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzVweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7IH0gfVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAubWZwLWFycm93IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cclxuICAubWZwLWFycm93LWxlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxyXG4gIC5tZnAtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cclxuXHJcbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcclxuIiwiLyoqXHJcbiAqIENvbnRhaW5lclxyXG4gKiBcclxuICogQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wIGFuZCBib3R0b20uXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGNvbnRhaW5lcigxMDI0cHgsIDIwcHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG5cdFx0QGlmICgkZ2FwICE9IDApIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG5cdFx0XHRwYWRkaW5nOiAwICRnYXA7XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAkd2lkdGg7XHJcblx0XHR9XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZWN0aW9uXHJcbiAqXHJcbiAqIEFkZCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIHRvIGVsZW1lbnQgdXNpbmcgcGFkZGluZ3MuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBzZWN0aW9uKDEwMHB4LCAxMDBweCk7XHJcbiAqLyBcclxuXHJcbkBtaXhpbiBzZWN0aW9uKCR0b3A6IDAsICRib3R0b206IDApIHtcclxuXHRAaWYgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRib3R0b20pID09IG51bWJlcikge1xyXG5cdFx0cGFkZGluZzogJHRvcCAwICRib3R0b207XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ0FyZ3VtZW50cyBgJHRvcGAgYW5kIGBib3R0b21gIHNob3VsZCBiZSBhIG51bWJlcic7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQuXHJcbiAqXHJcbiAqIEFkZHMgYHJlbWAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGEgZmFsbGJhY2sgYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0IHByb3BlcnR5IHRvIGFueSBydWxlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZvbnQtc2l6ZSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjRweCk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemU7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG5cdEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQuXHJcbiAqXHJcbiAqIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb24gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuICogQGV4YW1wbGUgQGluY2x1ZGUgdGV4dCgncCcpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcclxuXHRAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAkdmFsdWUpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJHZhbHVlKSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgQXdlc29tZS5cclxuICpcclxuICogQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udGF3ZXNvbWUoJ2YxMDAnLCAnTGlnaHQnKTtcclxuICovXHJcblxyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuXHRAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuXHRcdGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWVkaWEuXHJcbiAqXHJcbiAqIE1lZGlhIHF1ZXJpZXMgYWNjb3JkaW5nIHRvIFwiVGhlIDEwMCUgQ29ycmVjdCBXYXkgVG8gRG8gQ1NTIEJyZWFrcG9pbnRzXCIgKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludCBwaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG4gKi8gXHJcbiBcclxuQG1peGluIG1lZGlhKCRzaXplKSB7XHJcblx0QGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3Bob25lJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG59XHJcbiIsIi51aS1kYXRlcGlja2Vye2JhY2tncm91bmQ6I2Q3ZDdkNztoZWlnaHQ6YXV0bzttYXJnaW46NXB4IGF1dG8gMDtmb250OjlwdCBBcmlhbCxzYW5zLXNlcmlmO21pbi13aWR0aDoyMTZweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC41KTstbW96LWJveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC41KTtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuNSl9LnVpLWRhdGVwaWNrZXIgYXt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktZGF0ZXBpY2tlciB0YWJsZXt3aWR0aDoxMDAlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0uZ2Zvcm0tYWRtaW4tZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNlMGUwZTA7Zm9udC13ZWlnaHQ6NzAwOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggMCByZ2JhKDI1MCwyNTAsMjUwLC4yKTstbW96LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IDAgcmdiYSgyNTAsMjUwLDI1MCwuMik7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggMCByZ2JhKDI1MCwyNTAsMjUwLC4yKTt0ZXh0LXNoYWRvdzoxcHggLTFweCAwICMwMDA7ZmlsdGVyOmRyb3BzaGFkb3coY29sb3I9IzAwMCwgb2ZmeD0xLCBvZmZ5PS0xKTtsaW5lLWhlaWdodDozMHB4O21pbi1oZWlnaHQ6MzBweCFpbXBvcnRhbnQ7Ym9yZGVyLXdpZHRoOjFweCAwIDAgMDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiM2NjZ9LnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1pY29ue2Rpc3BsYXk6bm9uZX0udWktZGF0ZXBpY2tlci10aXRsZXt0ZXh0LWFsaWduOmNlbnRlcn0udWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3R7bWFyZ2luLXRvcDoyLjUlfS51aS1kYXRlcGlja2VyLW5leHQsLnVpLWRhdGVwaWNrZXItcHJldntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDozMHB4O2hlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltYWdlcy9kYXRlcGlja2VyL2Fycm93LnBuZyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2xpbmUtaGVpZ2h0OjYwMCU7b3ZlcmZsb3c6aGlkZGVufS51aS1kYXRlcGlja2VyLXByZXZ7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciAtMzBweH0udWktZGF0ZXBpY2tlci1uZXh0e2Zsb2F0OnJpZ2h0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDB9LnVpLWRhdGVwaWNrZXIgdGhlYWR7YmFja2dyb3VuZDojZjdmN2Y3O2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BnbzhjM1puSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZDJsa2RHZzlJakV3TUNVaUlHaGxhV2RvZEQwaU1UQXdKU0lnZG1sbGQwSnZlRDBpTUNBd0lERWdNU0lnY0hKbGMyVnlkbVZCYzNCbFkzUlNZWFJwYnowaWJtOXVaU0krQ2lBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrTFhWaloyY3RaMlZ1WlhKaGRHVmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJZ2VERTlJakFsSWlCNU1UMGlNQ1VpSUhneVBTSXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJZM1pqZG1OeUlnYzNSdmNDMXZjR0ZqYVhSNVBTSXhJaTgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlObU1XWXhaakVpSUhOMGIzQXRiM0JoWTJsMGVUMGlNU0l2UGdvZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdQSEpsWTNRZ2VEMGlNQ0lnZVQwaU1DSWdkMmxrZEdnOUlqRWlJR2hsYVdkb2REMGlNU0lnWm1sc2JEMGlkWEpzS0NObmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0tTSWdMejRLUEM5emRtYyspO2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNmN2Y3ZjcgMCwjZjFmMWYxIDEwMCUpO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLCNmN2Y3ZjcpLGNvbG9yLXN0b3AoMTAwJSwjZjFmMWYxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2Y3ZjdmNyAwLCNmMWYxZjEgMTAwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCNmN2Y3ZjcgMCwjZjFmMWYxIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y3ZjdmNyAwLCNmMWYxZjEgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmN2Y3ZjcgMCwjZjFmMWYxIDEwMCUpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNiYmJ9LnVpLWRhdGVwaWNrZXIgdGh7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTo2cHQ7cGFkZGluZzo1cHggMDtjb2xvcjojNjY2O3RleHQtc2hhZG93OjFweCAwIDAgI2ZmZjtmaWx0ZXI6ZHJvcHNoYWRvdyhjb2xvcj0jZmZmLCBvZmZ4PTEsIG9mZnk9MCl9LnVpLWRhdGVwaWNrZXIgdGJvZHkgdGR7cGFkZGluZzowO2JvcmRlci10b3A6MXB4IHNvbGlkICNiYmI7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYmJifS51aS1kYXRlcGlja2VyIHRib2R5IHRkOmxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LnVpLWRhdGVwaWNrZXIgdGJvZHkgdHJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2JiYn0udWktZGF0ZXBpY2tlciB0Ym9keSB0cjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MH0udWktZGF0ZXBpY2tlciB0ZCBhLC51aS1kYXRlcGlja2VyIHRkIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweDtjb2xvcjojNjY2O3RleHQtc2hhZG93OjFweCAxcHggMCAjZmZmO2ZpbHRlcjpkcm9wc2hhZG93KGNvbG9yPSNmZmYsIG9mZng9MSwgb2ZmeT0xKX0udWktZGF0ZXBpY2tlci1jYWxlbmRhciAudWktc3RhdGUtZGVmYXVsdHtiYWNrZ3JvdW5kOiNlZGVkZWQ7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGdvOGMzWm5JSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdkMmxrZEdnOUlqRXdNQ1VpSUdobGFXZG9kRDBpTVRBd0pTSWdkbWxsZDBKdmVEMGlNQ0F3SURFZ01TSWdjSEpsYzJWeWRtVkJjM0JsWTNSU1lYUnBiejBpYm05dVpTSStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtMWFZqWjJjdFoyVnVaWEpoZEdWa0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0lnZURFOUlqQWxJaUI1TVQwaU1DVWlJSGd5UFNJd0pTSWdlVEk5SWpFd01DVWlQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlZrWldSbFpDSWdjM1J2Y0MxdmNHRmphWFI1UFNJeElpOCtDaUFnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU5rWldSbFpHVWlJSE4wYjNBdGIzQmhZMmwwZVQwaU1TSXZQZ29nSUR3dmJHbHVaV0Z5UjNKaFpHbGxiblErQ2lBZ1BISmxZM1FnZUQwaU1DSWdlVDBpTUNJZ2QybGtkR2c5SWpFaUlHaGxhV2RvZEQwaU1TSWdabWxzYkQwaWRYSnNLQ05uY21Ga0xYVmpaMmN0WjJWdVpYSmhkR1ZrS1NJZ0x6NEtQQzl6ZG1jKyk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2VkZWRlZCAwLCNkZWRlZGUgMTAwJSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAsI2VkZWRlZCksY29sb3Itc3RvcCgxMDAlLCNkZWRlZGUpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZWRlZGVkIDAsI2RlZGVkZSAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2VkZWRlZCAwLCNkZWRlZGUgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjZWRlZGVkIDAsI2RlZGVkZSAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2VkZWRlZCAwLCNkZWRlZGUgMTAwJSk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDFweCAxcHggMCAwIHJnYmEoMjUwLDI1MCwyNTAsLjUpOy1tb3otYm94LXNoYWRvdzppbnNldCAxcHggMXB4IDAgMCByZ2JhKDI1MCwyNTAsMjUwLC41KTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggMCAwIHJnYmEoMjUwLDI1MCwyNTAsLjUpfS51aS1kYXRlcGlja2VyLWNhbGVuZGFyIC51aS1zdGF0ZS1ob3ZlcntiYWNrZ3JvdW5kOiNmN2Y3Zjd9LnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgLnVpLXN0YXRlLWFjdGl2ZXtiYWNrZ3JvdW5kOiNmZmYyYWE7Ym9yZGVyOjFweCBzb2xpZCAjYzE5MTYzO2NvbG9yOiM2NjY7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDAgMTBweCAwIHJnYmEoMCwwLDAsLjEpO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtmaWx0ZXI6ZHJvcHNoYWRvdyhjb2xvcj0jRkZGLCBvZmZ4PTAsIG9mZnk9MSk7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOi0xcHh9LnVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIC51aS1zdGF0ZS1kZWZhdWx0e2JhY2tncm91bmQ6I2Y0ZjRmNDtjb2xvcjojYjRiM2IzfS51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkOmZpcnN0LWNoaWxkIC51aS1zdGF0ZS1hY3RpdmV7d2lkdGg6MjlweDttYXJnaW4tbGVmdDowfS51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRkOmxhc3QtY2hpbGQgLnVpLXN0YXRlLWFjdGl2ZXt3aWR0aDoyOXB4O21hcmdpbi1yaWdodDowfS51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRyOmxhc3QtY2hpbGQgLnVpLXN0YXRlLWFjdGl2ZXtoZWlnaHQ6MjlweDttYXJnaW4tYm90dG9tOjB9dGQudWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUudWktc3RhdGUtZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZDdkN2Q3fXRhYmxlLnVpLWRhdGVwaWNrZXItY2FsZW5kYXJ7bWFyZ2luOjAhaW1wb3J0YW50fWJvZHkgZGl2I3VpLWRhdGVwaWNrZXItZGl2W3N0eWxlXXt6LWluZGV4Ojk5OTkhaW1wb3J0YW50fSIsIi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG5cdGhlaWdodDogMTAwdmg7XHJcblx0Zm9udC1zaXplOiA2Mi41JTsgLyogMSAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXHJcblxyXG5ib2R5IHtcclxuXHRAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XHJcblx0Y29sb3I6ICRib2R5LWNvbG9yO1xyXG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogMSAqL1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXHJcbn1cclxuIiwiLyoqXHJcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXHJcbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxyXG4gKi9cclxuXHJcbmEge1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmhyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cclxuICovXHJcblxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cclxufVxyXG5cclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiIsIi5iYWNrZ3JvdW5kIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IC0xNTBweDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTQ0MHB4O1xyXG5cdFx0aGVpZ2h0OiAxNTBweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCguLy4uL2ltYWdlcy9iYWNrZ3JvdW5kLTEucG5nKSBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxuXHJcblx0Ji50ZXh0LXNsaWRlciB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKC4vLi4vaW1hZ2VzL2JhY2tncm91bmQtMi5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaW1hZ2UtaW1hZ2Uge1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLy4uL2ltYWdlcy9iYWNrZ3JvdW5kLTMucG5nKSBuby1yZXBlYXQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5icmVhZGNydW1icyB7XHJcblx0QGluY2x1ZGUgZm9udCgxMnB4LCAyMHB4KTtcclxuXHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnaGVhZGluZycpO1xyXG5cdGNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogM3B4O1xyXG5cdFx0d2lkdGg6IDVweDtcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdG1hcmdpbjogMCA1cHggMCAxMHB4O1xyXG5cdFx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxufVxyXG5cclxuIiwiLyoqXHJcbiAqIEJ1dHRvbi5cclxuICovXHJcblxyXG4lYnV0dG9uLFxyXG4uYnV0dG9uIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0Zm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24gKGRlZmF1bHQpLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLWRlZmF1bHQsXHJcbi5idXR0b24tLWRlZmF1bHQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTZweCwgMThweCk7XHJcblx0aGVpZ2h0OiA0MHB4O1xyXG5cdHBhZGRpbmc6IDhweCAzMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS0xMDA7XHJcblx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGJlaWdlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRjb2xvcjogJGJlaWdlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9uIChib3JkZXIpLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLWJvcmRlcixcclxuLmJ1dHRvbi0tYm9yZGVyIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDE4cHgpO1xyXG5cdHBhZGRpbmc6IDEycHggMzBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRoZWlnaHQ6IDM3cHg7XHJcblx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGJlaWdlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlLTEwMDtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXHJcblxyXG4uY29udGFpbmVyIHtcclxuXHRAaW5jbHVkZSBjb250YWluZXI7XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xyXG5cclxuLmNvbnRlbnQtY29uc3RyYWludCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuIiwiLyoqXHJcbiAqIEV4YW1wbGUgb2YgYSBmbGV4IGJhc2VkIGNvbHVtbiBncmlkIGxheW91dCBpbiBwcmFjdGljZTpcclxuICpcclxuICogPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogPC9kaXY+XHJcbiAqXHJcbiAqIFRoaXMgZXhhbXBsZSB3aWxsIGNyZWF0ZSBhIHJvdyB3aXRoIHR3byBjb2x1bW5zIGVhY2ggZmlsbGluZyBoYWxmIHRoZSB3aWR0aFxyXG4gKiBvZiB0aGUgcm93IG9uIGFsbCBtZWRpYSwgYnV0IHdpbGwgY29udmVydCB0byBhIGZ1bGwgd2lkdGggY29sdW1uIG9uIHRoZVxyXG4gKiBzbWFsbCBgLXNtYCBicmVha3BvaW50IGFsaWFzLCB3aGljaCBpcyBtb2JpbGUgb25seS4gUmVmZXIgdG9cclxuICogYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYCBmb3IgYWxsIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEZsZXggb2JqZWN0LlxyXG4gKlxyXG4gKiBUaXA6IFVzZSBmbGV4IG9uIGEgY29sdW1uIHRvIG1ha2UgdGhlIGJveCB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGNvbHVtbi5cclxuICovXHJcblxyXG4uZmxleCB7XHJcblx0ZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmZsZXgtd3JhcCB7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXHJcblxyXG4ucm93IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXg6IDAgMSBhdXRvO1xyXG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XHJcblx0bWFyZ2luOiAwIC0jeygkZ3JpZC1nYXAvMil9O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cclxuICovXHJcblxyXG4uYm94IHtcclxuXHRmbGV4OiAxO1xyXG59XHJcblxyXG5cclxuLy8gTG9vcCB0aHJvdWdoIGFsbCB0aGUga2V5cyBpbiB0aGUgYCRicmVha3BvaW50c2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW5cclxuLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XHJcblxyXG5cdC8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBldmVyeSBrZXkgaW4gYCRicmVha3BvaW50c2AuXHJcblx0QGluY2x1ZGUgbWVkaWEoJHZhbHVlKSB7XHJcblxyXG5cdFx0Ly8gSXRlcmF0ZSBmcm9tIDEgdGhyb3VnaCB0aGUgYW1vdW50IG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5XHJcblx0XHQvLyBgJGdyaWQtY29sdW1uc2AgaW4gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuXHRcdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQ29sdW1uICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LmNvbC0jeyRrZXl9LSN7JGl9IHtcclxuXHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcclxuXHRcdFx0XHR3aWR0aDogY29sdW1uKCRpKTtcclxuXHRcdFx0XHRwYWRkaW5nOiAwICgkZ3JpZC1nYXAvMik7XHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0XHQvLyBPdXRwdXQgYW4gb2Zmc2V0IHV0aWxpdHkgY2xhc3MgaWYgdGhlIGl0ZXJhdG9yIGlzIGxlc3MgdGhhbiB0aGUgYW1vdW50XHJcblx0XHRcdC8vIG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5IGAkZ3JpZC1jb2x1bW5zYCBpblxyXG5cdFx0XHQvLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5cdFx0XHRAaWYgKCRpIDwgJGdyaWQtY29sdW1ucykge1xyXG5cclxuXHRcdFx0XHQvKipcclxuXHRcdFx0XHQgKiBPZmZzZXQgI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdFx0XHQgKi9cclxuXHJcblx0XHRcdFx0Lm9mZnNldC0jeyRrZXl9LSN7JGl9IHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oJGkpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggYWxsIHZhbHVlcyBmb3IgdGhlIGBhbGlnbi1pdGVtc2AgcHJvcGVydHkuXHJcblx0XHRAZWFjaCAkdmFsdWUgaW4gc3RyZXRjaCwgY2VudGVyLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCwgYmFzZWxpbmUge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIEFsaWduIGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5hbGlnbi0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggYWxsIHZhbHVlcyBmb3IgdGhlIGBqdXN0aWZ5LWNvbnRlbnRgIHByb3BlcnR5LlxyXG5cdFx0QGVhY2ggJHZhbHVlIGluIHN0YXJ0LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4sIHNwYWNlLWFyb3VuZCwgc3BhY2UtZXZlbmx5IHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBKdXN0aWZ5IGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5qdXN0aWZ5LSN7JGtleX0tI3skdmFsdWV9IHtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggZXZlcnkgZGlyZWN0aW9uIGZyb20gbGVmdCB0byByaWdodC5cclxuXHRcdEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIEJsZWVkICN7JGRpcmVjdGlvbn0gZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LmJsZWVkLSN7JGtleX0tI3skZGlyZWN0aW9ufSB7XHJcblx0XHRcdFx0cGFkZGluZy0jeyRkaXJlY3Rpb259OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdCAqL1xyXG5cclxuXHRcdC5maXJzdC0jeyRrZXl9IHtcclxuXHRcdFx0b3JkZXI6IC0xO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdCAqL1xyXG5cclxuXHRcdC5sYXN0LSN7JGtleX0ge1xyXG5cdFx0XHRvcmRlcjogMTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQucmV2ZXJzZS0jeyRrZXl9IHtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogRGVmYXVsdCBmaWVsZHMuXHJcbiAqL1xyXG5cclxubGFiZWwge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuJWlucHV0LFxyXG5zZWxlY3QsXHJcbmlucHV0LFxyXG50ZXh0YXJlYSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHBhZGRpbmc6IDExcHggMTVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkYmVpZ2UtMTAwO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcblx0aGVpZ2h0OiAyMzBweDtcclxuXHRwYWRkaW5nLXRvcDogMTVweDtcclxufVxyXG5cclxuLmdmaWVsZF90aW1lX2FtcG0sXHJcbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGJlaWdlLTEwMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMTRweDtcclxuXHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0d2lkdGg6IDlweDtcclxuXHRcdGhlaWdodDogMTNweDtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG5cclxuXHRzZWxlY3Qge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArIDUwcHgpO1xyXG5cdFx0cGFkZGluZy10b3A6IDdweDtcclxuXHRcdG1heC13aWR0aDogbm9uZTtcclxuXHRcdG1hcmdpbjogLTJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcblxyXG5cdG9wdGlvbiB7XHJcblx0XHRjb2xvcjogYmxhY2s7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddLFxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuXHR3aWR0aDogMTVweDtcclxuXHRoZWlnaHQ6IDE1cHg7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGJlaWdlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdCY6Y2hlY2tlZCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XHJcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBHcmF2aXR5IEZvcm1zLlxyXG4gKi9cclxuXHJcbi5nZmllbGRfZGVzY3JpcHRpb24ge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjZweCk7XHJcbn1cclxuXHJcbi5naW5wdXRfY29udGFpbmVyX2RhdGUge1xyXG5cdC5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5nY2hvaWNlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cclxuXHRpbnB1dCB7XHJcblx0XHRtYXJnaW46IDdweCAxMHB4IDAgMDtcclxuXHR9XHJcbn1cclxuXHJcbi5nZmllbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG5cdC5jbGVhci1tdWx0aSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxufVxyXG5cclxuLmdpbnB1dF9jb250YWluZXJfdGltZSB7XHJcblx0LnNjcmVlbi1yZWFkZXItdGV4dCxcclxuXHRpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uZ2ZpZWxkX3RpbWVfYW1wbSB7XHJcblx0d2lkdGg6IDkwcHg7XHJcbn1cclxuXHJcbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmhpZGRlbl9sYWJlbCA+IGxhYmVsIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbl9tZXNzYWdlIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE1cHgpO1xyXG5cdG1hcmdpbi10b3A6IDVweDtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcbn1cclxuXHJcbiV2YWxpZGF0aW9uX2Vycm9yLFxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbjogMCAwIDUwcHg7XHJcblx0cGFkZGluZzogMjVweCAyNXB4IDI1cHggNzVweDtcclxuXHRiYWNrZ3JvdW5kOiAkYmVpZ2UtMTAwO1xyXG5cdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuXHQ+IHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0XHRsZWZ0OiAzMHB4O1xyXG5cdFx0d2lkdGg6IDMxcHg7XHJcblx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHR9XHJcblxyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDVweDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMTZweDtcclxuXHRcdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNTBweDtcclxuXHRiYWNrZ3JvdW5kOiAkYmVpZ2UtMTAwXHJcblxyXG5cdGJyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRoNCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDI4cHg7XHJcblx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXIteWVhcixcclxuLnVpLWRhdGVwaWNrZXItbW9udGgge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMTRweCk7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0cGFkZGluZzogOHB4IDVweCA1cHggNXB4O1xyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1tb250aCB7XHJcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLXByZXYge1xyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHRjb250ZW50OiAnPCc7XHJcblx0fVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1uZXh0IHtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG5cdFx0Y29udGVudDogJz4nO1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBIZWFkaW5nLlxyXG4gKi9cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG4laGVhZGluZyxcclxuLmhlYWRpbmcge1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2hlYWRpbmcnKTtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0Ji5pcy1ibGFjayB7XHJcblx0XHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAxLlxyXG4gKi9cclxuXHJcbmgxLFxyXG4uaGVhZGluZy0xIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgzMnB4LCA0MHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoNDhweCwgNjBweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4zOGVtO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMi5cclxuICovXHJcblxyXG5oMixcclxuJWhlYWRpbmctMixcclxuLmhlYWRpbmctMiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjhweCwgMzhweCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMC4zOGVtO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDIycHgsIDM4cHgpO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDVweFxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCg0NHB4LCA1NHB4KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjRlbTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDMuXHJcbiAqL1xyXG5cclxuaDMsXHJcbiVoZWFkaW5nLTMsXHJcbi5oZWFkaW5nLTMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDI0cHgsIDMwcHgpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjBweCwgMzhweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDM2cHgsIDUwcHgpO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDQuXHJcbiAqL1xyXG5cclxuaDQsXHJcbiVoZWFkaW5nLTQsXHJcbi5oZWFkaW5nLTQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjRweCwgMzVweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDUuXHJcbiAqL1xyXG5cclxuaDUsXHJcbiVoZWFkaW5nLTUsXHJcbi5oZWFkaW5nLTUge1xyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMzVweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFN1YmhlYWRpbmcuXHJcbiAqL1xyXG5cclxuJXN1YmhlYWRpbmcsXHJcbi5zdWJoZWFkaW5nIHtcclxuXHRAaW5jbHVkZSBmb250KDIwcHgsIDI0cHgpO1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRjb2xvcjogJGJlaWdlLTEwMDtcclxuXHRsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAtNXB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS01MDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtd2hpdGUtYm9yZGVyOmFmdGVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLWJsYWNrIHtcclxuXHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuaGFzLWxhenktbG9hZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0b3A6IC0xNTBweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcclxuXHRvcGFjaXR5OiAwO1xyXG5cclxuXHQmLmhlYWRlciB7XHJcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiA3NTBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4uaGFzLWxhenktbG9hZFtsb2FkZWQ9J3RydWUnXSB7XHJcblx0dG9wOiAwO1xyXG5cdG9wYWNpdHk6IDE7XHJcbn1cclxuIiwiLmxpbmsge1xyXG5cdGNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHQmLmhhcy1zdmctcmlnaHQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctbGVmdCB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAzcHg7XHJcblx0XHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTdweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLnBhZ2luYXRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDc1cHggMDtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMTAwcHggMDtcclxuXHJcblx0LnBhZ2UtbnVtYmVycyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDM2cHgpO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cclxuXHRcdCYuY3VycmVudCB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5wcmV2LFxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdFx0XHRjb2xvcjogJGJlaWdlLTEwMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYubmV4dCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogV3JhcHBlciAoZGVmYXVsdClcclxuICovXHJcblxyXG4ud3JhcHBlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEzMTBweCwgNjBweCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxMzEwcHgsIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgY29udGFpbmVyKDEzMTBweCwgNTBweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogV3JhcHBlciAoYmlnKVxyXG4gKi9cclxuXHJcbi53cmFwcGVyLS1iaWcge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxNDQwcHgsIDYwcHgpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTQ0MHB4LCAyMHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGNvbnRhaW5lcigxNDQwcHgsIDUwcHgpO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBFdmVyeSBjb25jZWl2YWJsZSBIVE1MIGVsZW1lbnQgd2l0aGluIGEgYC5jbXMtb3V0cHV0YCB3cmFwcGVyLlxyXG4gKlxyXG4gKiAxLiBFeGNsdWRlIGxhc3QgY2hpbGRzLlxyXG4gKi9cclxuXHJcbi5jbXMtb3V0cHV0IHtcclxuXHRwIHtcclxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGgyLFxyXG5cdGgzLFxyXG5cdGg0IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cclxuXHRvbCxcclxuXHR1bCB7IFxyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0bWFyZ2luLWJvdG9tOiA1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbCB7XHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcblx0fVxyXG5cclxuXHRzdHJvbmcge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0fVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcbiIsIi5jb250YWN0LWZvcm0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuXHQmLmhhcy1iYWNrZ3JvdW5kIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGFjdC1mb3JtX19jb2x1bW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAyNSU7XHJcblxyXG5cdCYuaXMtYm9keSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiA3NSU7XHJcblx0XHRtYXgtd2lkdGg6IDY0MHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2Zvcm0ge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG59IiwiLmNvbnRlbnQtaGVhZGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDUyMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzVweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDgwMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmVpZ2UtNTA7XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9faW1hZ2Uge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRoZWlnaHQ6IDQwJTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MC4yN2RlZywgIzBDMTEwNSAwLjIzJSwgcmdiYSgxMiwgMTcsIDUsIDApIDk0LjI3JSk7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcclxuXHRcdG9wYWNpdHk6IDAuNTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDEzNXB4KTtcclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyX190aXRsZSB7XHJcblx0bWF4LXdpZHRoOiA4ODVweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHR0ZXh0LXNoYWRvdzogMHB4IDBweCAycHggJGJsYWNrLTI1O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufSIsIi5mb290ZXIge1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmVpZ2UtNTA7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYyg3MDBweCArIDEwMHB4KVxyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoNzAwcHggKyAxMjBweClcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDcwMHB4ICsgNDBweClcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVG9wLlxyXG4gKi9cclxuXHJcbi5mb290ZXJfX3RvcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHR9XHJcblxyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHBhZGRpbmctdG9wOiAyNXB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19sb2dvIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDE5MHB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fdW1jIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHR9XHJcblxyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IDMzcHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0fVxyXG5cclxuXHRzdHJvbmcge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAzNXB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMzVweCk7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19zb2NpYWwge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0fVxyXG5cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRzdHJvbmcge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAzNXB4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19zb2NpYWwtd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDEycHg7XHJcblx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHRjb2xvcjogJGJlaWdlLTEwMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmZhLWluc3RhZ3JhbSB7XHJcblx0XHRcdHdpZHRoOiAyM3B4O1xyXG5cdFx0XHRoZWlnaHQ6IDIzcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5mYS15b3V0dWJlIHtcclxuXHRcdFx0d2lkdGg6IDMycHg7XHJcblx0XHRcdGhlaWdodDogMjZweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWlkZGxlLlxyXG4gKi9cclxuXHJcbi5mb290ZXJfX21pZGRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDIwcHggMDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjhweCk7XHJcblx0bWluLWhlaWdodDogNzYwcHg7XHJcblx0cGFkZGluZzogMjVweCAwIDIwcHggMDtcclxufVxyXG5cclxuLmZvb3Rlcl9fY29sdW1ucyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5mb290ZXJfX21hcHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMzI1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHR3aWR0aDogY2FsYyg1MCUgLSAzMHB4KTtcclxuXHRtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbHVtbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcclxufVxyXG5cclxuLmZvb3Rlcl9fYWNjZXNzLFxyXG4uZm9vdGVyX19uZXdzbGV0dGVyLFxyXG4uZm9vdGVyX19jb250YWN0IHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19jb250YWN0IHtcclxuXHQuZm9vdGVyX190aXRsZS13cmFwIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogLTFweDtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHdpZHRoOiA5cHg7XHJcblx0XHRcdGhlaWdodDogMTRweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDdweDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZvb3Rlcl9fZWRpdG9yIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHRcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2VkaXRvciB7XHJcblx0Y29sb3I6ICR3aGl0ZS03MDtcclxuXHJcblx0aDEsXHJcblx0aDIsXHJcblx0aDMsXHJcblx0aDQsXHJcblx0aDUge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19saW5rIHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuXHQmLmJ1dHRvbi0tZGVmYXVsdCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2ltYWdlIHtcclxuXHQmLmlzLWRlc2t0b3Age1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Ym90dG9tOiAtNTBweDtcclxuXHRcdFx0cmlnaHQ6IC01MHB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtNTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1pcGFkIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJvdHRvbS5cclxuICovXHJcblxyXG4uZm9vdGVyX19ib3R0b20ge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjBweCk7XHJcblx0cGFkZGluZy1ib3R0b206IDIwcHg7XHJcblx0Y29sb3I6ICR3aGl0ZS03MDtcclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19saW5rcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19hdXRob3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2RldmVsb3BlZC1ieSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG59XHJcbiIsIi5oZWFkZXItYW5pbWF0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogY2FsYygxMDB2aCAtIDcxcHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAyMDBweDtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzNjBkZWcsICMwMDAwMDAgMTEuNDYlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xyXG5cdFx0ei1pbmRleDogMjU7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzYwMG1zIGN1YmljLWJlemllcigwLjgzLCAwLCAwLjIsIDEpO1xyXG5cdH1cclxuXHJcblx0Ji5pcy1sb2FkZWQge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcblx0XHRcdC5oZWFkZXItYW5pbWF0aW9uX19vdmVybGF5IHtcclxuXHRcdFx0XHRsZWZ0OiBjYWxjKDUwJSAtIDE5MHB4KTtcclxuXHRcdFx0XHR3aWR0aDogMzgwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0LmhlYWRlci1hbmltYXRpb25fX2JhY2tncm91bmQge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0LmhlYWRlci1hbmltYXRpb25fX2xvZ28ge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdH1cclxuXHRcdFx0LmhlYWRlci1hbmltYXRpb25fX2Fycm93IHtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuaGVhZGVyLWFuaW1hdGlvbl9fdGl0bGUge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaGVhZGVyLWFuaW1hdGlvbl9fYmFja2dyb3VuZC5vYmplY3QtZml0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcblx0fVxyXG5cclxuXHRib3R0b206IC0zMCU7XHJcblx0aGVpZ2h0OiAxMzAlO1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdG9iamVjdC1wb3NpdGlvbjogYm90dG9tO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMS40KTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjIwMG1zIGN1YmljLWJlemllcigwLjYzLCAwLCAwLjQ1LCAwLjk5KTtcclxufVxyXG5cclxuLmhlYWRlci1hbmltYXRpb25fX292ZXJsYXkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gMTUwcHgpO1xyXG5cdFx0d2lkdGg6IDMwMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiBjYWxjKDUwJSAtIDI3MnB4KTtcclxuXHR3aWR0aDogNTQ0cHg7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHotaW5kZXg6IDIwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyMjAwbXMgY3ViaWMtYmV6aWVyKDAuNjMsIDAsIDAuNDUsIDAuOTkpO1xyXG59XHJcblxyXG4uaGVhZGVyLWFuaW1hdGlvbl9fYm9keSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTogMDtcclxuXHRyaWdodDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogODgwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0cGFkZGluZzogMCAyMHB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR6LWluZGV4OiAzMDtcclxufVxyXG5cclxuLmhlYWRlci1hbmltYXRpb25fX2xvZ28ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDVweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzNjAwbXMgY3ViaWMtYmV6aWVyKDAuODMsIDAsIDAuMiwgMSk7XHJcblxyXG5cdGltZyB7XHJcblx0XHRtYXgtd2lkdGg6IDE4MHB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXItYW5pbWF0aW9uX190aXRsZS13cmFwIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaGVhZGVyLWFuaW1hdGlvbl9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDY1cHg7XHJcblx0dGV4dC1zaGFkb3c6IDBweCAwcHggMnB4ICRibGFjay0yNTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzNjAwbXMgY3ViaWMtYmV6aWVyKDAuODMsIDAsIDAuMiwgMSk7XHJcbn1cclxuXHJcbi5oZWFkZXItYW5pbWF0aW9uX19hcnJvdyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0b3A6IC0yMHB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzNjAwbXMgY3ViaWMtYmV6aWVyKDAuODMsIDAsIDAuMiwgMSk7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHR3aWR0aDogNDhweDtcclxuXHRcdGhlaWdodDogNDhweDtcclxuXHRcdGNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdHRvcDogNXB4O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXItYW5pbWF0aW9uX19hdXRob3Ige1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDA7XHJcblx0ei1pbmRleDogMzA7XHJcblxyXG5cdC5zdWJoZWFkaW5nIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgOHB4KTtcclxuXHR9XHJcbn0iLCIuaGVhZGVyIHtcclxuXHQud3JhcHBlciB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0aGVpZ2h0OiA3MHB4O1xyXG5cclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmVpZ2UtNTA7XHJcblx0ei1pbmRleDogOTk7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxNzBweCk7XHJcblx0fVxyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDE4MHB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbmF2aWdhdGlvbiB7XHJcblxyXG59XHJcblxyXG4uaGVhZGVyX19tZW51LW1haW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0PiBsaSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcblxyXG5cdFx0PiBhIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxNXB4KTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogM3B4O1xyXG5cdFx0XHRcdHdpZHRoOiA5cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRib3R0b206IC0xMHB4O1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiA2cHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSxcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJlaWdlLTEwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0PiBhIHN2ZyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnN1Ym1lbnUtY29udGFpbmVyIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdHRvcDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnN1Ym1lbnUtY29udGFpbmVyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTBweDtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcclxuXHRcdG1pbi13aWR0aDogMjAwcHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMjdweDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHJcblx0XHQuc3VibWVudSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdHBhZGRpbmc6IDI1cHg7XHJcblxyXG5cdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxNXB4KTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAtMTBweDtcclxuXHRcdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNnB4O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSxcclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdD4gYSB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS0xMDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2FjdGlvbnMge1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTGFuZ3VhZ2Ugc3dpdGNoLlxyXG4gKi9cclxuXHJcbi5oZWFkZXJfX2xhbmd1YWdlLXN3aXRjaCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luLWxlZnQ6IDIwcHg7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuXHRcdH1cclxuXHJcblx0XHQuaGVhZGVyX19sYW5ndWFnZS1ob3ZlciB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdHRvcDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xhbmd1YWdlLWl0ZW0ge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMTVweCk7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDNweDtcclxuXHRcdHdpZHRoOiA5cHg7XHJcblx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRtYXJnaW4tbGVmdDogN3B4O1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XHJcblx0fVxyXG59XHJcblxyXG4uaGVhZGVyX19sYW5ndWFnZS1ob3ZlciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTBweDtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xyXG5cdG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0cGFkZGluZzogMCAxMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lbnUgQnV0dG9uLlxyXG4gKi9cclxuXHJcbiR0cmFuc2l0aW9uLXRpbWluZzogNDAwbXM7XHJcbi5oZWFkZXJfX21lbnUtYnV0dG9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDIxcHg7XHJcblx0XHRoZWlnaHQ6IDIxcHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdHotaW5kZXg6IDEwMDtcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMjFweDtcclxuXHRcdFx0aGVpZ2h0OiAzcHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgdG9wICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMS41cHgpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBvcGFjaXR5IDBtcyAkdHJhbnNpdGlvbi10aW1pbmc7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMS41cHgpO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCB0b3AgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdFx0XHRib3R0b206IGNhbGMoNTAlIC0gMS41cHgpO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5pbWFnZS1zbGlkZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuXHQmLmhhcy1iYWNrZ3JvdW5kIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTUwcHg7XHJcblx0fVxyXG5cclxuXHQub3dsLWRvdHMge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAyMHB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0Lm93bC1kb3Qge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYmVpZ2UtMTAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS0xMDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5pbWFnZS1zbGlkZXJfX3NsaWRlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA3MzBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA1NTBweDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogOTAwcHg7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0aW1nIHtcclxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5pbWFnZS1zbGlkZXJfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA3MzBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA1NTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDkwMHB4O1xyXG5cclxuXHRpbWcge1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDc1MG1zIGVhc2U7XHJcblx0fVxyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDMzNXB4O1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4OS41MWRlZywgJGdyYWRpZW50LTEwMCA3LjE4JSwgJGdyYWRpZW50LTAgNzAlKTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5pbWFnZS1zbGlkZXJfX2JvZHkge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDEwMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uaW1hZ2Utc2xpZGVyX19zdWJ0aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmltYWdlLXNsaWRlcl9fdGl0bGUge1xyXG5cdHRleHQtc2hhZG93OiAwcHggMHB4IDJweCAkYmxhY2stMjU7XHJcbn0iLCIubmF2aWdhdGlvbi1tb2JpbGUge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDEwMHZoO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gNzFweCk7XHJcblx0bWFyZ2luLXRvcDogNzFweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRiYWNrZ3JvdW5kOiAkYmxhY2stMTAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0ei1pbmRleDogOTk7XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XHJcblx0XHR3aWR0aDogOTBweDtcclxuXHRcdGhlaWdodDogNDEwcHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL25hdmlnYXRpb24tYmFja2dyb3VuZC5wbmcnKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1haW4gbWVudS5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX21haW4ge1xyXG5cdD4gbGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yLFxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gYSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMTVweCk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnaGVhZGluZycpO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAzNXB4O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAwIDVweDtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogMTFweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGJvdHRvbTogLTEwcHg7XHJcblx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRoZWlnaHQ6IDZweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuc3VibWVudS1jb250YWluZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdG1hcmdpbjogMzVweCAtMTBweCAwIDEwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMjBweCk7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAtMTBweDtcclxuXHRcdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNnB4O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Ly8gc2Fzcy1saW50OmRpc2FibGUgY2xhc3MtbmFtZS1mb3JtYXRcclxuXHRcdFx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcclxuXHRcdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuXHRcdFx0XHRcdD4gYSB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS0xMDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gc2Fzcy1saW50OmVuYWJsZSBjbGFzcy1uYW1lLWZvcm1hdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIExhbmd1YWdlIHN3aXRjaC5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX2xhbmd1YWdlLXN3aXRjaCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0LmhlYWRlcl9fbGFuZ3VhZ2UtaG92ZXIge1xyXG5cdFx0XHR0b3A6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG5cdFx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGVhZGVyX19sYW5ndWFnZS1ob3ZlciB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMG1zIGVhc2U7XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xyXG5cclxuYm9keS5pcy1hY3RpdmUge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdC5oZWFkZXI6OmJlZm9yZSB7XHJcblx0XHRib3R0b206IDA7XHJcblx0fVxyXG59XHJcbiIsIi5uZXdzLWl0ZW0ge1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0Lmxpbmsge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubmV3cy1pdGVtX19pbWFnZSB7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1pdGVtX19pbWFnZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMzAwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0aW1nIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX2JvZHkge1xyXG5cdHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4ubmV3cy1pdGVtX19kYXRlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdGNvbG9yOiAkZ3JleS0xMDA7XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0bWluLWhlaWdodDogNjhweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ubmV3cy1pdGVtX190ZXh0IHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDI2cHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuIiwiLm5ld3MtbGF0ZXN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzVweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuXHQmLmhhcy1iYWNrZ3JvdW5kIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1sYXRlc3RfX3N1YnRpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG4ubmV3cy1sYXRlc3RfX3dyYXAge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQubmV3cy1pdGVtIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAyOTBweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogNDE1cHg7XHJcblx0fVxyXG5cclxuXHQub3dsLWRvdHMge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdC5vd2wtZG90IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGJlaWdlLTEwMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHJcblx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm9ubHktY2hpbGQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLm5ld3MtbGlzdCB7XHJcblx0XHJcbn1cclxuXHJcbi5uZXdzLWxpc3RfX3RpdGxlIHtcclxuXHRtYXJnaW46IDEwMHB4IDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubmV3cy1saXN0X19zdWJ0aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuXHRcdG1hcmdpbjogLTUwcHggLTEwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogLTM3LjVweCAtMTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IC0zNy41cHggMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcclxuXHRtYXJnaW46IC01MHB4IC0xNXB4O1xyXG5cclxuXHQubmV3cy1pdGVtIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gMjBweCk7XHJcblx0XHRcdG1hcmdpbjogMzcuNXB4IDEwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG5cdFx0XHRtYXJnaW46IDM3LjVweCAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAzNy41cHggMDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogY2FsYygzMy4zMzMzJSAtIDMwcHgpO1xyXG5cdFx0bWFyZ2luOiA1MHB4IDE1cHg7XHJcblx0fVxyXG59IiwiLm5ld3Mtc2luZ2xlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luOiA3NXB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAxMDBweCAwO1xyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX3RpdGxlIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5uZXdzLXNpbmdsZV9fY29sdW1uIHtcclxuXHQmLmlzLXN1YnRpdGxlIHtcclxuXHRcdHdpZHRoOiAyNSU7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmlzLWJvZHkge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4KTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI1MHB4KTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoNzUlIC0gMzY1cHgpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMzVweDtcclxuXHR9XHJcblxyXG5cdCYuaXMtaW1hZ2Uge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDM1MHB4O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA1MDBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDI1MHB4O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAzODVweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdHdpZHRoOiAzNjVweDtcclxuXHRcdG1pbi1oZWlnaHQ6IDUyNXB4O1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX19lZGl0b3Ige1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdCYuaGlkZS1vbi1tb2JpbGUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX19pbWFnZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdGNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX19pbWFnZS13cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA0NzVweDtcclxuXHRcdHdpZHRoOiAzNTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiAzNjBweDtcclxuXHRcdHdpZHRoOiAyNTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDM2NXB4O1xyXG5cdGhlaWdodDogNTAwcHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHR9XHJcbn1cclxuIiwiLnJldmlld3Mge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cclxuXHQmLmhhcy1iYWNrZ3JvdW5kIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTUwcHg7XHJcblx0fVxyXG59XHJcblxyXG4ucmV2aWV3c19faGVhZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXZpZXdzX19zdWJ0aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnJldmlld3NfX3dyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRtYXgtd2lkdGg6IDEyMDBweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnJldmlld3NfX2l0ZW0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdG1heC13aWR0aDogMjgwcHg7XHJcblxyXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5yZXZpZXdzX19pdGVtLWhlYWQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjBweCwgMjRweCk7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmVpZ2UtNTA7XHJcblxyXG5cdGltZyB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblxyXG5cdFx0Ji5pcy10cmlwYWR2aXNvciB7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRoZWlnaHQ6IDM1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1nb29nbGUge1xyXG5cdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0aGVpZ2h0OiAzMnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtaWFtIHtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdGhlaWdodDogMzJweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA2cHg7XHJcblx0fVxyXG59XHJcblxyXG4ucmV2aWV3c19faXRlbS1idWxsZXRzIHtcclxuXHRpIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRoZWlnaHQ6IDE3cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTEwMDtcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5yZXZpZXdzX19pdGVtLXN0YXJzIHtcclxuXHRzdmcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTdweDtcclxuXHRcdGhlaWdodDogMTdweDtcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0Y29sb3I6ICR5ZWxsb3ctMTAwO1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5yZXZpZXdzX19pdGVtLWJvZHkge1xyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMzZweCk7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZXZpZXdzX19pdGVtLWV4dHJhLXRleHQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMzJweCk7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn0iLCIudGV4dC1pbWFnZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHRwYWRkaW5nOiA3NXB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZzogMTAwcHggMDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGJlaWdlLTUwO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmVpZ2UtNTA7XHJcblx0bWF4LXdpZHRoOiAxNDgwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblxyXG5cdCYuaGFzLWJhY2tncm91bmQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNzVweDtcclxuXHRcdH1cclxuXHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNTBweDtcclxuXHR9XHJcblxyXG5cdCYuaGlkZS10b3AtYm9yZGVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0Ym9yZGVyLXRvcDogMDtcclxuXHR9XHJcblxyXG5cdCYuaGlkZS1ib3R0b20tYm9yZGVyIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LWltYWdlX19jb2x1bW4ge1xyXG5cdCYuaXMtc3VidGl0bGUge1xyXG5cdFx0d2lkdGg6IDI1JTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaXMtYm9keSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzUwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogY2FsYyg3NSUgLSAzNjVweCk7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAzNXB4O1xyXG5cdH1cclxuXHJcblx0Ji5uby1pbWFnZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiA3NSU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWltYWdlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAzNTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDI1MHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdHdpZHRoOiAzNjVweDtcclxuXHR9XHJcblxyXG5cdCYuaXMtaW1hZ2UtYmlnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAzODVweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRtaW4taGVpZ2h0OiA1MjVweDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LWltYWdlX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnRleHQtaW1hZ2VfX2VkaXRvciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0Ji5oaWRlLW9uLW1vYmlsZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGV4dC1pbWFnZV9faW1hZ2Uge1xyXG5cdHdpZHRoOiBmaXQtY29udGVudDtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDIwcHgpO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLWJpZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LWltYWdlX19pbWFnZS13cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA0NzVweDtcclxuXHRcdHdpZHRoOiAzNTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiAzNjBweDtcclxuXHRcdHdpZHRoOiAyNTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDM2NXB4O1xyXG5cdGhlaWdodDogNTAwcHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHR9XHJcbn0iLCIudGV4dC1zbGlkZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cdG1heC13aWR0aDogMTQ4MHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHQmLmhhcy1iYWNrZ3JvdW5kIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTUwcHg7XHJcblx0fVxyXG5cclxuXHQub3dsLW5hdiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAzMTBweDtcclxuXHRcdGxlZnQ6IGNhbGMoNzUlIC0gMTMwcHgpO1xyXG5cdFx0Ym90dG9tOiAyMHB4O1xyXG5cclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHQuaXMtcHJldiBzdmcge1xyXG5cdFx0XHRcdFx0bGVmdDogNXB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmlzLW5leHQgc3ZnIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmRpc2FibGVkIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdC5pcy1wcmV2IHN2ZyB7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDEwcHg7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0LmlzLW5leHQgc3ZnIHtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQub3dsLWRvdHMge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJlaWdlLTEwMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHJcblx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlcl9fYnV0dG9uIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDIwcHgpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA0MHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcblx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnaGVhZGluZycpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxM3B4O1xyXG5cdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHR3aWR0aDogMTNweDtcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0fVxyXG5cclxuXHQmLmlzLXByZXYge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRcdGxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdH1cclxufVxyXG5cclxuLnRleHQtc2xpZGVyX19zbGlkZSB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4udGV4dC1zbGlkZXJfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XHJcblx0XHRoZWlnaHQ6IDYzMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDQ3NXB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNDEwcHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0aGVpZ2h0OiA4MDBweDtcclxufVxyXG5cclxuLnRleHQtc2xpZGVyX190ZXh0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XHJcblx0XHRoZWlnaHQ6IDYzMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDQ3NXB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNDEwcHg7XHJcblx0fVxyXG5cclxuXHRhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS0xMDA7XHJcblx0aGVpZ2h0OiA4MDBweDtcclxuXHRjb2xvcjogJGJsYWNrLTEwMDtcclxufVxyXG5cclxuLnRleHQtc2xpZGVyX19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogNDBweCA0MHB4IDAgNDBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlcl9fc3VidGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuLnRleHQtc2xpZGVyX19ib2R5IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cGFkZGluZzogMjBweCA0MHB4IDQwcHggNDBweDtcclxuXHRcdG1hcmdpbjogMCAyMHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDEwcHggNDBweCA3NXB4IDQwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjay0xMDA7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLnRleHQtc2xpZGVyX19lZGl0b3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnRleHQtc2xpZGVyX19lZGl0b3ItdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlcl9fbGluayB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRjb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdH1cclxufVxyXG4iLCIudGltZWxpbmUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblxyXG5cdD4gZGl2IHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGltZWxpbmUtLWhhcy1iYWNrZ3JvdW5kIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA3NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi10b3A6IDE1MHB4O1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0dG9wOiAtNzVweDtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC0xNTBweDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxNDQwcHg7XHJcblx0XHRoZWlnaHQ6IDE1MHB4O1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi8uLi9pbWFnZXMvYmFja2dyb3VuZC0zLnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNYWluLlxyXG4gKi9cclxuXHJcbi50aW1lbGluZV9fbWFpbiB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50aW1lbGluZV9fc3VidGl0bGUtY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDI1JTtcclxufVxyXG5cclxuLnRpbWVsaW5lX19ldmVudHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNzUlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEV2ZW50LlxyXG4gKi9cclxuXHJcbi50aW1lbGluZV9fZXZlbnQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ei1pbmRleDogOTk7XHJcblxyXG5cdFx0LnRpbWVsaW5lX19ldmVudC1pbWFnZSBpbWcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0LnRpbWVsaW5lX19ldmVudC1ib2R5IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLm5vLWRlbGF5IHtcclxuXHRcdC50aW1lbGluZV9fZXZlbnQtaW1hZ2UgaW1nIHtcclxuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGN1YmljLWJlemllcigwLjMsIC0wLjA1LCAwLjcsIC0wLjUpLCBvcGFjaXR5IDUwMDBtcyBlYXNlO1xyXG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLm5vLWFuaW1hdGlvbiB7XHJcblx0XHQudGltZWxpbmVfX2V2ZW50LWltYWdlIGltZyB7XHJcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwbXMgZWFzZSwgb3BhY2l0eSAwbXMgZWFzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50aW1lbGluZV9fZXZlbnQtaW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDIzMHB4O1xyXG5cdGhlaWdodDogMjcwcHg7XHJcblx0bWFyZ2luLXRvcDogMzIuNXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdGltZyB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGN1YmljLWJlemllcigwLjE4LCAwLjg5LCAwLjMyLCAxLjI4KSwgb3BhY2l0eSA1MDBtcyBlYXNlO1xyXG5cdFx0dHJhbnNpdGlvbi1kZWxheTogNTAwbXM7XHJcblx0fVxyXG5cclxuXHQmLmlzLW1vYmlsZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAzMHB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi50aW1lbGluZV9fZXZlbnQtYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAyODBweCk7XHJcblx0bWF4LXdpZHRoOiA2NDBweDtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGJlaWdlLTEwMDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRpbWVsaW5lX19ldmVudC10aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnRpbWVsaW5lX19ldmVudC1lZGl0b3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMjZweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDM2cHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvdW50LlxyXG4gKi9cclxuXHJcbi50aW1lbGluZV9fY291bnQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1hcmdpbjogNDBweCAwO1xyXG5cdH1cclxuXHJcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tdG9wOiA0MHB4O1xyXG59XHJcblxyXG4udGltZWxpbmVfX2NvdW50LXdyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogY2FsYygxMDAlIC0gMjgwcHgpO1xyXG5cdG1heC13aWR0aDogNjQwcHg7XHJcbn1cclxuXHJcbi50aW1lbGluZV9fY291bnQtbnVtYmVyIHtcclxuXHRAaW5jbHVkZSBmb250KDIwcHgsIDI0cHgpO1xyXG5cdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRjb2xvcjogJGJlaWdlLTEwMDtcclxufVxyXG5cclxuLnRpbWVsaW5lX19jb3VudC1iYWNrZ3JvdW5kIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRiZWlnZS0yMDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi50aW1lbGluZV9fY291bnQtZm9yZWdyb3VuZCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdGhlaWdodDogMTBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTgsIDAuODksIDAuMzIsIDEuMjgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiogU2xpZGVyLlxyXG4qL1xyXG5cclxuLnRpbWVsaW5lX19zbGlkZXIge1xyXG5cdG1hcmdpbi10b3A6IDYwcHg7XHJcblxyXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0fVxyXG59XHJcblxyXG4udGltZWxpbmVfX3NsaWRlIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IDExMHB4O1xyXG5cdHBhZGRpbmc6IDAgMTBweCAxNXB4IDEwcHg7XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA0cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdC50aW1lbGluZV9fc2xpZGUtaW1hZ2Uge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bWFyZ2luLXRvcDogLTMwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDcwcHg7XHJcblx0XHRcdG9wYWNpdHk6IDAuMztcclxuXHRcdH1cclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJlaWdlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50aW1lbGluZV9fc2xpZGUtaW1hZ2Uge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogOTBweDtcclxuXHRoZWlnaHQ6IDExMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbn1cclxuXHJcbi50aW1lbGluZV9fc2xpZGUtbGFiZWwge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjBweCk7XHJcblx0Y29sb3I6ICRiZWlnZS0xMDA7XHJcbn1cclxuIiwiLmZhcSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRiZWlnZS01MDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IC0xcHg7XHJcblx0XHRsZWZ0OiAtNjAwcHg7XHJcblx0XHR3aWR0aDogNjAwcHg7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGJlaWdlLTUwO1xyXG5cdH1cclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IC0xcHg7XHJcblx0XHRyaWdodDogLTYwMHB4O1xyXG5cdFx0d2lkdGg6IDYwMHB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRiZWlnZS01MDtcclxuXHR9XHJcbn1cclxuXHJcbi5mYXEtdW5kZXIge1xyXG5cdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdGJvcmRlci1ib3R0b206IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuLmZhcS1pdGVtIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRiZWlnZS01MDtcclxuXHRwYWRkaW5nOiA0MHB4IDA7XHJcblx0bWF4LXdpZHRoOiA2NDBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHRcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtMXB4O1xyXG5cdFx0bGVmdDogLTYwMHB4O1xyXG5cdFx0d2lkdGg6IDYwMHB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRiZWlnZS01MDtcclxuXHR9XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtMXB4O1xyXG5cdFx0cmlnaHQ6IC02MDBweDtcclxuXHRcdHdpZHRoOiA2MDBweDtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmVpZ2UtNTA7XHJcblx0fVxyXG59XHJcblxyXG4uZmFxLWl0ZW1fX2hlYWRlciB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHQuZmFxLWl0ZW1fX2FuZ2xlLWRvd24gc3ZnIHtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZmFxLWl0ZW1fX3RpdGxlIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLmZhcS1pdGVtX19hbmdsZS1kb3duIHtcclxuXHRzdmcge1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcblx0XHRoZWlnaHQ6IDE0cHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGNvbG9yOiAkYmVpZ2UtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLmZhcS1pdGVtX19ib2R5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcbn0iLCIvKipcclxuICogQ29sb3IgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBjb2xvciBhbmQgYmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXMgYmFzZWQgb24gZXZlcnkgY29sb3IgZGVmaW5pdGlvbiBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG4gKiBMb29wIHRocm91Z2ggZXZlcnkgYCRrZXlgIGFuZCBgJG1hcGAgaW4gdGhlIGAkY29sb3JzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG4gKi9cclxuIFxyXG5AZWFjaCAka2V5LCAkbWFwIGluICRjb2xvcnMge1xyXG5cclxuXHQvLyBMb29wIHRocm91Z2ggZXZlcnkgYCRzaGFkZWAgYW5kIGAkcmdiYCBpbiBgJG1hcGAuXHJcblx0QGVhY2ggJHNoYWRlLCAkcmdiIGluICRtYXAge1xyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBldmVyeSBgY29sb3JgIGFuZCBgYmFja2dyb3VuZC1jb2xvcmAgcnVsZXMuXHJcblx0XHRAZWFjaCAkcnVsZSBpbiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogYCN7JHJ1bGV9YCAjeyRyZ2J9LSN7JHNoYWRlfSBjb2xvciB1dGlsaXR5LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC4jeyRydWxlfS0je3VucXVvdGUoJGtleSl9LSN7dW5xdW90ZSgkc2hhZGUpfSB7XHJcblx0XHRcdFx0I3skcnVsZX06ICRyZ2I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFZpc3VhbGx5IGhpZGUgYW55IGVsZW1lbnQgZnJvbSB0aGUgdXNlci5cclxuICovXHJcblxyXG4udmlzdWFsbHktaGlkZGVuIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IDFweDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG5cdGNsaXAtcGF0aDogaW5zZXQoMXB4KTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNYWtlIGxhenlsb2FkIHBsYWNlaG9sZGVyIDEwMCUgd2lkZS5cclxuICovXHJcblxyXG4ubGF6eWxvYWQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlbHBlciBjbGFzcyBmb3Igb2JqZWN0IGZpdCBwb2x5ZmlsbC4gQWRkIHRoaXMgY2xhc3MgdG8gYW55IGVsZW1lbnRcclxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxyXG4gKi9cclxuXHJcbiVvYmplY3QtZml0LFxyXG4ub2JqZWN0LWZpdCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHRib3R0b206IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xyXG5cdG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEFsaWduIGNlbnRlci5cclxuICovXHJcblxyXG4uYWxpZ24tY2VudGVyIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBsZWZ0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1sZWZ0IHtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gcmlnaHQuXHJcbiAqL1xyXG5cclxuLmFsaWduLXJpZ2h0IHtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG4iLCIvKipcclxuICogT2JqZWN0IGZpdC5cclxuICpcclxuICogMS4gRm9udCBmYW1pbHkgcG9seWZpbGwgd2l0aCAoaHR0cHM6Ly9naXRodWIuY29tL2JmcmVkLWl0L29iamVjdC1maXQtaW1hZ2VzKS5cclxuICogTG9vcCB0aHJvdWdoIGV2ZXJ5IHZhbHVlIGZvciB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxyXG4gKi9cclxuXHJcbkBlYWNoICR2YWx1ZSBpbiBmaWxsLCBjb250YWluLCBjb3Zlciwgbm9uZSwgc2NhbGUtZG93biB7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGBvYmplY3QtZml0YCAjeyR2YWx1ZX0gdXRpbGl0eSBjbGFzcy5cclxuXHQgKi9cclxuXHJcblx0LiN7JHZhbHVlfSB7XHJcblx0XHRmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JHZhbHVlfTsnOyAvKiAxICovXHJcblx0XHRvYmplY3QtZml0OiAjeyR2YWx1ZX07XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBQb3NpdGlvbiB1dGlsaXR5IGNsYXNzLlxyXG4gKi9cclxuXHJcbkBlYWNoICR2YWx1ZSBpbiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSB7XHJcblx0LiN7JHZhbHVlfSB7XHJcblx0XHRwb3NpdGlvbjogJHZhbHVlO1xyXG5cdH1cclxufVxyXG4iLCJcclxuLyoqXHJcbiAqIEZvbnQgZmFtaWx5IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1mYW1pbHkge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAkcHJvcGVydHkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtc2l6ZSB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuXHRcdFx0XHRAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQsIGNlbnRlciB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skZGlyZWN0aW9ufSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogJGRpcmVjdGlvbjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IHdlaWdodCB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqXHJcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xyXG5cdFx0XHQkaTogJGkgKiAxMDA7IC8vIFsxXVxyXG5cclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICN7JGl9O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgdHJhbnNmb3JtIHVpdGxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVmVydGljYWwgUmh5dGhtLlxyXG4gKi9cclxuIFxyXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDEwIHtcclxuXHQkaTogJGkgKiA4O1xyXG5cclxuXHQudnItI3skaX0ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogI3skaX1weDtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFV0aWxpdHkgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIHN0YWNraW5nIG9yZGVyIGluIEhUTUwuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJHZhbHVlIGluICR6LWluZGV4IHtcclxuXHQuei1pbmRleC0jeyRrZXl9IHtcclxuXHRcdHotaW5kZXg6ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDRkg7O0dBRUc7QUNGSDs7R0FFRztBQVFIOztHQUVHO0FBWUg7O0dBRUc7QUcxQkg7O0dBRUc7QUFlSDs7R0FFRztBQU1IOztHQUVHO0FBZUg7O0dBRUc7QUFNSCxBQUFBLENBQUMsQUFBQSxXQUFXLENBQUM7RUFDWCxnQkFBZ0IsRUZoQ1QsT0FBcUI7RUVpQzVCLEtBQUssRUZqREUsS0FBa0Is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 */
