@charset "UTF-8";
/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
@import url(vendor/YTPlayer.css);
*::selection {
  background-color: #2f8e8c;
  color: white; }

/**
 * 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') {}
 */
/**
 * 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: 14px;
  font-size: 1.4rem;
  line-height: 1.71429em;
  min-height: 100vh;
  background-color: white;
  color: #153938;
  font-family: "Source Sans Pro";
  letter-spacing: 0.4px;
  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--white {
  background-color: white; }

.background--grey {
  background-color: #edf2f7; }

.breadcrumbs span,
.breadcrumbs a {
  color: #2f8e8c;
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .breadcrumbs span,
    .breadcrumbs a {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.25em; } }
  .breadcrumbs span:hover,
  .breadcrumbs a:hover {
    color: #153938; }

.breadcrumbs--product {
  display: flex;
  align-items: flex-end;
  padding-bottom: 25px; }
  .breadcrumbs--product svg {
    position: relative;
    top: -5px;
    width: 13px;
    height: 13px;
    margin: 0 10px;
    color: #153938; }
    @media only screen and (max-width: 899px) {
      .breadcrumbs--product svg {
        top: -1px;
        width: 11px;
        height: 11px;
        margin: 0 5px; } }
    .breadcrumbs--product svg:last-of-type {
      display: none; }

.breadcrumbs--default svg {
  position: relative;
  top: 2px;
  width: 13px;
  height: 13px;
  margin: 0 7px 0 10px;
  color: #153938; }

/**
 * Button.
 */
.mini-cart__wrap .woocommerce-mini-cart__buttons a, .woocommerce-checkout__login button, .woocommerce-MyAccount-content form .button, .woocommerce-notice a,
.cart-empty a,
.woocommerce-error a,
.woocommerce-message a,
.button {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 20px;
  border-radius: 20px;
  transition: all 250ms ease;
  cursor: pointer;
  letter-spacing: 0.42px;
  font-weight: 600; }
  .mini-cart__wrap .woocommerce-mini-cart__buttons a svg, .woocommerce-checkout__login button svg, .woocommerce-MyAccount-content form .button svg, .woocommerce-notice a svg, .cart-empty a svg, .woocommerce-error a svg, .woocommerce-message a svg,
  .button svg {
    width: 14px;
    height: 16px; }
  .mini-cart__wrap .woocommerce-mini-cart__buttons a.has-svg-right svg, .woocommerce-checkout__login button.has-svg-right svg, .woocommerce-MyAccount-content form .has-svg-right.button svg, .woocommerce-notice a.has-svg-right svg, .cart-empty a.has-svg-right svg, .woocommerce-error a.has-svg-right svg, .woocommerce-message a.has-svg-right svg,
  .button.has-svg-right svg {
    margin-left: 10px; }
  .mini-cart__wrap .woocommerce-mini-cart__buttons a.has-svg-left svg, .woocommerce-checkout__login button.has-svg-left svg, .woocommerce-MyAccount-content form .has-svg-left.button svg, .woocommerce-notice a.has-svg-left svg, .cart-empty a.has-svg-left svg, .woocommerce-error a.has-svg-left svg, .woocommerce-message a.has-svg-left svg,
  .button.has-svg-left svg {
    margin-right: 10px; }

/**
 * Button (green).
 */
.mini-cart__wrap .woocommerce-mini-cart__buttons a, .woocommerce-checkout__login button, .cart-collaterals .wc-proceed-to-checkout a, .woocommerce-MyAccount-content form .button, .woocommerce-notice a,
.cart-empty a,
.woocommerce-error a,
.woocommerce-message a,
.button--green {
  background-color: #2f8e8c;
  color: white; }
  .mini-cart__wrap .woocommerce-mini-cart__buttons a:hover, .woocommerce-checkout__login button:hover, .cart-collaterals .wc-proceed-to-checkout a:hover, .woocommerce-MyAccount-content form .button:hover, .woocommerce-notice a:hover,
  .cart-empty a:hover,
  .woocommerce-error a:hover,
  .woocommerce-message a:hover,
  .button--green:hover {
    background-color: #1a6867; }

/**
 * Button (green).
 */

.button--green-border {
  background-color: transparent;
  border: 2px solid #153938;
  color: #153938; }
  
  .button--green-border:hover {
    background-color: #153938;
    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 {
  display: block;
  margin-bottom: 5px;
  font-weight: bold; }

.woocommerce-input-wrapper .select2-selection,
select,
input,
textarea {
  width: 100%;
  height: 36px;
  border-radius: 3px;
  padding: 5px 15px;
  background-color: transparent;
  border: 1px solid #d8e1e9; }

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

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

input[type='radio'],
input[type='checkbox'] {
  width: 14px;
  height: 14px;
  border: 2px solid #153938;
  border-radius: 2px;
  background-color: white;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: #153938; }
  input[type='radio'].is-round,
  input[type='checkbox'].is-round {
    border-radius: 20px; }

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

.select-wrap {
  position: relative;
  width: 100%;
  max-width: 370px;
  height: 45px;
  background-color: white;
  border: 1px solid #e7ecf1;
  box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.06);
  overflow: hidden; }
  .select-wrap select {
    position: relative;
    width: calc(100% + 40px);
    height: 100%;
    border: 0;
    padding-right: 75px;
    z-index: 3; }
  .select-wrap span {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 100%;
    background-color: #edf2f7;
    z-index: 2; }
    .select-wrap span svg {
      width: 10px;
      height: 14px; }

/**
 * WooCommerce.
 */
.woocommerce-input-wrapper .select2-selection {
  padding: 3px 10px; }

.woocommerce-input-wrapper .select2-selection__arrow {
  height: 100% !important;
  right: 10px !important; }

.quantity-wrap {
  position: relative;
  width: 70px;
  height: 45px;
  background-color: white;
  border: 1px solid #e7ecf1;
  box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.06); }
  .quantity-wrap label {
    display: none; }
  .quantity-wrap input {
    width: 100%;
    height: 45px;
    border: 0;
    padding: 5px 0 5px 15px; }

.quantity-wrap__less,
.quantity-wrap__more {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 50%;
  background-color: #edf2f7;
  cursor: pointer; }
  .quantity-wrap__less:hover,
  .quantity-wrap__more:hover {
    background-color: #e7ecf1; }
  .quantity-wrap__less svg,
  .quantity-wrap__more svg {
    margin: 3px 0 0 0;
    width: 9px;
    height: 9px; }

.quantity-wrap__less {
  top: auto;
  bottom: 0; }
  .quantity-wrap__less svg {
    margin: 0 0 3px 0; }

/**
 * Gravity Forms.
 */
.gfield {
  margin-bottom: 25px; }

.gform_validation_container {
  display: none; }

.ginput_container_name {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7.5px; }
  @media only screen and (max-width: 899px) {
    .ginput_container_name {
      margin: 0; } }
  .ginput_container_name span {
    width: calc(50% - 15px);
    margin: 7.5px; }
    @media only screen and (max-width: 899px) {
      .ginput_container_name span {
        width: 100%;
        margin: 0 0 20px 0; } }
    @media only screen and (max-width: 899px) {
      .ginput_container_name span:last-of-type {
        margin: 0; } }

.hidden_label > label {
  display: none; }

.validation_message {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 2.30769em;
  margin-top: 5px;
  font-style: italic; }


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

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: #2f8e8c; }
  .gform_confirmation_message br {
    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; }

/**
 * Heading.
 */
h1,
h2,
h3,
h4,
.woocommerce-MyAccount-content form fieldset legend,
.heading {
  color: #153938;
  font-weight: bold; }
  h1.is-white,
  h2.is-white,
  h3.is-white,
  h4.is-white,
  .woocommerce-MyAccount-content form fieldset legend.is-white,
  .heading.is-white {
    color: white; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.25em; }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.28571em; }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.27273em; }

/**
 * Heading 4.
 */
h4,
.woocommerce-MyAccount-content form fieldset legend,
.heading-4 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em; }

.has-lazy-load {
  position: relative;
  top: -150px;
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0; }
  .has-lazy-load.header {
    transition-delay: 750ms;
    transition: all 500ms ease; }

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

.link {
  color: #2f8e8c;
  transition: all 250ms ease; }
  .link.has-svg-right svg {
    margin-left: 15px; }
  .link.has-svg-left svg {
    margin-right: 15px; }
  .link svg {
    position: relative;
    top: 2px;
    width: 14px;
    height: 16px;
    transition: all 250ms ease; }
  .link:hover {
    color: #153938; }

.owl-carousel .owl-stage-outer {
  overflow: visible; }

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

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

/**
 * Components.
 */
.aws-container .aws-search-field {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.25em;
  width: 100%;
  height: 26px;
  padding: 0 15px;
  border: 0;
  background-color: rgba(255, 255, 255, 0.2);
  color: white;
  border-radius: 13px !important;
  font-style: italic; }
  .aws-container .aws-search-field:focus {
    background-color: rgba(255, 255, 255, 0.2); }
  .aws-container .aws-search-field::placeholder {
    color: white; }

.aws-container .aws-search-form {
  height: 26px; }

.aws-container .aws-search-form .aws-loader {
  width: 15px;
  height: 15px;
  margin-top: -7.5px;
  border-top: 3px solid transparent;
  border-right: 3px solid white;
  border-bottom: 3px solid white;
  border-left: 3px solid white; }

.aws-search-result {
  box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.06);
  border: 1px solid #edf2f7;
  margin-top: 14px;
  padding: 15px; }
  .aws-search-result .aws_result_item:hover {
    background-color: transparent; }

.category-item {
  background-color: white;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  transition: all 250ms ease;
  border-radius: 4px;
  overflow: hidden; }
  .category-item:hover {
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.25); }
    .category-item:hover .category-item__image:before {
      opacity: 0.62; }
    .category-item:hover .category-item__more,
    .category-item:hover .category-item__programs {
      top: 50%; }
    .category-item:hover .category-item__education {
      justify-content: center;
      width: 50px;
      padding: 0; }
      .category-item:hover .category-item__education span {
        display: none; }
      .category-item:hover .category-item__education svg {
        margin: 0; }
    .category-item:hover .category-item__logo {
      opacity: 0; }

.category-item__image {
  position: relative;
  width: 100%;
  height: 200px; }
  .category-item__image:before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0;
    transition: all 250ms ease;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .category-item__image:before {
        opacity: 0.62; } }

.category-item__education {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 170px;
  max-width: 100%;
  height: 33px;
  padding: 0 25px;
  background-color: #243590;
  color: white;
  border-radius: 0 0 0 20px;
  z-index: 10;
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .category-item__education {
      justify-content: center;
      width: 50px;
      padding: 0; } }
  .category-item__education svg {
    width: 13px;
    height: 10px;
    margin-right: 15px; }
    @media only screen and (max-width: 899px) {
      .category-item__education svg {
        margin: 0; } }
  .category-item__education span {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.3em;
    width: calc(100% - 28px); }
    @media only screen and (max-width: 899px) {
      .category-item__education span {
        display: none; } }

.category-item__programs {
  display: flex;
  justify-content: center;
  align-content: center;
  position: absolute;
  top: -100%;
  width: 100%;
  transform: translate(0, -50%);
  transition: all 500ms ease;
  z-index: 5; }
  @media only screen and (max-width: 899px) {
    .category-item__programs {
      top: 50%; } }
  .category-item__programs img {
    width: 31px;
    height: 31px;
    background-color: white;
    border-radius: 20px;
    margin-right: 10px;
    padding: 5px; }
    .category-item__programs img:last-of-type {
      margin-right: 0; }

.category-item__image-wrap {
  position: relative;
  width: 100%;
  height: 100%; }
  .category-item__image-wrap img {
    border-radius: 4px 4px 0 0; }

.category-item__body {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 115px; }

.category-item__logo {
  opacity: 1;
  transition: all 250ms ease; }
  .category-item__logo img {
    width: auto;
    max-width: 180px;
    height: auto;
    max-height: 75px; }

.category-item__more {
  position: absolute;
  top: 150%;
  display: flex;
  align-items: center;
  width: calc(100% - 60px);
  max-width: 220px;
  height: 42px;
  transform: translate(0, -50%);
  background-color: #2f8e8c;
  border-radius: 20px;
  color: white;
  transition: all 500ms ease; }
  .category-item__more svg {
    width: 42px;
    height: 42px;
    padding: 5px;
    background-color: #1a6867;
    color: white;
    border-radius: 50%; }
  .category-item__more span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    display: flex;
    justify-content: center;
    width: calc(100% - 42px); }

.category-list {
  position: relative;
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .category-list {
      padding: 50px 0; } }

.category-list__wrap {
  width: calc(100% + 25px);
  margin: -50px -12.5px; }
  @media only screen and (max-width: 899px) {
    .category-list__wrap {
      margin: -12.5px; } }
  @media only screen and (max-width: 599px) {
    .category-list__wrap {
      width: 100%;
      margin: -12.5px 0; } }
  .category-list__wrap .category-item {
    width: calc(25% - 25px);
    margin: 50px 12.5px; }
    @media only screen and (max-width: 899px) {
      .category-list__wrap .category-item {
        width: calc(50% - 25px);
        margin: 12.5px; } }
    @media only screen and (max-width: 599px) {
      .category-list__wrap .category-item {
        width: 100%;
        margin: 12.5px 0; } }

.category-menu {
  margin-top: 20px; }
  @media only screen and (max-width: 899px) {
    .category-menu {
      margin: 0; } }
  .category-menu .wrapper {
    justify-content: center; }

.category-menu__links {
  justify-content: space-between;
  width: 100%;
  max-width: 900px; }
  @media only screen and (max-width: 899px) {
    .category-menu__links {
      justify-content: center; } }

.category-menu__link {
  margin: 20px 20px 0 0; }
  .category-menu__link a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em;
    font-weight: bold;
    transition: all 250ms ease; }
    .category-menu__link a.is-active, .category-menu__link a:hover {
      color: #2f8e8c; }
  .category-menu__link:last-of-type {
    margin-right: 0; }

/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output h1,
.cms-output h2,
.cms-output h3 {
  margin-bottom: 20px;
  word-break: break-word; }

.cms-output h4,
.cms-output h5 {
  margin-bottom: 10px;
  word-break: break-word; }

.cms-output p:not(:last-child) {
  margin-bottom: 1em; }

.cms-output.is-intro,
.cms-output .is-intro {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  display: block;
  margin-bottom: 70px;
  color: #153938; }

.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 blockquote {
  position: relative;
  margin: 125px 0;
  padding: 0 20px;
  border-left: 2px solid #e7ecf1; }
  .cms-output blockquote:before, .cms-output blockquote:after {
    font-size: 140px;
    font-size: 14rem;
    line-height: 0em;
    position: absolute;
    left: 15px;
    top: -10px;
    color: #e7ecf1;
    content: '“'; }
  .cms-output blockquote:after {
    top: auto;
    right: 20px;
    bottom: -70px;
    left: auto;
    content: '”'; }

.cms-output .wp-caption {
  width: 100% !important;
  margin: 50px 0; }
  .cms-output .wp-caption p {
    margin-top: 30px;
    font-style: italic;
    color: #2f8e8c; }

.cms-output img {
  display: block;
  margin: 100px auto; }

.cms-output a {
  color: #2f8e8c;
  transition: all 250ms ease;
  text-decoration: underline; }
  .cms-output a:hover {
    color: #153938; }

.contact-form {
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .contact-form {
      padding: 50px 0; } }

.contact-form__column {
  width: 60%;
  padding-right: 100px; }
  @media only screen and (max-width: 899px) {
    .contact-form__column {
      width: 100%;
      padding: 0 0 100px 0; } }
  .contact-form__column.is-contact {
    width: 40%; }
    @media only screen and (max-width: 899px) {
      .contact-form__column.is-contact {
        width: 100%;
        padding: 0; } }

/**
 * Form.
 */
.contact-form__form-title {
  margin-bottom: 5px; }

.contact-form__form-subtitle {
  margin-bottom: 55px;
  color: #2f8e8c; }

/**
 * Contact information.
 */
.contact-form__title {
  margin-bottom: 5px; }

.contact-form__subtitle {
  margin-bottom: 55px;
  color: #2f8e8c; }

.contact-form__contact ul {
  margin-top: 50px; }

.contact-form__contact li {
  color: #2f8e8c; }

.contact-form__contact em {
  display: inline-block;
  font-style: normal;
  width: 70px;
  color: #153938; }

.content-default {
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .content-default {
      padding: 50px 0; } }
  .content-default .wrapper {
    max-width: calc(780px + 100px); }

.content-default--background-grey {
  background-color: #edf2f7; }

.content-default__title {
  margin-bottom: 10px; }

.content-default__subtitle {
  margin-bottom: 25px; }

.content-default__link {
  margin-top: 50px; }

.content-header {
  position: relative;
  z-index: 10;
  padding-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .content-header {
      min-height: 365px;
      padding-bottom: 50px; } }

.content-header__height-small {
  padding-bottom: 0; }

.content-header--background-white {
  background-color: white; }

.content-header--background-grey {
  background-color: #edf2f7; }

/**
 * Media.
 */
.content-header__media {
  width: 100%;
  height: 525px; }
  @media only screen and (max-width: 899px) {
    .content-header__media {
      position: absolute;
      top: 0;
      height: 315px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .content-header__media.is-actions-title {
      position: absolute;
      top: 0; } }

@media only screen and (max-width: 899px) {
  .content-header__height-small {
    height: 315px; } }

.content-header__height-small .content-header__media {
  height: 390px; }
  @media only screen and (max-width: 899px) {
    .content-header__height-small .content-header__media {
      position: absolute;
      top: 0;
      height: 315px; } }
  .content-header__height-small .content-header__media:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #153938;
    opacity: 0.48;
    content: '';
    z-index: 2; }

.content-header__height-small .content-header__body {
  top: 0; }

.content-header__height-small .content-header__content {
  top: 30px; }
  @media only screen and (max-width: 899px) {
    .content-header__height-small .content-header__content {
      padding: 0; } }

.content-header__image {
  position: relative;
  width: 100%;
  height: 100%; }

.content-header__video,
.content-header__video-container {
  width: 100%;
  height: 100%; }
  .content-header__video:hover svg,
  .content-header__video-container:hover svg {
    opacity: 1; }
  .content-header__video .buttonBar,
  .content-header__video-container .buttonBar {
    display: none; }

.content-header__video-play {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10; }
  @media only screen and (max-width: 599px) {
    .content-header__video-play {
      top: 50%;
      left: 20%; } }
  .content-header__video-play svg {
    width: 30px;
    height: 30px;
    color: white;
    transition: all 250ms ease; }
  .content-header__video-play:hover svg {
    color: #2f8e8c; }
  .content-header__video-play .fa-play {
    display: none; }
  .content-header__video-play .fa-pause {
    opacity: 0; }
    @media only screen and (max-width: 899px) {
      .content-header__video-play .fa-pause {
        opacity: 1; } }
  .content-header__video-play.is-paused .fa-play {
    display: block; }
  .content-header__video-play.is-paused .fa-pause {
    display: none; }

/**
 * Content.
 */
.content-header__body {
  position: absolute;
  width: 100%; }
  @media only screen and (max-width: 899px) {
    .content-header__body {
      position: relative;
      top: 0; } }

.content-header__content {
  position: absolute;
  bottom: -35px; }
  @media only screen and (max-width: 899px) {
    .content-header__content {
      position: relative;
      padding-top: 110px;
      bottom: auto; } }

.content-header__breadcrumbs,
.content-header__content-title-wrap {
  position: relative;
  display: flex;
  align-items: center;
  height: 115px;
  width: 545px;
  max-width: 100%;
  margin-bottom: 15px;
  background-color: #edf2f7; }
  @media only screen and (max-width: 899px) {
    .content-header__breadcrumbs,
    .content-header__content-title-wrap {
      width: 100%;
      height: auto;
      min-height: 105px;
      padding: 15px 0; } }
  .content-header__breadcrumbs img,
  .content-header__content-title-wrap img {
    width: auto;
    max-width: 215px;
    height: auto;
    max-height: 40px;
    z-index: 10; }
  .content-header__breadcrumbs:before,
  .content-header__content-title-wrap:before {
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    background-color: #edf2f7;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.3);
    z-index: 2;
    content: ''; }
  .content-header__breadcrumbs:after,
  .content-header__content-title-wrap:after {
    position: absolute;
    top: 0;
    right: -65px;
    width: 65px;
    height: 100%;
    background-color: #edf2f7;
    clip-path: polygon(0 0, 0% 0%, 100% 100%, 0% 100%);
    content: '';
    z-index: 4; }
    @media only screen and (max-width: 899px) {
      .content-header__breadcrumbs:after,
      .content-header__content-title-wrap:after {
        right: -20px;
        width: 20px;
        clip-path: polygon(0% 0%, 0 0, 100% 50%, 0 100%, 0% 100%); } }

.content-header__breadcrumbs {
  width: 439px;
  height: 80px;
  margin-bottom: 65px; }
  @media only screen and (max-width: 899px) {
    .content-header__breadcrumbs {
      width: calc(100% - 26px);
      height: auto;
      min-height: 50px;
      margin-bottom: 20px;
      padding: 15px 0; } }
  .content-header__breadcrumbs:after {
    clip-path: polygon(0 0, 0% -50%, 100% 100%, 0% 100%); }
    @media only screen and (max-width: 899px) {
      .content-header__breadcrumbs:after {
        right: -20px;
        width: 20px;
        clip-path: polygon(0 0, 0% 0%, 100% 100%, 0% 100%); } }
  .content-header__breadcrumbs * {
    z-index: 2; }

.content-header__content-title {
  position: relative;
  z-index: 3; }

.content-header__content-editor-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 250px;
  width: 545px;
  max-width: 100%;
  padding: 20px 20px 20px 0;
  background-color: #edf2f7; }
  @media only screen and (max-width: 899px) {
    .content-header__content-editor-wrap {
      width: 100%;
      padding: 40px 0;
      min-height: auto; } }
  .content-header__content-editor-wrap:before {
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    background-color: #edf2f7;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.3);
    z-index: 2;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .content-header__content-editor-wrap:before {
        right: -60px; } }
    @media only screen and (max-width: 599px) {
      .content-header__content-editor-wrap:before {
        right: -20px; } }
  .content-header__content-editor-wrap:after {
    position: absolute;
    top: 0;
    right: -105px;
    width: 105px;
    height: 100%;
    background-color: #edf2f7;
    clip-path: polygon(0% 0%, 72% 0, 100% 21%, 0 100%, 0% 100%);
    content: '';
    z-index: 4; }
    @media only screen and (max-width: 899px) {
      .content-header__content-editor-wrap:after {
        display: none; } }

.content-header__content-editor {
  position: relative;
  max-width: 465px;
  z-index: 3; }
  @media only screen and (max-width: 899px) {
    .content-header__content-editor {
      max-width: 100%; } }

/**
 * Actions.
 */
.content-header__body--actions {
  top: 0; }
  @media only screen and (max-width: 899px) {
    .content-header__body--actions {
      height: 320px; } }
  .content-header__body--actions .wrapper {
    max-width: 100%;
    padding: 0; }

.content-header__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  top: 30px;
  right: 0;
  width: 465px; }
  @media only screen and (max-width: 899px) {
    .content-header__actions {
      width: 295px; } }

.content-header__action {
  display: flex;
  align-items: center;
  position: relative;
  width: 350px;
  height: 150px;
  background-color: white;
  box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.06);
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .content-header__action {
      width: 230px;
      height: 85px;
      text-align: right; } }
  .content-header__action a {
    align-items: center;
    height: 100%;
    padding: 25px; }
    @media only screen and (max-width: 899px) {
      .content-header__action a {
        padding: 10px 15px 10px 0px; } }
    .content-header__action a:before {
      position: absolute;
      top: 0;
      left: -59px;
      width: 60px;
      height: 150px;
      background-color: white;
      clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 100%);
      transition: all 250ms ease;
      content: ''; }
      @media only screen and (max-width: 899px) {
        .content-header__action a:before {
          left: -34px;
          width: 35px;
          height: 85px; } }
  .content-header__action:hover {
    background-color: #edf2f7; }
    .content-header__action:hover a:before {
      background-color: #edf2f7; }

.content-header__action:nth-child(2) {
  width: 390px;
  margin: 50px 40px 40px 0; }
  @media only screen and (max-width: 899px) {
    .content-header__action:nth-child(2) {
      width: 255px;
      margin: 25px 20px 25px 0; } }
  .content-header__action:nth-child(2) a {
    flex-direction: row-reverse;
    padding: 25px 25px 25px 0; }
    @media only screen and (max-width: 899px) {
      .content-header__action:nth-child(2) a {
        flex-direction: initial;
        padding: 10px 15px 10px 0px; } }
    .content-header__action:nth-child(2) a:before {
      left: -34px;
      width: 35px;
      clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 50%); }
      @media only screen and (max-width: 899px) {
        .content-header__action:nth-child(2) a:before {
          left: -19px;
          width: 20px; } }
  .content-header__action:nth-child(2) .content-header__action-body {
    padding: 0 0 0 40px; }
    @media only screen and (max-width: 899px) {
      .content-header__action:nth-child(2) .content-header__action-body {
        padding: 0 15px 0 0; } }

.content-header__action:nth-child(3) a:before {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 0%); }

.content-header__action-image {
  width: auto;
  max-width: 65px;
  height: auto;
  max-height: 65px; }
  @media only screen and (max-width: 899px) {
    .content-header__action-image {
      max-width: 23px;
      max-height: 23px; } }

.content-header__action-body {
  width: calc(100% - 65px);
  padding-right: 30px; }
  @media only screen and (max-width: 899px) {
    .content-header__action-body {
      width: calc(100% - 23px);
      padding-right: 15px; } }

.content-header__action-title {
  margin-bottom: 5px; }
  @media only screen and (max-width: 899px) {
    .content-header__action-title {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25em; } }

@media only screen and (max-width: 899px) {
  .content-header__action-teaser {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.07143em; } }

.content-header__action-teaser p {
  display: inline; }
  @media only screen and (max-width: 899px) {
    .content-header__action-teaser p.is-arrow {
      display: none; } }

/**
 * Actions + Title.
 */
@media only screen and (min-width: 1200px) {
  .content-header__body--actions-title {
    top: 0;
    height: 525px; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .content-header__body--actions-title {
    position: relative;
    top: 0; } }

.content-header__body--actions-title .content-header__actions {
  z-index: 10; }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .content-header__body--actions-title .content-header__content {
    position: relative;
    bottom: auto;
    padding-top: 525px; } }

@media only screen and (max-width: 899px) {
  .content-header__body--actions-title .content-header__content {
    padding-top: 315px; } }

@media only screen and (max-width: 1199px) {
  .content-header__body--actions-title .content-header__content-title-wrap {
    margin-bottom: -40px;
    padding-bottom: 0;
    z-index: 9; }
    .content-header__body--actions-title .content-header__content-title-wrap:before {
      width: 200vw;
      left: -60px;
      box-shadow: none; }
    .content-header__body--actions-title .content-header__content-title-wrap:after {
      display: none; } }

@media only screen and (max-width: 1199px) {
  .content-header__body--actions-title .content-header__content-editor-wrap:before {
    width: 200vw;
    left: -60px; } }

/**
 * Contact.
 */
.content-header__body--contact {
  top: 0; }
  @media only screen and (max-width: 899px) {
    .content-header__body--contact {
      height: 320px; } }
  .content-header__body--contact .wrapper {
    max-width: 100%;
    padding: 0; }
  .content-header__body--contact .content-header__action:nth-child(2) a {
    flex-direction: initial; }
    .content-header__body--contact .content-header__action:nth-child(2) a svg {
      transform: scaleX(-1); }

.content-header__contact-link {
  display: flex;
  width: 100%;
  justify-content: center; }
  .content-header__contact-link svg {
    position: relative;
    top: 2px;
    width: 25px;
    height: 25px;
    margin-right: 20px; }
    .content-header__contact-link svg.fa-long-arrow-right {
      width: 16px;
      height: 16px;
      margin: 0 0 0 10px; }
  .content-header__contact-link span {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em; }
    @media only screen and (max-width: 899px) {
      .content-header__contact-link span {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.38889em; } }
  .content-header__contact-link.is-route span {
    text-decoration: underline; }

/**
 * USP's.
 */
.content-header__usps {
  margin: 30px 0 -80px 0; }
  @media only screen and (max-width: 899px) {
    .content-header__usps {
      margin: 80px 0 -50px 0; } }
  .content-header__usps .wrapper {
    justify-content: center; }

.content-header__usp {
  margin-right: 20px; }
  @media only screen and (max-width: 899px) {
    .content-header__usp {
      display: none; } }
  .content-header__usp svg {
    position: relative;
    top: 3px;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    color: #2f8e8c; }
  .content-header__usp span {
    width: calc(100% - 25px); }
  .content-header__usp:last-of-type {
    margin: 0; }
  @media only screen and (max-width: 899px) {
    .content-header__usp:first-of-type {
      display: flex; } }

.footer {
  margin-top: 100px; }
  @media only screen and (max-width: 899px) {
    .footer {
      margin-top: 50px; } }

/**
 * Top.
 */
.footer__top {
  border-top: 1px solid #d8e1e9; }
  .footer__top .wrapper {
    height: 95px;
    align-items: center; }
    @media only screen and (max-width: 899px) {
      .footer__top .wrapper {
        height: 80px; } }

.footer__logo img {
  max-height: 55px;
  width: auto;
  max-width: auto; }
  @media only screen and (max-width: 899px) {
    .footer__logo img {
      max-height: 45px; } }

.footer__domain {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.33333em;
  opacity: 0.5; }
  @media only screen and (max-width: 899px) {
    .footer__domain {
      display: none; } }

/**
 * Columns.
 */
.footer__bottom {
  background-color: #edf2f7; }

.footer__columns {
  position: relative;
  width: 45%;
  padding: 100px 0 50px 0; }
  @media only screen and (max-width: 1199px) {
    .footer__columns {
      width: 55%; } }
  @media only screen and (max-width: 899px) {
    .footer__columns {
      width: 100%;
      padding: 75px 0; } }
  .footer__columns a {
    transition: all 250ms ease; }
    .footer__columns a:hover {
      color: #2f8e8c; }

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

.footer__column {
  margin-bottom: 30px; }
  @media only screen and (max-width: 899px) {
    .footer__column {
      margin: 0;
      padding: 0 0 30px 0; } }
  .footer__column:last-of-type {
    margin: 0; }
  .footer__column.is-active svg {
    transform: rotate(180deg); }

@media only screen and (max-width: 899px) {
  .footer__column-head {
    display: flex;
    justify-content: space-between;
    width: 100%;
    cursor: pointer; } }

.footer__column-title {
  margin-bottom: 15px; }
  @media only screen and (max-width: 899px) {
    .footer__column-title {
      margin-bottom: 20px; } }

.footer__column-svg {
  display: none; }
  @media only screen and (max-width: 899px) {
    .footer__column-svg {
      display: flex; }
      .footer__column-svg svg {
        position: relative;
        top: 4px;
        width: 12px;
        height: 18px;
        transition: all 500ms ease; } }

@media only screen and (max-width: 899px) {
  .footer__column-editor {
    display: none; } }

.footer__payments {
  width: 100%;
  margin-top: 30px; }
  @media only screen and (max-width: 899px) {
    .footer__payments {
      margin-top: 50px; } }
  .footer__payments img {
    margin-right: 30px;
    max-width: 85px;
    width: auto;
    max-height: 35px;
    height: auto; }
    .footer__payments img:last-of-type {
      margin: 0; }

/**
 * Contact.
 */
.footer__contact {
  position: relative;
  width: calc(55% - 165px);
  margin-left: 165px;
  padding: 100px 0 50px 0;
  background-color: #153938;
  color: white; }
  @media only screen and (max-width: 1199px) {
    .footer__contact {
      width: calc(45% - 165px); } }
  @media only screen and (max-width: 899px) {
    .footer__contact {
      width: 100%;
      margin: 0;
      padding: 100px 0 50px 0;
      background-color: transparent; } }
  .footer__contact:before {
    position: absolute;
    top: 0;
    left: -165px;
    width: 166px;
    height: 100%;
    background-color: #153938;
    clip-path: polygon(60% 0%, 100% 0%, 100% 100%, 60% 100%, 0% 50%);
    z-index: 1;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .footer__contact:before {
        width: 100vw;
        height: 101px;
        top: 0;
        left: -60px;
        clip-path: polygon(50% 0%, 100% 40%, 100% 100%, 0 100%, 0 40%); } }
    @media only screen and (max-width: 599px) {
      .footer__contact:before {
        left: -20px; } }
  .footer__contact:after {
    position: absolute;
    top: 0;
    right: -100vw;
    width: 100vw;
    height: 100%;
    background-color: #153938;
    z-index: 1;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .footer__contact:after {
        width: calc(100vw + 120px);
        height: calc(100% - 100px);
        top: 100px;
        right: auto;
        left: -60px; } }
  .footer__contact a {
    transition: all 250ms ease; }
    .footer__contact a:hover {
      color: #2f8e8c; }

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

@media only screen and (max-width: 899px) {
  .footer__contact-column {
    position: relative;
    z-index: 2; } }

.footer__contact-title {
  margin-bottom: 15px; }
  .footer__contact-title.align-right {
    text-align: right; }
    @media only screen and (max-width: 1199px) {
      .footer__contact-title.align-right {
        margin-top: 50px;
        text-align: left; } }

.footer__contact-links {
  margin-bottom: 25px; }

.footer__social-link {
  margin-bottom: 15px; }
  .footer__social-link .is-svg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-right: 10px;
    border-radius: 20px;
    background-color: #2f8e8c; }
    .footer__social-link .is-svg svg {
      width: 11px;
      height: 11px;
      color: white; }
  .footer__social-link .is-value {
    width: calc(100% - 36px); }

.footer__contact-info {
  text-align: right;
  margin-bottom: 100px; }
  @media only screen and (max-width: 1199px) {
    .footer__contact-info {
      text-align: left; } }
  .footer__contact-info p {
    margin-bottom: 2em; }
    .footer__contact-info p:last-of-type {
      margin: 0; }

.footer__developed {
  position: absolute;
  right: 0;
  bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .footer__developed {
      position: relative;
      right: auto;
      bottom: 0;
      left: 0;
      z-index: 2; } }

.header {
  position: fixed;
  width: 100%;
  z-index: 20;
  overflow: hidden; }
  .header:hover {
    overflow: visible; }
  .header.is-scrolled {
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1); }

.header__container {
  height: 135px; }
  @media only screen and (max-width: 1199px) {
    .header__container {
      height: 105px; } }

/**
 * Top.
 */
.header__top {
  background-color: #153938; }
  .header__top .wrapper {
    justify-content: space-between;
    align-items: center;
    height: 55px; }
  .header__top a {
    transition: all 250ms ease; }
    .header__top a:hover {
      opacity: 0.7; }

.header__search {
  width: calc(100% - 275px);
  max-width: 390px;
  height: 26px; }
  @media only screen and (max-width: 1199px) {
    .header__search {
      width: calc(100% - 100px); } }

.header__links {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  align-items: center;
  color: white; }
  @media only screen and (max-width: 1199px) {
    .header__links {
      justify-content: space-between;
      width: 80px; } }

.header__link-news svg {
  display: none; }
  @media only screen and (max-width: 1199px) {
    .header__link-news svg {
      position: relative;
      top: 1px;
      display: flex;
      width: 14px;
      height: 13px; } }

@media only screen and (max-width: 1199px) {
  .header__link-news span {
    display: none; } }

.header__link-news:after {
  content: '|';
  margin: 0 15px; }
  @media only screen and (max-width: 1199px) {
    .header__link-news:after {
      display: none; } }

.header__link-cart {
  display: none; }
  @media only screen and (max-width: 1199px) {
    .header__link-cart {
      display: flex;
      position: relative; }
      .header__link-cart svg {
        width: 13px;
        height: 14px; }
      .header__link-cart .header__mini-cart-ammount {
        font-size: 6px;
        font-size: 0.6rem;
        line-height: 1.33333em;
        right: -12px;
        bottom: -3px;
        width: 10px;
        height: 10px;
        padding-top: 1px; } }

.header__link-account svg {
  position: relative;
  top: 2px;
  width: 13px;
  height: 14px;
  margin-right: 10px;
  text-decoration: none; }
  @media only screen and (max-width: 1199px) {
    .header__link-account svg {
      height: 11px;
      margin: 0; } }

.header__link-account span {
  text-decoration: underline; }
  @media only screen and (max-width: 1199px) {
    .header__link-account span {
      display: none; } }

/**
 * Navigation.
 */
.header__navigation {
  background-color: white; }
  .header__navigation .wrapper {
    justify-content: space-between;
    align-items: center;
    height: 80px; }
    @media only screen and (max-width: 1199px) {
      .header__navigation .wrapper {
        height: 50px; } }

.header__logo img {
  max-height: 55px;
  width: auto;
  max-width: auto; }
  @media only screen and (max-width: 1199px) {
    .header__logo img {
      max-height: 35px; } }

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

.header__navigation-menu > li {
  position: relative;
  margin-right: 22px;
  z-index: 1; }
  .header__navigation-menu > li a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em;
    font-weight: 600;
    transition: all 250ms ease; }
  .header__navigation-menu > li.current-menu-item > a, .header__navigation-menu > li:hover > a {
    color: #2f8e8c; }
  .header__navigation-menu > li:hover {
    z-index: 99; }
    .header__navigation-menu > li:hover .submenu-container {
      opacity: 1;
      top: 100%; }
  .header__navigation-menu > li:last-of-type {
    margin: 0; }

.header__navigation-menu .submenu-container {
  position: absolute;
  top: 50px;
  left: 50%;
  min-width: 185px;
  padding-top: 15px;
  transform: translate(-50%, 0%);
  transition: all 250ms ease;
  opacity: 0; }
  .header__navigation-menu .submenu-container .submenu {
    padding: 0 17.5px;
    background-color: white;
    box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.06);
    border: 1px solid #edf2f7; }
    .header__navigation-menu .submenu-container .submenu li {
      border-bottom: 1px solid #edf2f7; }
      .header__navigation-menu .submenu-container .submenu li.current-menu-item > a, .header__navigation-menu .submenu-container .submenu li:hover > a {
        color: #2f8e8c; }
    .header__navigation-menu .submenu-container .submenu a {
      display: block;
      width: 100%;
      padding: 15px; }

/**
 * Mini-cart.
 */
.header__mini-cart {
  position: relative;
  margin-left: 40px;
  cursor: pointer; }
  @media only screen and (max-width: 1199px) {
    .header__mini-cart {
      display: none; } }
  .header__mini-cart svg {
    width: 37px;
    height: 24px;
    color: #153938; }
  .header__mini-cart:hover .mini-cart {
    top: 0;
    opacity: 1;
    z-index: 99; }

.header__mini-cart-ammount {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -16px;
  bottom: 3px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-color: #2f8e8c;
  color: white; }

/**
 * Mobile button.
 */
@media only screen and (max-width: 1199px) {
  .header__menu-button {
    position: relative;
    width: 18px;
    height: 16px;
    z-index: 100; }
    .header__menu-button span {
      display: inline-block;
      position: absolute;
      right: 0;
      left: 0;
      width: 18px;
      height: 2px;
      border-radius: 2px;
      margin: auto;
      background-color: #153938; }
      .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% - 1px);
        transition: background-color 400ms, opacity 0ms 400ms;
        background-color: black;
        opacity: 1; }
      .header__menu-button span:nth-child(3) {
        bottom: 0;
        transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
        background-color: black; }
    .header__menu-button.is-active span:nth-child(1) {
      top: calc(50% - 1px);
      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% - 1px);
      transform: rotate(45deg);
      transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; } }

.image-text {
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .image-text {
      padding: 50px 0; } }
  .image-text .wrapper {
    align-items: center; }

.image-text--position-right .wrapper {
  flex-direction: row-reverse; }

.image-text--position-right .image-text__text {
  padding: 0 100px 0 0; }
  @media only screen and (max-width: 899px) {
    .image-text--position-right .image-text__text {
      padding: 50px 0 0 0; } }

.image-text__image {
  width: 55%; }
  @media only screen and (max-width: 899px) {
    .image-text__image {
      width: 100%; } }

.image-text__image-wrap {
  position: relative;
  height: 530px;
  width: 100%; }
  @media only screen and (max-width: 899px) {
    .image-text__image-wrap {
      left: -60px;
      width: calc(100% + 120px);
      height: 345px; } }
  @media only screen and (max-width: 599px) {
    .image-text__image-wrap {
      left: -20px;
      width: calc(100% + 40px); } }
  @media only screen and (max-width: 899px) {
    .image-text__image-wrap:before {
      position: absolute;
      bottom: 0;
      left: 0;
      width: calc(100% - 50px);
      height: 70px;
      background-color: white;
      z-index: 1;
      content: ''; } }
  @media only screen and (max-width: 899px) {
    .image-text__image-wrap:after {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 50px;
      height: 70px;
      background-color: white;
      clip-path: polygon(0 0, 0% 0%, 100% 100%, 0% 100%);
      z-index: 1;
      content: ''; } }

.image-text__text {
  width: 45%;
  padding-left: 100px; }
  @media only screen and (max-width: 899px) {
    .image-text__text {
      width: 100%;
      margin-top: -30px;
      padding: 0;
      z-index: 2; } }

.image-text__title {
  margin-bottom: 25px; }
  @media only screen and (max-width: 899px) {
    .image-text__title {
      max-width: calc(100% - 50px); } }

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

.mini-cart {
  position: absolute;
  top: 100px;
  right: -35px;
  min-width: 400px;
  padding-top: 45px;
  color: initial;
  opacity: 0;
  z-index: -1;
  transition: all 500ms ease; }

.mini-cart__wrap {
  position: relative;
  background-color: white;
  border: 1px solid #e7ecf1;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.06); }
  .mini-cart__wrap .woocommerce-mini-cart {
    position: relative;
    z-index: 10; }
  .mini-cart__wrap:after, .mini-cart__wrap:before {
    display: block;
    position: absolute;
    top: -7px;
    right: 25px;
    width: 50px;
    height: 50px;
    background-color: white;
    border: 1px solid #e7ecf1;
    content: '';
    transform: rotate(45deg);
    z-index: 1; }
  .mini-cart__wrap:after {
    top: 0;
    border: 0;
    transform: rotate(0deg);
    width: 100px;
    height: 55px;
    right: 0; }
  .mini-cart__wrap .mini_cart_item {
    display: flex;
    position: relative;
    align-items: center;
    padding: 20px; }
    .mini-cart__wrap .mini_cart_item .remove_from_cart_button {
      margin-right: 15px;
      font-weight: bold; }
    .mini-cart__wrap .mini_cart_item > a:nth-child(2) {
      display: flex;
      align-items: center;
      margin-right: 20px; }
    .mini-cart__wrap .mini_cart_item .quantity {
      display: flex;
      align-items: center;
      justify-content: space-around;
      min-width: 120px;
      font-weight: bold; }
      .mini-cart__wrap .mini_cart_item .quantity .amount {
        margin-left: 20px; }
    .mini-cart__wrap .mini_cart_item img {
      max-height: 30px;
      width: auto;
      margin-right: 15px; }
    .mini-cart__wrap .mini_cart_item:after {
      position: absolute;
      right: 10px;
      bottom: 0;
      left: 20px;
      width: calc(100% - 40px);
      height: 1px;
      background-color: #edf2f7;
      content: ''; }
  .mini-cart__wrap .woocommerce-mini-cart__total {
    text-align: right;
    padding: 15px 20px; }
    .mini-cart__wrap .woocommerce-mini-cart__total strong {
      font-weight: normal; }
    .mini-cart__wrap .woocommerce-mini-cart__total .amount {
      font-weight: 700; }
      .mini-cart__wrap .woocommerce-mini-cart__total .amount bdi {
        margin-left: 20px; }
  .mini-cart__wrap .woocommerce-mini-cart__buttons {
    display: flex;
    justify-content: center;
    padding: 15px 0 30px 0; }
    .mini-cart__wrap .woocommerce-mini-cart__buttons a {
      background-color: #153938; }
      .mini-cart__wrap .woocommerce-mini-cart__buttons a.checkout {
        background-color: #2f8e8c;
        margin-left: 10px; }
        .mini-cart__wrap .woocommerce-mini-cart__buttons a.checkout:hover {
          background-color: #153938; }

.woocommerce-mini-cart__empty-message {
  padding: 30px; }

.navigation-mobile {
  position: fixed;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 105px);
  margin-top: 105px;
  transition: all 500ms ease;
  background: #edf2f7;
  opacity: 0;
  z-index: 99;
  overflow-x: hidden; }
  .navigation-mobile.is-active {
    top: 0;
    opacity: 1; }
  .navigation-mobile::-webkit-scrollbar {
    display: none; }

/**
 * Main menu.
 */
.navigation-mobile__main {
  margin: 50px 0; }
  .navigation-mobile__main > li {
    position: relative; }
    .navigation-mobile__main > li.menu-item-has-children > a {
      padding-left: 41px; }
    .navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
      color: #2f8e8c; }
    .navigation-mobile__main > li.is-active svg {
      transform: rotate(180deg); }
    .navigation-mobile__main > li > a {
      display: flex;
      justify-content: center;
      padding: 13px 0;
      font-weight: 700;
      color: #153938; }
      .navigation-mobile__main > li > a span {
        padding-right: 20px;
        cursor: pointer; }
      .navigation-mobile__main > li > a svg {
        position: relative;
        top: 4px;
        width: 11px;
        height: 16px;
        margin-left: 10px;
        transition: all 500ms ease;
        color: #153938; }
    .navigation-mobile__main > li .submenu-container {
      display: none;
      margin: 5px 0 10px 0; }
      .navigation-mobile__main > li .submenu-container li {
        display: flex;
        justify-content: center;
        margin-bottom: 15px; }
        .navigation-mobile__main > li .submenu-container li:last-of-type {
          margin-bottom: 0; }
        .navigation-mobile__main > li .submenu-container li.current_page_ancestor > a, .navigation-mobile__main > li .submenu-container li.current-menu-item > a {
          color: #2f8e8c; }

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

.news-item {
  align-items: center;
  padding: 125px 0; }
  @media only screen and (max-width: 899px) {
    .news-item {
      padding: 50px 0; } }

.news-item__text {
  width: 45%;
  padding-right: 100px; }
  @media only screen and (max-width: 899px) {
    .news-item__text {
      width: 100%;
      padding: 0; } }

.news-item__label {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  color: #2f8e8c;
  margin-bottom: 10px; }

.news-item__author {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  color: #2f8e8c;
  margin: 20px 0; }
  .news-item__author svg {
    width: 14px;
    height: 16px;
    margin-right: 8px;
    color: #2f8e8c; }

.news-item__teaser {
  margin-bottom: 30px; }

.news-item__image {
  width: 55%; }
  @media only screen and (max-width: 899px) {
    .news-item__image {
      width: 100%; } }

.news-item__image-wrap {
  position: relative;
  height: 530px;
  width: 100%; }
  @media only screen and (max-width: 899px) {
    .news-item__image-wrap {
      left: -60px;
      width: calc(100% + 120px);
      height: 245px; } }
  @media only screen and (max-width: 599px) {
    .news-item__image-wrap {
      left: -20px;
      width: calc(100% + 40px); } }
  @media only screen and (max-width: 899px) {
    .news-item__image-wrap:before {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(100% - 50px);
      height: 45px;
      background-color: white;
      z-index: 1;
      content: ''; } }
  @media only screen and (max-width: 899px) {
    .news-item__image-wrap:after {
      position: absolute;
      top: 0;
      right: 0;
      width: 50px;
      height: 45px;
      background-color: white;
      clip-path: polygon(0 0, 100% 0%, 100% 0%, 0% 100%);
      z-index: 1;
      content: ''; } }

.news-latest {
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .news-latest {
      padding: 50px 0; } }

.news-latest__wrap {
  margin: -125px 0; }
  @media only screen and (max-width: 899px) {
    .news-latest__wrap {
      margin: -50px 0; } }

.news-list {
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .news-list {
      padding: 50px 0; } }

.news-list__wrap {
  margin: -125px 0; }
  @media only screen and (max-width: 899px) {
    .news-list__wrap {
      margin: -50px 0; } }
  .news-list__wrap .news-item:nth-child(even) {
    flex-direction: row-reverse; }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-item:nth-child(even) {
        flex-direction: initial; } }
    .news-list__wrap .news-item:nth-child(even) .news-item__text {
      padding: 0 0 0 100px; }
      @media only screen and (max-width: 899px) {
        .news-list__wrap .news-item:nth-child(even) .news-item__text {
          padding: 0; } }

.news-single {
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .news-single {
      margin-bottom: 50px; } }

/**
 * Header.
 */
.news-single__header {
  position: relative;
  z-index: 10;
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .news-single__header {
      margin-bottom: 50px; } }

.news-single__header-media {
  width: 100%;
  height: 525px; }
  @media only screen and (max-width: 899px) {
    .news-single__header-media {
      height: 315px; } }

.news-single__header-image {
  position: relative;
  width: 100%;
  height: 100%; }

.news-single__title-wrap {
  display: flex;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  align-items: center;
  height: 115px;
  width: 545px;
  max-width: 100%; }
  @media only screen and (max-width: 899px) {
    .news-single__title-wrap {
      width: calc(100% - 120px);
      height: auto;
      min-height: 115px;
      padding: 15px 0; } }
  @media only screen and (max-width: 599px) {
    .news-single__title-wrap {
      width: calc(100% - 40px); } }
  .news-single__title-wrap:before {
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    background-color: #edf2f7;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.3);
    z-index: 2;
    content: ''; }
  .news-single__title-wrap:after {
    position: absolute;
    top: 0;
    right: -65px;
    width: 65px;
    height: 100%;
    background-color: #edf2f7;
    clip-path: polygon(0 0, 0% 0%, 100% 100%, 0% 100%);
    content: '';
    z-index: 4; }
    @media only screen and (max-width: 899px) {
      .news-single__title-wrap:after {
        right: -20px;
        width: 20px;
        clip-path: polygon(0% 0%, 0 0, 100% 50%, 0 100%, 0% 100%); } }

.news-single__title {
  position: relative;
  z-index: 3; }

/**
* Content.
*/
.news-single__body .wrapper {
  max-width: calc(780px + 100px); }

.news-single__author {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  color: #2f8e8c;
  margin-bottom: 30px; }
  .news-single__author svg {
    width: 14px;
    height: 16px;
    margin-right: 8px;
    color: #2f8e8c; }

.news-single__back {
  display: block;
  margin-top: 100px;
  transition: all 250ms ease; }
  .news-single__back svg {
    position: relative;
    top: 4px;
    width: 14px;
    height: 16px;
    margin-right: 15px;
    transition: all 250ms ease; }
  .news-single__back:hover {
    color: #2f8e8c; }
    .news-single__back:hover svg {
      margin-left: -5px;
      margin-right: 20px; }

.product-description {
  padding-bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .product-description {
      padding-bottom: 15px; } }
  .product-description .wrapper.is-active .has-title svg {
    transform: rotate(180deg); }

.product-description__head {
  margin-bottom: 20px;
  padding-top: 50px;
  border-top: 1px solid #e7ecf1; }
  @media only screen and (max-width: 899px) {
    .product-description__head {
      cursor: pointer;
      position: relative;
      margin: 0;
      padding-top: 25px;
      border: 0; } }
  .product-description__head .has-svg {
    width: 110px; }
    @media only screen and (max-width: 899px) {
      .product-description__head .has-svg {
        width: 35px; } }
    .product-description__head .has-svg svg {
      position: relative;
      top: -2px;
      width: 40px;
      height: 40px;
      margin-left: 40px;
      color: #d8e1e9; }
      @media only screen and (max-width: 899px) {
        .product-description__head .has-svg svg {
          width: 23px;
          height: 21px;
          margin: 0 12px 0 0; } }
  .product-description__head .has-title {
    width: calc(100% - 110px); }
    @media only screen and (max-width: 899px) {
      .product-description__head .has-title {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.28571em;
        width: calc(100% - 35px); } }
    .product-description__head .has-title svg {
      display: none; }
      @media only screen and (max-width: 899px) {
        .product-description__head .has-title svg {
          display: block;
          position: absolute;
          top: 25px;
          right: 0;
          width: 12px;
          height: 18px;
          color: #153938;
          transition: all 500ms ease; } }

.product-description__wrap {
  padding-left: 110px; }
  @media only screen and (max-width: 899px) {
    .product-description__wrap {
      display: none;
      padding: 15px 0 15px 0; } }

.product-faq {
  padding-bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .product-faq {
      padding-bottom: 15px; } }
  .product-faq .wrapper.is-active .has-title svg {
    transform: rotate(180deg); }

.product-faq__head {
  margin-bottom: 20px;
  padding-top: 50px;
  border-top: 1px solid #e7ecf1; }
  @media only screen and (max-width: 899px) {
    .product-faq__head {
      cursor: pointer;
      position: relative;
      margin: 0;
      padding-top: 25px; } }
  .product-faq__head .has-svg {
    width: 110px; }
    @media only screen and (max-width: 899px) {
      .product-faq__head .has-svg {
        width: 35px; } }
    .product-faq__head .has-svg svg {
      position: relative;
      top: -2px;
      width: 40px;
      height: 40px;
      margin-left: 40px;
      color: #d8e1e9; }
      @media only screen and (max-width: 899px) {
        .product-faq__head .has-svg svg {
          width: 23px;
          height: 21px;
          margin: 0 12px 0 0; } }
  .product-faq__head .has-title {
    width: calc(100% - 110px); }
    @media only screen and (max-width: 899px) {
      .product-faq__head .has-title {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.28571em;
        width: calc(100% - 35px); } }
    .product-faq__head .has-title svg {
      display: none; }
      @media only screen and (max-width: 899px) {
        .product-faq__head .has-title svg {
          display: block;
          position: absolute;
          top: 25px;
          right: 0;
          width: 12px;
          height: 18px;
          color: #153938;
          transition: all 500ms ease; } }

.product-faq__questions {
  padding-left: 110px; }
  @media only screen and (max-width: 899px) {
    .product-faq__questions {
      display: none;
      padding: 15px 0 15px 0; } }

.product-faq__question {
  position: relative;
  width: 100%;
  margin-bottom: 25px;
  padding: 20px;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1);
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .product-faq__question {
      margin-bottom: 10px;
      padding: 10px; } }
  .product-faq__question:last-of-type {
    margin: 0; }
  .product-faq__question.is-active .fa-plus {
    display: none; }
  .product-faq__question.is-active .fa-minus {
    display: block; }
  .product-faq__question:hover {
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.25); }

.product-faq__question-head {
  cursor: pointer; }

.product-faq__question-title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  font-weight: bold; }
  @media only screen and (max-width: 899px) {
    .product-faq__question-title {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.64286em; } }

.product-faq__question-icons {
  display: block;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 16px;
  height: 16px; }
  @media only screen and (max-width: 899px) {
    .product-faq__question-icons {
      top: 13px;
      right: 10px; } }
  .product-faq__question-icons .fa-minus {
    display: none; }

.product-faq__question-answer {
  display: none;
  max-width: calc(100% - 100px);
  margin-top: 10px; }
  @media only screen and (max-width: 899px) {
    .product-faq__question-answer {
      max-width: 100%; } }

.product-featured {
  position: relative;
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .product-featured {
      padding: 50px 0; } }
  .product-featured:before {
    position: absolute;
    top: 0;
    left: -150px;
    width: calc(100% + 500px);
    height: 100%;
    background: #edf2f7;
    clip-path: polygon(0 0, 100% 100%, 100% 100%, 0 100%);
    z-index: -1;
    content: ''; }

.product-featured__title {
  margin-bottom: 60px;
  text-align: center; }
  @media only screen and (max-width: 899px) {
    .product-featured__title {
      text-align: left;
      margin-bottom: 30px; } }

.product-featured__wrap .product-item {
  width: 285px;
  height: 100%; }
  @media only screen and (max-width: 899px) {
    .product-featured__wrap .product-item {
      width: 270px; } }

.product-featured__wrap .owl-stage {
  display: flex; }

.product-features {
  padding-bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .product-features {
      padding-bottom: 15px; } }
  .product-features .wrapper.is-active .has-title svg {
    transform: rotate(180deg); }

.product-features__head {
  margin-bottom: 20px;
  padding-top: 50px;
  border-top: 1px solid #e7ecf1; }
  @media only screen and (max-width: 899px) {
    .product-features__head {
      cursor: pointer;
      position: relative;
      margin: 0;
      padding-top: 25px; } }
  .product-features__head .has-svg {
    width: 110px; }
    @media only screen and (max-width: 899px) {
      .product-features__head .has-svg {
        width: 35px; } }
    .product-features__head .has-svg svg {
      position: relative;
      top: -2px;
      width: 40px;
      height: 40px;
      margin-left: 40px;
      color: #d8e1e9; }
      @media only screen and (max-width: 899px) {
        .product-features__head .has-svg svg {
          width: 23px;
          height: 21px;
          margin: 0 12px 0 0; } }
  .product-features__head .has-title {
    width: calc(100% - 110px); }
    @media only screen and (max-width: 899px) {
      .product-features__head .has-title {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.28571em;
        width: calc(100% - 35px); } }
    .product-features__head .has-title svg {
      display: none; }
      @media only screen and (max-width: 899px) {
        .product-features__head .has-title svg {
          display: block;
          position: absolute;
          top: 25px;
          right: 0;
          width: 12px;
          height: 18px;
          color: #153938;
          transition: all 500ms ease; } }

.product-features__wrap {
  padding-left: 110px; }
  @media only screen and (max-width: 899px) {
    .product-features__wrap {
      display: none;
      padding: 15px 0 15px 0; } }

.product-features__feature {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 30px; }
  .product-features__feature.has-image-right {
    flex-direction: row-reverse; }
    @media only screen and (max-width: 599px) {
      .product-features__feature.has-image-right {
        flex-direction: initial; } }
    .product-features__feature.has-image-right .product-features__image {
      margin: 0 0 0 40px; }
      @media only screen and (max-width: 599px) {
        .product-features__feature.has-image-right .product-features__image {
          margin: 0 0 20px 0; } }
  .product-features__feature:last-of-type {
    margin-bottom: 0; }

.product-features__image {
  width: 250px;
  margin-right: 40px; }
  @media only screen and (max-width: 599px) {
    .product-features__image {
      width: 100%;
      max-width: 250px;
      margin: 0 0 20px 0; } }
  .product-features__image img {
    width: 100%;
    height: auto; }

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

.product-features__title {
  margin-bottom: 20px; }

.product-filters {
  margin-top: 40px; }
  @media only screen and (max-width: 899px) {
    .product-filters {
      margin-top: 20px; } }

.product-filters__education {
  justify-content: center;
  padding-bottom: 30px;
  border-bottom: 1px solid #e7ecf1; }
  @media only screen and (max-width: 899px) {
    .product-filters__education {
      justify-content: flex-start; } }

.product-filters__education-title {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  margin-right: 50px;
  font-weight: bold;
  color: #2f8e8c; }
  @media only screen and (max-width: 899px) {
    .product-filters__education-title {
      display: none; } }

.product-filters__education-label {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  font-weight: bold;
  color: #2f8e8c; }
  @media only screen and (max-width: 899px) {
    .product-filters__education-label {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.25em; } }
  .product-filters__education-label input {
    position: relative;
    top: 5px;
    margin-left: 15px; }

.product-filters__programs {
  padding: 30px 0 35px 0;
  border-bottom: 1px solid #e7ecf1; }
  .product-filters__programs.is-active .product-filters__programms-title svg {
    transform: rotate(180deg); }

.product-filters__programms-title {
  margin-bottom: 35px;
  text-align: center; }
  @media only screen and (max-width: 899px) {
    .product-filters__programms-title {
      display: none;
      margin-bottom: 0;
      text-align: left; } }
  .product-filters__programms-title.is-mobile {
    display: none; }
    @media only screen and (max-width: 899px) {
      .product-filters__programms-title.is-mobile {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.25em;
        position: relative;
        display: block;
        font-weight: bold;
        color: #2f8e8c;
        cursor: pointer; } }
    @media only screen and (max-width: 899px) {
      .product-filters__programms-title.is-mobile svg {
        position: absolute;
        top: 3px;
        right: 0;
        width: 12px;
        height: 18px;
        color: #2f8e8c;
        transition: all 500ms ease; } }

.product-filters__programs-wrap {
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .product-filters__programs-wrap {
      display: none;
      justify-content: flex-start;
      margin-top: 25px; } }

.product-filters__program {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  margin: 0 50px 20px 0; }
  @media only screen and (max-width: 899px) {
    .product-filters__program {
      width: 100%;
      margin: 0 0 15px 0; } }
  .product-filters__program input {
    position: relative;
    top: 5px;
    margin-right: 20px; }
  .product-filters__program span {
    font-weight: 400; }
  .product-filters__program.is-hidden {
    display: none; }
  .product-filters__program:last-of-type {
    margin: 0; }

.product-filters__programs-more {
  display: block;
  width: 100%;
  margin-top: 15px;
  text-decoration: underline;
  text-align: center; }
  @media only screen and (max-width: 899px) {
    .product-filters__programs-more {
      margin-top: 10px;
      text-align: left; } }
  .product-filters__programs-more .is-less {
    display: none; }
  .product-filters__programs-more.is-active .is-less {
    display: block; }
  .product-filters__programs-more.is-active .is-more {
    display: none; }
  .product-filters__programs-more span {
    transition: all 250ms ease; }
    .product-filters__programs-more span:hover {
      color: #2f8e8c; }

.product-gallery {
  padding-bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .product-gallery {
      padding-bottom: 15px; } }
  .product-gallery .wrapper.is-active .has-title svg {
    transform: rotate(180deg); }

.product-gallery__head {
  margin-bottom: 20px;
  padding-top: 50px;
  border-top: 1px solid #e7ecf1; }
  @media only screen and (max-width: 899px) {
    .product-gallery__head {
      cursor: pointer;
      position: relative;
      margin: 0;
      padding-top: 25px; } }
  .product-gallery__head .has-svg {
    width: 110px; }
    @media only screen and (max-width: 899px) {
      .product-gallery__head .has-svg {
        width: 35px; } }
    .product-gallery__head .has-svg svg {
      position: relative;
      top: -2px;
      width: 40px;
      height: 40px;
      margin-left: 40px;
      color: #d8e1e9; }
      @media only screen and (max-width: 899px) {
        .product-gallery__head .has-svg svg {
          width: 23px;
          height: 21px;
          margin: 0 12px 0 0; } }
  .product-gallery__head .has-title {
    width: calc(100% - 110px); }
    @media only screen and (max-width: 899px) {
      .product-gallery__head .has-title {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.28571em;
        width: calc(100% - 35px); } }
    .product-gallery__head .has-title svg {
      display: none; }
      @media only screen and (max-width: 899px) {
        .product-gallery__head .has-title svg {
          display: block;
          position: absolute;
          top: 25px;
          right: 0;
          width: 12px;
          height: 18px;
          color: #153938;
          transition: all 500ms ease; } }

@media only screen and (max-width: 899px) {
  .product-gallery__body {
    display: none; } }

.product-gallery__wrap {
  width: calc(100% + 20px);
  padding-left: 110px;
  margin: -10px; }
  @media only screen and (max-width: 899px) {
    .product-gallery__wrap {
      padding: 15px 0 15px 0; } }
  .product-gallery__wrap a {
    width: calc(25% - 20px);
    margin: 10px;
    transition: all 250ms ease;
    overflow: hidden; }
    @media only screen and (max-width: 899px) {
      .product-gallery__wrap a {
        width: calc(50% - 20px); } }
  .product-gallery__wrap img {
    width: 100%;
    height: auto;
    transition: all 250ms ease; }
    .product-gallery__wrap img:hover {
      transform: scale(1.1, 1.1); }

.product-introduction {
  position: relative;
  z-index: 10; }
  .product-introduction .wrapper:nth-child(1) {
    background-color: #edf2f7;
    padding-bottom: 50px; }

.product-introduction__columns {
  justify-content: space-between; }

/**
 * Head.
 */
.product-introduction__head {
  justify-content: space-between;
  height: 100px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__head {
      flex-flow: column-reverse;
      height: auto; } }

.product-introduction__usps {
  margin-top: 25px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__usps .wrapper {
      justify-content: center; } }

.product-introduction__usp {
  display: flex;
  align-items: center;
  margin-left: 20px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__usp {
      display: none;
      margin: 0; } }
  .product-introduction__usp svg {
    width: 15px;
    height: 15px;
    margin-right: 15px;
    color: #2f8e8c; }
  @media only screen and (max-width: 899px) {
    .product-introduction__usp:nth-child(1) {
      display: flex; } }

/**
 * Gallery.
 */
.product-introduction__gallery {
  width: calc(50% - 35px); }
  @media only screen and (max-width: 899px) {
    .product-introduction__gallery {
      width: 100%; } }

.product-introduction__gallery-big a {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 20px; }
  .product-introduction__gallery-big a img {
    width: 100%;
    border-radius: 5px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.3);
    transition: all 250ms ease; }
    .product-introduction__gallery-big a img:hover {
      box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5); }

.product-introduction__gallery-thumbnails {
  margin: -10px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__gallery-thumbnails {
      display: none; } }
  .product-introduction__gallery-thumbnails a {
    position: relative;
    width: calc(20% - 20px);
    height: 55px;
    border: 2px solid white;
    margin: 10px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.5);
    transition: all 250ms ease; }
    .product-introduction__gallery-thumbnails a:hover {
      border: 6px solid white; }

/**
 * Information.
 */
.product-introduction__information {
  width: calc(50% - 35px); }
  @media only screen and (max-width: 899px) {
    .product-introduction__information {
      width: 100%; } }

.product-introduction__label {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 2em;
  margin-bottom: 10px;
  color: #719695; }
  .product-introduction__label svg {
    position: relative;
    top: 8px;
    width: 12px;
    height: 24px;
    margin-right: 10px; }

.product-introduction__title {
  max-width: 450px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__title {
      max-width: 100%; } }

.product-introduction__text {
  max-width: 450px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__text {
      max-width: 100%; } }

/**
 * Programs.
 */
.product-introduction__programs {
  margin-bottom: 50px; }

.product-introduction__programs-title {
  font-weight: bold;
  margin-bottom: 20px; }

.product-introduction__programs-wrap {
  margin: -10px; }

.product-introduction__program {
  display: flex;
  align-items: center;
  width: calc(25% - 20px);
  margin: 10px; }
  @media only screen and (max-width: 1199px) {
    .product-introduction__program {
      width: calc(33.3333% - 20px); } }
  @media only screen and (max-width: 599px) {
    .product-introduction__program {
      width: calc(50% - 20px); } }
  .product-introduction__program img {
    width: 31px;
    height: 31px;
    background-color: white;
    border-radius: 20px;
    margin-right: 10px;
    padding: 5px; }

/**
 * Order.
 */
.product-introduction__summary-cart .is-simple {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .product-introduction__summary-cart .is-simple {
      flex-wrap: wrap; } }
  @media only screen and (max-width: 599px) {
    .product-introduction__summary-cart .is-simple {
      flex-wrap: wrap; } }
  .product-introduction__summary-cart .is-simple .price {
    display: flex;
    align-items: center; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .product-introduction__summary-cart .is-simple .price {
        width: 100%;
        margin-bottom: 50px; } }
    @media only screen and (max-width: 599px) {
      .product-introduction__summary-cart .is-simple .price {
        width: 100%;
        margin-bottom: 50px; } }
    .product-introduction__summary-cart .is-simple .price strike {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.9375em;
      margin-right: 5px;
      opacity: 0.5; }
    .product-introduction__summary-cart .is-simple .price .is-big {
      font-size: 36px;
      font-size: 3.6rem;
      line-height: 1.25em;
      font-weight: bold;
      color: #2f8e8c;
      margin-right: 5px; }
      .product-introduction__summary-cart .is-simple .price .is-big .is-orange {
        color: #e75400; }
  .product-introduction__summary-cart .is-simple .quantity-wrap {
    margin-right: 25px; }

.product-introduction__summary-cart .is-variable table {
  width: 100%;
  margin-bottom: 40px; }

.product-introduction__summary-cart .is-variable .single_variation_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .product-introduction__summary-cart .is-variable .single_variation_wrap {
      flex-wrap: wrap; } }
  @media only screen and (max-width: 599px) {
    .product-introduction__summary-cart .is-variable .single_variation_wrap {
      flex-wrap: wrap; } }

.product-introduction__summary-cart .is-variable .price {
  display: flex;
  align-items: center; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .product-introduction__summary-cart .is-variable .price {
      width: 100%; } }
  @media only screen and (max-width: 599px) {
    .product-introduction__summary-cart .is-variable .price {
      width: 100%; } }
  .product-introduction__summary-cart .is-variable .price bdi {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.25em;
    font-weight: bold;
    color: #2f8e8c;
    margin-right: 5px; }
  .product-introduction__summary-cart .is-variable .price small {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571em; }

.product-introduction__summary-cart .is-variable .woocommerce-variation-add-to-cart {
  display: flex; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .product-introduction__summary-cart .is-variable .woocommerce-variation-add-to-cart {
      margin-top: 50px; } }
  @media only screen and (max-width: 599px) {
    .product-introduction__summary-cart .is-variable .woocommerce-variation-add-to-cart {
      margin-top: 50px; } }

.product-introduction__summary-cart .is-variable .quantity-wrap {
  margin-right: 25px; }

.product-introduction__summary-cart .wc-pao-addon-container {
  position: relative;
  width: 100%;
  margin-bottom: 30px; }
  .product-introduction__summary-cart .wc-pao-addon-container small {
    display: none; }
  .product-introduction__summary-cart .wc-pao-addon-container .wc-pao-addon-description {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 130px;
    height: fit-content;
    border: 2px dashed rgba(21, 57, 56, 0.3);
    border-radius: 8px; }
    .product-introduction__summary-cart .wc-pao-addon-container .wc-pao-addon-description p {
      margin: 0; }
    .product-introduction__summary-cart .wc-pao-addon-container .wc-pao-addon-description svg {
      display: block;
      width: 15px;
      height: 15px;
      margin: 0 auto 10px auto; }
    .product-introduction__summary-cart .wc-pao-addon-container .wc-pao-addon-description span {
      font-style: italic;
      font-weight: bold; }
  .product-introduction__summary-cart .wc-pao-addon-container input.wc-pao-addon-file-upload {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 160px;
    opacity: 0;
    cursor: pointer; }
  .product-introduction__summary-cart .wc-pao-addon-container input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    cursor: pointer; }

.product-introduction__summary-cart #product-addons-total {
  display: none; }

.product-introduction__month-price {
  display: flex;
  align-items: center;
  margin-top: 10px; }
  .product-introduction__month-price strong {
    color: #2f8e8c;
    font-weight: 600; }
  .product-introduction__month-price .is-big {
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 1.28571em;
    font-weight: bold; }
  .product-introduction__month-price span {
    margin: 0 5px; }
  .product-introduction__month-price svg {
    position: relative;
    top: 1px;
    width: 12px;
    height: 12px;
    margin-left: 5px;
    color: #2f8e8c; }

.product-introduction__logo {
  width: auto;
  max-width: 260px;
  height: auto;
  float: right;
  margin-top: 100px; }
  @media only screen and (max-width: 899px) {
    .product-introduction__logo {
      max-width: 160px;
      margin-top: 50px; } }

/**
 * Menu.
 */
.product-introduction__menu {
  margin: 40px 0;
  justify-content: center; }
  @media only screen and (max-width: 899px) {
    .product-introduction__menu {
      display: none; } }
  .product-introduction__menu a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em;
    margin-right: 40px;
    font-weight: bold;
    transition: all 250ms ease; }
    .product-introduction__menu a:last-of-type {
      margin: 0; }
    .product-introduction__menu a:hover {
      color: #2f8e8c; }

.product-introduction__sale {
  align-items: center;
  width: 100%;
  margin-top: 10px; }
  .product-introduction__sale svg {
    width: 10px;
    height: 10px;
    margin-right: 5px;
    color: #e75400; }
  .product-introduction__sale span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.14286em;
    width: calc(100% - 15px);
    font-style: italic;
    color: #e75400; }

.single_variation_wrap .woocommerce-variation-price del {
  margin-top: 10px;
  display: flex; }

.single_variation_wrap .woocommerce-variation-price del span, .single_variation_wrap .woocommerce-variation-price del bdi {
  font-size: 16px !important;
  line-height: 1.9375em !important;
  margin-right: 5px !important;
  opacity: 0.5 !important; }

.single_variation_wrap .woocommerce-variation-price ins span, .single_variation_wrap .woocommerce-variation-price ins bdi {
  color: #e75400 !important;
  font-size: 36px !important;
  line-height: 1.25em !important;
  font-weight: bold !important; }

.single_variation_wrap .woocommerce-variation-price ins {
  text-decoration: none !important; }

.owl-carousel .owl-item .product-item,
.product-item {
  background-color: white;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  transition: all 250ms ease;
  border-radius: 4px;
  overflow: hidden; }
  .owl-carousel .owl-item .product-item:hover,
  .product-item:hover {
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.25); }
    .owl-carousel .owl-item .product-item:hover .product-item__image:before,
    .product-item:hover .product-item__image:before {
      opacity: 0.62; }
    .owl-carousel .owl-item .product-item:hover .category-item__programs,
    .product-item:hover .category-item__programs {
      top: 50%; }
    .owl-carousel .owl-item .product-item:hover .product-item__education,
    .product-item:hover .product-item__education {
      justify-content: center;
      width: 50px;
      padding: 0; }
      .owl-carousel .owl-item .product-item:hover .product-item__education span,
      .product-item:hover .product-item__education span {
        display: none; }
      .owl-carousel .owl-item .product-item:hover .product-item__education svg,
      .product-item:hover .product-item__education svg {
        margin: 0; }

.product-item__image {
  position: relative;
  width: 100%;
  height: 200px; }
  .product-item__image:before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0;
    transition: all 250ms ease;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .product-item__image:before {
        opacity: 0.62; } }

.product-item__education {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 170px;
  max-width: 100%;
  height: 33px;
  padding: 0 25px;
  background-color: #243590;
  color: white;
  border-radius: 0 0 0 20px;
  z-index: 10;
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .product-item__education {
      justify-content: center;
      width: 50px;
      padding: 0; } }
  .product-item__education svg {
    width: 13px;
    height: 10px;
    margin-right: 15px; }
    @media only screen and (max-width: 899px) {
      .product-item__education svg {
        margin: 0; } }
  .product-item__education span {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.3em;
    width: calc(100% - 28px); }
    @media only screen and (max-width: 899px) {
      .product-item__education span {
        display: none; } }

.owl-carousel .owl-item .category-item__programs,
.category-item__programs {
  display: flex;
  justify-content: center;
  align-content: center;
  position: absolute;
  top: -100%;
  width: 100%;
  transform: translate(0, -50%);
  transition: all 500ms ease;
  z-index: 5; }
  @media only screen and (max-width: 899px) {
    .owl-carousel .owl-item .category-item__programs,
    .category-item__programs {
      top: 50%; } }
  .owl-carousel .owl-item .category-item__programs img,
  .category-item__programs img {
    width: 31px;
    height: 31px;
    background-color: white;
    border-radius: 20px;
    margin-right: 10px;
    padding: 5px; }
    .owl-carousel .owl-item .category-item__programs img:last-of-type,
    .category-item__programs img:last-of-type {
      margin-right: 0; }

.category-item__image-wrap {
  position: relative;
  width: 100%;
  height: 100%; }
  .category-item__image-wrap img {
    border-radius: 4px 4px 0 0; }

.product-item__body {
  position: relative;
  padding: 20px 20px 75px 20px; }

.product-item__label {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 2em;
  margin-bottom: 10px;
  color: #719695; }
  .product-item__label svg {
    width: 12px;
    height: 24px;
    margin-right: 10px; }

.product-item__title {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em;
  font-weight: bold; }

.product-item__type {
  margin-bottom: 25px; }

.product-item__price-wrap {
  position: absolute;
  bottom: 20px;
  justify-content: space-between;
  align-items: center;
  align-content: flex-start;
  width: calc(100% - 40px);
  height: 57px; }

.product-item__price {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.29167em;
  font-weight: bold; }
  .product-item__price span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2.21429em; }
    .product-item__price span.is-orange {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.29167em;
      color: #e75400;
      font-weight: bold; }
  .product-item__price strike {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.9375em;
    margin-right: 5px;
    opacity: 0.5; }

.product-item__more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #2f8e8c; }
  .product-item__more svg {
    width: 16px;
    height: 14px;
    color: white; }

.product-item__sale {
  align-items: center;
  width: 100%; }
  .product-item__sale svg {
    width: 10px;
    height: 10px;
    margin-right: 5px;
    color: #e75400; }
  .product-item__sale span {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.33333em;
    width: calc(100% - 15px);
    font-style: italic;
    color: #e75400; }

.product-list {
  position: relative;
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .product-list {
      padding: 50px 0; } }

.product-list__wrap {
  width: calc(100% + 25px);
  margin: -50px -12.5px; }
  @media only screen and (max-width: 899px) {
    .product-list__wrap {
      margin: -12.5px; } }
  @media only screen and (max-width: 599px) {
    .product-list__wrap {
      width: 100%;
      margin: -12.5px 0; } }
  .product-list__wrap .product-item {
    width: calc(25% - 25px);
    margin: 50px 12.5px; }
    @media only screen and (max-width: 899px) {
      .product-list__wrap .product-item {
        width: calc(50% - 25px);
        margin: 12.5px; } }
    @media only screen and (max-width: 599px) {
      .product-list__wrap .product-item {
        width: 100%;
        margin: 12.5px 0; } }

.product-specification {
  padding-bottom: 50px; }
  @media only screen and (max-width: 899px) {
    .product-specification {
      padding-bottom: 15px; } }
  .product-specification .wrapper.is-active .has-title svg {
    transform: rotate(180deg); }

.product-specification__head {
  margin-bottom: 20px;
  padding-top: 50px;
  border-top: 1px solid #e7ecf1; }
  @media only screen and (max-width: 899px) {
    .product-specification__head {
      cursor: pointer;
      position: relative;
      margin: 0;
      padding-top: 25px; } }
  .product-specification__head .has-svg {
    width: 110px; }
    @media only screen and (max-width: 899px) {
      .product-specification__head .has-svg {
        width: 35px; } }
    .product-specification__head .has-svg svg {
      position: relative;
      top: -2px;
      width: 40px;
      height: 40px;
      margin-left: 40px;
      color: #d8e1e9; }
      @media only screen and (max-width: 899px) {
        .product-specification__head .has-svg svg {
          width: 23px;
          height: 21px;
          margin: 0 12px 0 0; } }
  .product-specification__head .has-title {
    width: calc(100% - 110px); }
    @media only screen and (max-width: 899px) {
      .product-specification__head .has-title {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.28571em;
        width: calc(100% - 35px); } }
    .product-specification__head .has-title svg {
      display: none; }
      @media only screen and (max-width: 899px) {
        .product-specification__head .has-title svg {
          display: block;
          position: absolute;
          top: 25px;
          right: 0;
          width: 12px;
          height: 18px;
          color: #153938;
          transition: all 500ms ease; } }

.product-specification__columns {
  padding-left: 110px; }
  @media only screen and (max-width: 899px) {
    .product-specification__columns {
      display: none;
      padding: 15px 0 15px 0; } }

.product-specification__operating {
  width: 50%;
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .product-specification__operating {
      padding-right: 20px; } }
  @media only screen and (max-width: 599px) {
    .product-specification__operating {
      width: 100%;
      padding: 0 0 50px 0; } }
  .product-specification__operating h1,
  .product-specification__operating h2,
  .product-specification__operating h3 {
    margin-bottom: 15px; }

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

.product-specification__requirements-wrap {
  margin-bottom: 15px; }
  .product-specification__requirements-wrap:last-of-type {
    margin: 0; }

.product-specification__requirements-title {
  margin-bottom: 25px; }

.product-specification__requirement {
  width: 100%;
  padding: 2px 10px; }
  .product-specification__requirement:nth-child(odd) {
    background-color: #edf2f7; }

.teasers {
  padding: 100px 0; }
  @media only screen and (max-width: 899px) {
    .teasers {
      padding: 50px 0; } }

.teasers--background-grey {
  background-color: #edf2f7; }

.teasers__head {
  margin-bottom: 75px;
  text-align: center; }

.teasers__title {
  margin-bottom: 10px; }

.teasers_subtitle {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.28571em; }

.teasers__wrap {
  width: calc(100% + 35px);
  margin: -17.5px; }
  @media only screen and (max-width: 899px) {
    .teasers__wrap {
      margin: 0; } }

.teasers__teaser {
  position: relative;
  width: calc(33.3333% - 35px);
  height: 240px;
  margin: 17.5px;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  cursor: pointer; }
  @media only screen and (max-width: 899px) {
    .teasers__teaser {
      width: 270px;
      height: auto;
      margin: 0;
      transform: scale(1, 0.9);
      transition: all 250ms ease; } }
  .teasers__teaser:hover .teasers__teaser-hover {
    transform: translate(0, 0); }

@media only screen and (max-width: 899px) {
  .owl-item.active .teasers__teaser {
    transform: scale(1, 1); } }

.teasers-teaser__image {
  position: relative;
  width: 100%;
  height: 100%; }
  @media only screen and (max-width: 899px) {
    .teasers-teaser__image {
      height: 190px; } }
  .teasers-teaser__image img {
    border-radius: 5px; }

.teasers__teaser-hover {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
  left: 0;
  padding: 17px 20px 20px 20px;
  background-color: white;
  transform: translate(0, calc(100% - 55px));
  transition: all 500ms ease;
  border-radius: 0 0 5px 5px;
  text-align: center;
  z-index: 10; }
  @media only screen and (max-width: 899px) {
    .teasers__teaser-hover {
      position: relative;
      padding: 30px;
      transform: translate(0, 0); } }

.owl-carousel .owl-item .teasers-teaser__hover-logo img,
.teasers-teaser__hover-logo img {
  display: inline-block;
  width: auto;
  max-height: 22px;
  margin-bottom: 15px; }
  @media only screen and (max-width: 899px) {
    .owl-carousel .owl-item .teasers-teaser__hover-logo img,
    .teasers-teaser__hover-logo img {
      margin-bottom: 20px; } }

.teasers__teaser-link a {
  text-decoration: underline;
  transition: all 250ms ease; }
  .teasers__teaser-link a:hover {
    color: #2f8e8c; }

.teasers__logos {
  margin-top: 65px; }
  .teasers__logos .owl-item,
  .teasers__logos .owl-stage {
    display: flex;
    align-items: center;
    justify-content: center; }
  .teasers__logos .owl-stage-outer {
    overflow: hidden; }
  .teasers__logos img {
    max-width: 125px;
    width: auto !important;
    max-height: 65px;
    height: auto; }
  .teasers__logos .owl-next,
  .teasers__logos .owl-prev {
    position: absolute;
    left: -45px;
    top: calc(50% - 10px); }
    @media only screen and (max-width: 599px) {
      .teasers__logos .owl-next,
      .teasers__logos .owl-prev {
        left: -10px; } }
  .teasers__logos .owl-next {
    right: -45px;
    left: auto; }
    @media only screen and (max-width: 599px) {
      .teasers__logos .owl-next {
        right: -10px; } }
  .teasers__logos svg {
    width: 14px;
    height: 20px;
    color: #153938; }

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

.woocommerce-MyAccount-content .woocommerce-orders-table, .woocommerce-MyAccount-content .woocommerce-table--order-details,
.woocommerce-cart-form {
  width: calc(75% - 20px);
  margin: -0 20px 20px 0; }
  @media only screen and (max-width: 1199px) {
    .woocommerce-MyAccount-content .woocommerce-orders-table, .woocommerce-MyAccount-content .woocommerce-table--order-details,
    .woocommerce-cart-form {
      width: calc(70% - 20px); }
      .woocommerce-MyAccount-content .woocommerce-orders-table .product-thumbnail, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-thumbnail,
      .woocommerce-cart-form .product-thumbnail {
        display: none; } }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-content .woocommerce-orders-table, .woocommerce-MyAccount-content .woocommerce-table--order-details,
    .woocommerce-cart-form {
      width: 100%;
      margin-right: 0; } }
  @media only screen and (max-width: 599px) {
    .woocommerce-MyAccount-content .woocommerce-orders-table th.product-thumbnail, .woocommerce-MyAccount-content .woocommerce-table--order-details th.product-thumbnail, .woocommerce-MyAccount-content .woocommerce-orders-table th.product-price, .woocommerce-MyAccount-content .woocommerce-table--order-details th.product-price, .woocommerce-MyAccount-content .woocommerce-orders-table th.product-subtotal, .woocommerce-MyAccount-content .woocommerce-table--order-details th.product-subtotal, .woocommerce-MyAccount-content .woocommerce-orders-table th.product-quantity, .woocommerce-MyAccount-content .woocommerce-table--order-details th.product-quantity,
    .woocommerce-cart-form th.product-thumbnail,
    .woocommerce-cart-form th.product-price,
    .woocommerce-cart-form th.product-subtotal,
    .woocommerce-cart-form th.product-quantity {
      display: none; }
    .woocommerce-MyAccount-content .woocommerce-orders-table td.product-thumbnail, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-thumbnail,
    .woocommerce-cart-form td.product-thumbnail {
      display: none; }
    .woocommerce-MyAccount-content .woocommerce-orders-table td.product-name, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-name, .woocommerce-MyAccount-content .woocommerce-orders-table td.product-subtotal, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-subtotal, .woocommerce-MyAccount-content .woocommerce-orders-table td.product-price, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-price, .woocommerce-MyAccount-content .woocommerce-orders-table td.product-quantity, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-quantity,
    .woocommerce-cart-form td.product-name,
    .woocommerce-cart-form td.product-subtotal,
    .woocommerce-cart-form td.product-price,
    .woocommerce-cart-form td.product-quantity {
      display: block;
      width: 100%;
      padding-bottom: 0; }
    .woocommerce-MyAccount-content .woocommerce-orders-table td.product-subtotal, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-subtotal,
    .woocommerce-cart-form td.product-subtotal {
      padding-bottom: 15px; } }
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-name, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-name,
  .woocommerce-cart-form .product-name {
    max-width: 250px; }
    @media only screen and (max-width: 599px) {
      .woocommerce-MyAccount-content .woocommerce-orders-table .product-name, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-name,
      .woocommerce-cart-form .product-name {
        max-width: 100%; } }
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-remove, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-remove,
  .woocommerce-cart-form .product-remove {
    font-size: 27px;
    font-weight: bold;
    color: black;
    transition: all 250ms ease; }
    @media only screen and (max-width: 599px) {
      .woocommerce-MyAccount-content .woocommerce-orders-table .product-remove, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-remove,
      .woocommerce-cart-form .product-remove {
        font-size: 23px; } }
    .woocommerce-MyAccount-content .woocommerce-orders-table .product-remove:hover, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-remove:hover,
    .woocommerce-cart-form .product-remove:hover {
      color: #2f8e8c; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-thumbnail img, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-thumbnail img,
  .woocommerce-cart-form .product-thumbnail img {
    width: 55px;
    height: auto; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-subtotal, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-subtotal,
  .woocommerce-cart-form .product-subtotal {
    font-weight: bold; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-quantity label, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-quantity label,
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-quantity br,
  .woocommerce-MyAccount-content .woocommerce-table--order-details .product-quantity br,
  .woocommerce-cart-form .product-quantity label,
  .woocommerce-cart-form .product-quantity br {
    display: none; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .product-quantity input, .woocommerce-MyAccount-content .woocommerce-table--order-details .product-quantity input,
  .woocommerce-cart-form .product-quantity input {
    max-width: 65px; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .shop_table .product-subtotal, .woocommerce-MyAccount-content .woocommerce-table--order-details .shop_table .product-subtotal,
  .woocommerce-cart-form .shop_table .product-subtotal {
    text-align: right;
    padding-right: 25px; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-table__line-item, .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-table__line-item,
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__row,
  .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-orders-table__row,
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-cart-form__cart-item,
  .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-cart-form__cart-item,
  .woocommerce-cart-form .woocommerce-table__line-item,
  .woocommerce-cart-form .woocommerce-orders-table__row,
  .woocommerce-cart-form .woocommerce-cart-form__cart-item {
    border: 1px solid #e7ecf1;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1); }
    .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-table__line-item .product-subtotal .woocommerce-Price-amount, .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-table__line-item .product-subtotal .woocommerce-Price-amount,
    .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__row .product-subtotal .woocommerce-Price-amount,
    .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-orders-table__row .product-subtotal .woocommerce-Price-amount,
    .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-cart-form__cart-item .product-subtotal .woocommerce-Price-amount,
    .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-cart-form__cart-item .product-subtotal .woocommerce-Price-amount,
    .woocommerce-cart-form .woocommerce-table__line-item .product-subtotal .woocommerce-Price-amount,
    .woocommerce-cart-form .woocommerce-orders-table__row .product-subtotal .woocommerce-Price-amount,
    .woocommerce-cart-form .woocommerce-cart-form__cart-item .product-subtotal .woocommerce-Price-amount {
      margin-right: 5px; }
  .woocommerce-MyAccount-content .woocommerce-orders-table table, .woocommerce-MyAccount-content .woocommerce-table--order-details table,
  .woocommerce-cart-form table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 25px; }
  .woocommerce-MyAccount-content .woocommerce-orders-table thead, .woocommerce-MyAccount-content .woocommerce-table--order-details thead,
  .woocommerce-cart-form thead {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em;
    font-weight: 700;
    text-transform: none; }
  .woocommerce-MyAccount-content .woocommerce-orders-table td, .woocommerce-MyAccount-content .woocommerce-table--order-details td,
  .woocommerce-cart-form td {
    padding: 15px; }
    .woocommerce-MyAccount-content .woocommerce-orders-table td.product-remove, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-remove,
    .woocommerce-cart-form td.product-remove {
      padding: 15px 15px 15px 35px; }
      @media only screen and (max-width: 599px) {
        .woocommerce-MyAccount-content .woocommerce-orders-table td.product-remove, .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-remove,
        .woocommerce-cart-form td.product-remove {
          padding: 15px; } }
  .woocommerce-MyAccount-content .woocommerce-orders-table th, .woocommerce-MyAccount-content .woocommerce-table--order-details th,
  .woocommerce-cart-form th {
    padding: 0 15px;
    text-align: left; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .actions, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions,
  .woocommerce-cart-form .actions {
    padding: 30px 0 0 0; }
    .woocommerce-MyAccount-content .woocommerce-orders-table .actions .coupon, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions .coupon,
    .woocommerce-cart-form .actions .coupon {
      max-width: 300px;
      margin-top: 35px; }
      @media only screen and (max-width: 599px) {
        .woocommerce-MyAccount-content .woocommerce-orders-table .actions .coupon, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions .coupon,
        .woocommerce-cart-form .actions .coupon {
          max-width: 100%; } }
      .woocommerce-MyAccount-content .woocommerce-orders-table .actions .coupon button, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions .coupon button,
      .woocommerce-cart-form .actions .coupon button {
        border: 1px solid #2f8e8c;
        color: #2f8e8c;
        font-weight: bold; }
        .woocommerce-MyAccount-content .woocommerce-orders-table .actions .coupon button:hover, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions .coupon button:hover,
        .woocommerce-cart-form .actions .coupon button:hover {
          color: white; }
    .woocommerce-MyAccount-content .woocommerce-orders-table .actions .button, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions .button,
    .woocommerce-cart-form .actions .button {
      margin-top: 20px; }
    .woocommerce-MyAccount-content .woocommerce-orders-table .actions p, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions p,
    .woocommerce-cart-form .actions p {
      display: none; }
    .woocommerce-MyAccount-content .woocommerce-orders-table .actions label, .woocommerce-MyAccount-content .woocommerce-table--order-details .actions label,
    .woocommerce-cart-form .actions label {
      display: block;
      margin-bottom: 5px;
      font-weight: 700; }

.return-to-shop {
  display: none; }

.woocommerce-checkout__login {
  width: 100%; }
  .woocommerce-checkout__login form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 100px; }
    @media only screen and (max-width: 599px) {
      .woocommerce-checkout__login form {
        width: 50px; } }
  .woocommerce-checkout__login .form-row {
    width: calc(50% - 50px); }
    @media only screen and (max-width: 599px) {
      .woocommerce-checkout__login .form-row {
        width: 100%; } }
  .woocommerce-checkout__login .lost_password,
  .woocommerce-checkout__login .woocommerce-form-login__rememberme {
    display: none; }
  .woocommerce-checkout__login button {
    margin-top: 20px; }

.woocommerce-checkout {
  width: 100%;
  padding: 80px 0;
  z-index: 10;
  /**
	 * Billing form.
	 */
  /**
	 * Order review.
	 */
  /**
	 * Payments.
	 */
  /**
	 * Place order.
	 */ }
  .woocommerce-checkout .woocommerce-billing-fields h2 {
    margin-bottom: 30px; }
  .woocommerce-checkout .woocommerce-billing-fields .form-row {
    margin-bottom: 20px; }
    .woocommerce-checkout .woocommerce-billing-fields .form-row#billing_company_field, .woocommerce-checkout .woocommerce-billing-fields .form-row#billing_city_field {
      margin-bottom: 80px; }
  .woocommerce-checkout .woocommerce-billing-fields .required {
    text-decoration: none; }
  .woocommerce-checkout .woocommerce-account-fields {
    margin-top: 80px; }
    .woocommerce-checkout .woocommerce-account-fields h2 {
      margin-bottom: 15px; }
    .woocommerce-checkout .woocommerce-account-fields .woocommerce-form__label-for-checkbox {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.33333em;
      margin-top: 30px;
      font-weight: normal; }
      .woocommerce-checkout .woocommerce-account-fields .woocommerce-form__label-for-checkbox input {
        margin-right: 15px; }
    .woocommerce-checkout .woocommerce-account-fields .create-account {
      margin-top: 20px; }
    .woocommerce-checkout .woocommerce-account-fields .password-input input {
      max-width: 300px; }
  .woocommerce-checkout #order_review_heading {
    margin-bottom: 5px; }
  .woocommerce-checkout .woocommerce-checkout-review-order {
    width: 100%;
    background-color: #edf2f7;
    padding: 40px 20px 0 20px; }
    .woocommerce-checkout .woocommerce-checkout-review-order table {
      width: 100%;
      max-width: 250px;
      margin-bottom: 25px; }
    .woocommerce-checkout .woocommerce-checkout-review-order th {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.5em;
      text-align: left;
      padding-bottom: 35px;
      color: #719695;
      font-weight: normal; }
    .woocommerce-checkout .woocommerce-checkout-review-order td {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.5em;
      padding-bottom: 35px;
      text-align: right; }
  .woocommerce-checkout .woocommerce-checkout__payment-wrap {
    padding-bottom: 20px; }
  .woocommerce-checkout .woocommerce-checkout-payment .methods {
    display: flex;
    flex-wrap: wrap;
    margin: -20px;
    padding: 5px 0 0 0;
    width: calc(100% + 40px); }
    .woocommerce-checkout .woocommerce-checkout-payment .methods li {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: calc(33.3333% - 40px);
      height: 100px;
      margin: 20px;
      padding: 20px;
      border: 2px solid rgba(47, 142, 140, 0.7);
      border-radius: 3px;
      text-align: center;
      font-weight: normal;
      cursor: pointer;
      transition: all 250ms ease; }
      @media only screen and (max-width: 1199px) {
        .woocommerce-checkout .woocommerce-checkout-payment .methods li {
          width: calc(50% - 40px); } }
      .woocommerce-checkout .woocommerce-checkout-payment .methods li.payment_method_mollie_wc_gateway_ideal label:after {
        position: absolute;
        bottom: -48px;
        left: calc(50% - 15px);
        width: 31px;
        height: 31px;
        transform: rotate(45deg);
        background-color: #e2eaf2;
        opacity: 0;
        transition: all 250ms ease;
        content: ''; }
      .woocommerce-checkout .woocommerce-checkout-payment .methods li label {
        cursor: pointer;
        z-index: 2; }
      .woocommerce-checkout .woocommerce-checkout-payment .methods li img {
        width: 50px;
        max-width: 100%;
        height: 50px;
        max-width: 49px;
        cursor: pointer;
        z-index: 2; }
      .woocommerce-checkout .woocommerce-checkout-payment .methods li:hover {
        background-color: #e2eaf2;
        z-index: 1; }
      .woocommerce-checkout .woocommerce-checkout-payment .methods li input {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        z-index: 5;
        background-color: transparent;
        border-radius: 0;
        border: 0;
        cursor: pointer;
        transition: all 250ms ease;
        opacity: 0; }
        .woocommerce-checkout .woocommerce-checkout-payment .methods li input + label {
          display: flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          top: 0;
          right: 0;
          width: 100%;
          height: 100%; }
        .woocommerce-checkout .woocommerce-checkout-payment .methods li input:checked {
          z-index: 1; }
          .woocommerce-checkout .woocommerce-checkout-payment .methods li input:checked + label {
            background-color: #e2eaf2; }
            .woocommerce-checkout .woocommerce-checkout-payment .methods li input:checked + label:after {
              opacity: 1; }
  .woocommerce-checkout .woocommerce-checkout-payment .payment_method_mollie_wc_gateway_ideal.payment_box {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 80px;
    margin: 10px 0 0 0;
    padding: 27.5px 15px 17.5px 15px;
    background-color: #e2eaf2; }
    .woocommerce-checkout .woocommerce-checkout-payment .payment_method_mollie_wc_gateway_ideal.payment_box .ideal-select {
      position: relative; }
    .woocommerce-checkout .woocommerce-checkout-payment .payment_method_mollie_wc_gateway_ideal.payment_box svg {
      position: absolute;
      top: 11px;
      right: 12px;
      width: 15px;
      height: 15px;
      color: rgba(47, 142, 140, 0.7); }
    .woocommerce-checkout .woocommerce-checkout-payment .payment_method_mollie_wc_gateway_ideal.payment_box select {
      border: 2px solid rgba(47, 142, 140, 0.7);
      width: 295px;
      color: rgba(47, 142, 140, 0.7); }
  .woocommerce-checkout .place-order {
    position: relative;
    width: 100%;
    padding-top: 90px;
    background-color: white; }
    .woocommerce-checkout .place-order:before {
      position: absolute;
      top: 0;
      left: -20px;
      width: calc(100% + 40px);
      height: 100%;
      background-color: white;
      content: '';
      z-index: 0; }
    .woocommerce-checkout .place-order * {
      position: relative;
      z-index: 1; }
    .woocommerce-checkout .place-order .woocommerce-input-wrapper {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.33333em; }
      .woocommerce-checkout .place-order .woocommerce-input-wrapper label {
        font-weight: normal; }
      .woocommerce-checkout .place-order .woocommerce-input-wrapper input[type='checkbox'] {
        margin-right: 15px; }
      .woocommerce-checkout .place-order .woocommerce-input-wrapper a {
        text-decoration: underline; }
      .woocommerce-checkout .place-order .woocommerce-input-wrapper .required {
        text-decoration: none; }
    .woocommerce-checkout .place-order .mc4wp-checkbox-woocommerce label {
      display: flex; }
    .woocommerce-checkout .place-order .mc4wp-checkbox-woocommerce span {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.33333em;
      width: calc(100% - 30px);
      font-weight: normal; }
    .woocommerce-checkout .place-order .mc4wp-checkbox-woocommerce input {
      top: 4px;
      margin-right: 19px; }
    .woocommerce-checkout .place-order .notice {
      display: flex;
      margin: 40px 0 20px 0; }
      .woocommerce-checkout .place-order .notice svg {
        position: relative;
        top: 6px;
        width: 16px;
        height: 16px;
        margin-right: 5px; }
      .woocommerce-checkout .place-order .notice a {
        text-decoration: underline; }
      .woocommerce-checkout .place-order .notice span {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.6em;
        width: calc(100% + 21px);
        color: #719695; }

.woocommerce-checkout__columns {
  justify-content: space-between; }
  @media only screen and (max-width: 1199px) {
    .woocommerce-checkout__columns {
      flex-wrap: wrap; } }

.woocommerce-checkout__column {
  width: calc(50% - 50px); }
  @media only screen and (max-width: 1199px) {
    .woocommerce-checkout__column {
      width: calc(50% - 10px); } }
  @media only screen and (max-width: 1199px) {
    .woocommerce-checkout__column {
      width: 100%;
      margin-bottom: 50px; } }

.cart-collaterals {
  width: 25%;
  height: fit-content;
  margin: 20px 0;
  padding: 15px 20px;
  background-color: #edf2f7; }
  @media only screen and (max-width: 1199px) {
    .cart-collaterals {
      width: 30%; } }
  @media only screen and (max-width: 899px) {
    .cart-collaterals {
      width: 100%; } }
  .cart-collaterals h2 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em;
    margin-bottom: 60px;
    text-align: center; }
  .cart-collaterals .woocommerce-shipping-destination,
  .cart-collaterals .includes_tax {
    display: none; }
  .cart-collaterals table {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em;
    width: 100%; }
  .cart-collaterals th,
  .cart-collaterals td {
    padding: 15px 0;
    font-weight: 400; }
  .cart-collaterals th {
    color: #719695;
    padding-right: 15px;
    text-align: left; }
  .cart-collaterals td {
    text-align: right; }
  .cart-collaterals .wc-proceed-to-checkout {
    display: flex;
    justify-content: center;
    margin-top: 75px; }
    .cart-collaterals .wc-proceed-to-checkout a br {
      display: none; }

.woocommerce-login {
  position: relative;
  width: 100%;
  height: 100%;
  margin-bottom: -100px;
  padding-bottom: 150px;
  z-index: 10; }
  @media only screen and (max-width: 899px) {
    .woocommerce-login {
      margin-bottom: -50px;
      padding-bottom: 100px; } }
  .woocommerce-login .u-columns {
    width: 100%; }
  .woocommerce-login .woocommerce-notices-wrapper {
    z-index: 2; }
  .woocommerce-login .woocommerce-message {
    z-index: 2;
    margin-bottom: 20px; }

.woocommerce-login__background:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #153938;
  opacity: 0.48;
  content: '';
  z-index: 1; }

.woocommerce-login__background img {
  z-index: -1; }

.woocommerce-login__breadcrumbs {
  margin: 35px 0; }

.woocommerce-login__body {
  position: relative;
  width: 100%;
  z-index: 2;
  justify-content: space-between;
  padding: 40px 100px;
  background-color: white; }
  @media only screen and (max-width: 1199px) {
    .woocommerce-login__body {
      padding: 40px 40px; } }
  .woocommerce-login__body.is-reset {
    justify-content: center; }

.woocommerce-login__column {
  width: calc(50% - 20px);
  max-width: 400px; }
  @media only screen and (max-width: 1199px) {
    .woocommerce-login__column {
      width: 100%;
      max-width: 100%; }
      .woocommerce-login__column:nth-child(2) {
        margin-top: 40px; } }
  .woocommerce-login__column h2 {
    margin-bottom: 20px; }
  .woocommerce-login__column label {
    display: none; }
  .woocommerce-login__column input {
    margin-bottom: 20px; }
  .woocommerce-login__column .woocommerce-form-login {
    position: relative; }
  .woocommerce-login__column .lost_password {
    position: absolute;
    bottom: 9px;
    left: 115px;
    color: #2f8e8c; }
    .woocommerce-login__column .lost_password:hover {
      color: #153938; }
  .woocommerce-login__column .woocommerce-form-register__submit {
    margin-top: 30px; }
  .woocommerce-login__column .lost_reset_password .form-row-first {
    margin-top: 20px; }

.woocommerce-MyAccount-navigation {
  position: relative;
  width: 200px;
  margin: 85px 125px 85px 0; }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-navigation {
      width: 100%;
      margin: 50px 0 0 0; } }
  .woocommerce-MyAccount-navigation li a {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding-bottom: 30px;
    font-weight: bold;
    transition: all 250ms ease; }
    .woocommerce-MyAccount-navigation li a svg {
      position: relative;
      top: 0;
      width: 19px;
      height: 18px;
      margin-right: 10px;
      transition: all 250ms ease; }
    .woocommerce-MyAccount-navigation li a:hover {
      color: #2f8e8c; }
      .woocommerce-MyAccount-navigation li a:hover svg {
        color: #2f8e8c; }
  .woocommerce-MyAccount-navigation li.is-active {
    margin-top: -2px; }
    .woocommerce-MyAccount-navigation li.is-active a {
      color: #2f8e8c; }
  .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--dashboard.is-active a,
  .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--dashboard a {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.28571em;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #edf2f7; }
    .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--dashboard.is-active a:before,
    .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--dashboard a:before {
      display: none; }
  .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 105px;
    height: 35px;
    padding: 0;
    border: 1px solid #2f8e8c;
    border-radius: 3px;
    color: #2f8e8c; }
    .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
      background-color: #2f8e8c;
      color: white; }
      .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a:hover svg {
        color: white; }
    .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a svg {
      position: relative;
      top: 1px;
      width: 16px;
      height: 15px;
      margin-right: 8px;
      transition: all 250ms ease; }

.woocommerce-MyAccount-content {
  width: calc(100% - 325px);
  margin: 85px 0; }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-content {
      width: 100%;
      margin: 50px 0; } }
  .woocommerce-MyAccount-content p,
  .woocommerce-MyAccount-content .woocommerce-notices-wrapper {
    width: 100%; }
  .woocommerce-MyAccount-content .woocommerce-message {
    margin-top: 0; }

/**
 * Addresses.
 */
.woocommerce-Address {
  width: 50%;
  margin-top: 30px; }
  .woocommerce-Address a {
    color: #2f8e8c;
    text-decoration: underline; }

/**
 * Forms.
 */
.woocommerce-MyAccount-content form h3 {
  margin-bottom: 20px; }

.woocommerce-MyAccount-content form.edit-account,
.woocommerce-MyAccount-content form .woocommerce-address-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px; }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-content form.edit-account,
    .woocommerce-MyAccount-content form .woocommerce-address-fields__field-wrapper {
      margin: 0; } }

.woocommerce-MyAccount-content form .form-row {
  width: calc(50% - 20px);
  margin: 0 10px 20px 10px; }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-content form .form-row {
      width: 100%;
      margin: 0 0 35px 0; } }

.woocommerce-MyAccount-content form #shipping_address_1_field,
.woocommerce-MyAccount-content form #shipping_address_2_field,
.woocommerce-MyAccount-content form #billing_address_1_field,
.woocommerce-MyAccount-content form #billing_address_2_field {
  width: 100%; }

.woocommerce-MyAccount-content form #billing_address_1_field {
  margin-bottom: 20px; }

.woocommerce-MyAccount-content form em {
  display: block;
  margin-top: 10px;
  color: #153938;
  font-style: normal; }

.woocommerce-MyAccount-content form fieldset {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 50%;
  margin: 40px 0 15px; }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-content form fieldset {
      width: 100%; } }
  .woocommerce-MyAccount-content form fieldset:before {
    display: block;
    position: absolute;
    top: -30px;
    left: 0;
    width: 200%;
    height: 1px;
    background-color: #edf2f7;
    content: ''; }
  .woocommerce-MyAccount-content form fieldset legend {
    width: 100%;
    margin-bottom: 25px;
    padding-left: 10px; }
    @media only screen and (max-width: 899px) {
      .woocommerce-MyAccount-content form fieldset legend {
        padding-left: 0; } }
  .woocommerce-MyAccount-content form fieldset .form-row {
    width: 100%;
    margin-bottom: 20px; }

.woocommerce-MyAccount-content form .button {
  padding-right: 30px;
  padding-left: 30px; }
  .woocommerce-MyAccount-content form .button svg {
    position: relative;
    top: 4px;
    width: 15px;
    height: 13px;
    margin-right: 8px; }

.woocommerce-MyAccount-content form.edit-account .button {
  margin-left: 10px; }
  @media only screen and (max-width: 899px) {
    .woocommerce-MyAccount-content form.edit-account .button {
      margin-left: 0; } }

/**
 * Order table.
 */
.woocommerce-MyAccount-content .woocommerce-orders-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 20px;
  margin: 35px 0 0 0; }
  .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:last-of-type {
    display: table-row; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__header-order-actions,
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    display: none; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-number,
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__header-order-number {
    padding-left: 30px; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-number {
    border-left: 2px solid white; }
  .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
    border-right: 2px solid white; }

/**
 * Order details.
 */
.woocommerce-MyAccount-content .woocommerce-order-details {
  display: block; }
  .woocommerce-MyAccount-content .woocommerce-order-details h2 {
    margin: 50px 0 35px 0; }

.woocommerce-MyAccount-content .woocommerce-table--order-details {
  width: 100%;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0 20px; }
  .woocommerce-MyAccount-content .woocommerce-table--order-details th {
    text-align: left; }
    .woocommerce-MyAccount-content .woocommerce-table--order-details th.woocommerce-table__product-name {
      padding-left: 30px;
      padding-bottom: 0; }
  .woocommerce-MyAccount-content .woocommerce-table--order-details td.woocommerce-table__product-name {
    border-left: 2px solid white;
    padding-left: 30px; }
  .woocommerce-MyAccount-content .woocommerce-table--order-details tbody tr:last-of-type {
    display: table-row; }
  .woocommerce-MyAccount-content .woocommerce-table--order-details .woocommerce-table__product-total {
    border-right: 2px solid white; }
  .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot {
    border-spacing: 0;
    display: block;
    margin-top: 20px; }
    .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th {
      width: 50%; }

.woocommerce-MyAccount-content mark {
  background-color: rgba(47, 142, 140, 0.7); }

.woocommerce-notice,
.cart-empty,
.woocommerce-NoticeGroup,
.woocommerce-notices-wrapper {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  width: 100%; }
  .woocommerce-notice > ul,
  .cart-empty > ul,
  .woocommerce-NoticeGroup > ul,
  .woocommerce-notices-wrapper > ul {
    margin: 20px 0;
    padding: 15px;
    background-color: #edf2f7; }
  .woocommerce-notice .woocommerce-error strong,
  .cart-empty .woocommerce-error strong,
  .woocommerce-NoticeGroup .woocommerce-error strong,
  .woocommerce-notices-wrapper .woocommerce-error strong {
    color: #c30000; }

.woocommerce-notice,
.cart-empty,
.woocommerce-error,
.woocommerce-message {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  position: relative;
  width: 100%;
  margin-top: 20px;
  padding: 20px;
  background-color: #edf2f7; }
  .woocommerce-notice + p,
  .cart-empty + p,
  .woocommerce-error + p,
  .woocommerce-message + p {
    width: 50%;
    margin: 30px 0; }
  .woocommerce-notice a,
  .cart-empty a,
  .woocommerce-error a,
  .woocommerce-message a {
    position: absolute;
    top: 12px;
    right: 20px; }
  .woocommerce-notice br,
  .cart-empty br,
  .woocommerce-error br,
  .woocommerce-message br {
    display: none; }

.woocommerce-order {
  width: 100%; }

.woocommerce-order-overview,
.woocommerce-order-details,
.woocommerce-customer-details {
  display: none; }

/**
 * 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` rgba(0, 0, 0, 0.06)-6 color utility.
			 */
.color-black-6 {
  color: rgba(0, 0, 0, 0.06); }

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

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

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

/**
			 * `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` rgba(0, 0, 0, 0.3)-30 color utility.
			 */
.color-black-30 {
  color: rgba(0, 0, 0, 0.3); }

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

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

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

/**
			 * `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(255, 255, 255, 0.2)-20 color utility.
			 */
.color-white-20 {
  color: rgba(255, 255, 255, 0.2); }

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

/**
			 * `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(47, 142, 140, 0.1)-10 color utility.
			 */
.color-green-10 {
  color: rgba(47, 142, 140, 0.1); }

/**
			 * `background-color` rgba(47, 142, 140, 0.1)-10 color utility.
			 */
.background-color-green-10 {
  background-color: rgba(47, 142, 140, 0.1); }

/**
			 * `color` rgba(47, 142, 140, 0.7)-70 color utility.
			 */
.color-green-70 {
  color: rgba(47, 142, 140, 0.7); }

/**
			 * `background-color` rgba(47, 142, 140, 0.7)-70 color utility.
			 */
.background-color-green-70 {
  background-color: rgba(47, 142, 140, 0.7); }

/**
			 * `color` #2f8e8c-100 color utility.
			 */
.color-green-100 {
  color: #2f8e8c; }

/**
			 * `background-color` #2f8e8c-100 color utility.
			 */
.background-color-green-100 {
  background-color: #2f8e8c; }

/**
			 * `color` #1a6867-200 color utility.
			 */
.color-green-200 {
  color: #1a6867; }

/**
			 * `background-color` #1a6867-200 color utility.
			 */
.background-color-green-200 {
  background-color: #1a6867; }

/**
			 * `color` #153938-300 color utility.
			 */
.color-green-300 {
  color: #153938; }

/**
			 * `background-color` #153938-300 color utility.
			 */
.background-color-green-300 {
  background-color: #153938; }

/**
			 * `color` rgba(21, 57, 56, 0.3)-330 color utility.
			 */
.color-green-330 {
  color: rgba(21, 57, 56, 0.3); }

/**
			 * `background-color` rgba(21, 57, 56, 0.3)-330 color utility.
			 */
.background-color-green-330 {
  background-color: rgba(21, 57, 56, 0.3); }

/**
			 * `color` #e2eaf2-400 color utility.
			 */
.color-green-400 {
  color: #e2eaf2; }

/**
			 * `background-color` #e2eaf2-400 color utility.
			 */
.background-color-green-400 {
  background-color: #e2eaf2; }

/**
			 * `color` #243590-100 color utility.
			 */
.color-blue-100 {
  color: #243590; }

/**
			 * `background-color` #243590-100 color utility.
			 */
.background-color-blue-100 {
  background-color: #243590; }

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

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

/**
			 * `color` #e7ecf1-200 color utility.
			 */
.color-grey-200 {
  color: #e7ecf1; }

/**
			 * `background-color` #e7ecf1-200 color utility.
			 */
.background-color-grey-200 {
  background-color: #e7ecf1; }

/**
			 * `color` #d8e1e9-300 color utility.
			 */
.color-grey-300 {
  color: #d8e1e9; }

/**
			 * `background-color` #d8e1e9-300 color utility.
			 */
.background-color-grey-300 {
  background-color: #d8e1e9; }

/**
			 * `color` #719695-400 color utility.
			 */
.color-grey-400 {
  color: #719695; }

/**
			 * `background-color` #719695-400 color utility.
			 */
.background-color-grey-400 {
  background-color: #719695; }

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

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

/**
			 * `color` rgba(195, 0, 0, 0.08)-8 color utility.
			 */
.color-red-8 {
  color: rgba(195, 0, 0, 0.08); }

/**
			 * `background-color` rgba(195, 0, 0, 0.08)-8 color utility.
			 */
.background-color-red-8 {
  background-color: rgba(195, 0, 0, 0.08); }

/**
			 * `color` #e75400-100 color utility.
			 */
.color-orange-100 {
  color: #e75400; }

/**
			 * `background-color` #e75400-100 color utility.
			 */
.background-color-orange-100 {
  background-color: #e75400; }

/**
 * 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: "Source Sans Pro"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Source Sans Pro"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Source Sans Pro"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Source Sans Pro"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Source Sans Pro"; } }

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

.text-xs-h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.28571em; }

.text-xs-h3 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.27273em; }

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

.text-xs-p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.71429em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.25em; }
  .text-sm-h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.28571em; }
  .text-sm-h3 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.27273em; }
  .text-sm-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em; }
  .text-sm-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.25em; }
  .text-md-h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.28571em; }
  .text-md-h3 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.27273em; }
  .text-md-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em; }
  .text-md-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.25em; }
  .text-lg-h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.28571em; }
  .text-lg-h3 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.27273em; }
  .text-lg-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em; }
  .text-lg-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 32px;
    font-size: 3.2rem;
    line-height: 1.25em; }
  .text-xl-h2 {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.28571em; }
  .text-xl-h3 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.27273em; }
  .text-xl-h4 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.27778em; }
  .text-xl-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429em; } }

/**
 * 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19iYWNrZ3JvdW5kLnNjc3MiLCJvYmplY3RzL19icmVhZGNydW1icy5zY3NzIiwib2JqZWN0cy9fYnV0dG9ucy5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJvYmplY3RzL19jb250ZW50LWNvbnN0cmFpbnQuc2NzcyIsIm9iamVjdHMvX2ZsZXguc2NzcyIsIm9iamVjdHMvX2Zvcm0uc2NzcyIsIm9iamVjdHMvX2hlYWRpbmdzLnNjc3MiLCJvYmplY3RzL19sYXp5LWxvYWQuc2NzcyIsIm9iamVjdHMvX2xpbmtzLnNjc3MiLCJvYmplY3RzL19vd2wtY2Fyb3VzZWwuc2NzcyIsIm9iamVjdHMvX3BhZ2luYXRpb24uc2NzcyIsIm9iamVjdHMvX3dyYXBwZXIuc2NzcyIsImNvbXBvbmVudHMvX2F3cy1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3J5LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3J5LWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2NhdGVnb3J5LW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2Ntcy1vdXRwdXQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRhY3QtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLXRleHQuc2NzcyIsImNvbXBvbmVudHMvX21pbmktY2FydC5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi1tb2JpbGUuc2NzcyIsImNvbXBvbmVudHMvX25ld3MtaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1sYXRlc3Quc2NzcyIsImNvbXBvbmVudHMvX25ld3MtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtZGVzY3JpcHRpb24uc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtZmFxLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWZlYXR1cmVkLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWZlYXR1cmVzLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWZpbHRlcnMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1pbnRyb2R1Y3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1saXN0LnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LXNwZWNpZmljYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3RlYXNlcnMuc2NzcyIsImNvbXBvbmVudHMvX3dvb2NvbW1lcmNlLnNjc3MiLCJjb21wb25lbnRzL193b29jb21tZXJjZS1jYXJ0LnNjc3MiLCJjb21wb25lbnRzL193b29jb21tZXJjZS1jaGVja291dC5zY3NzIiwiY29tcG9uZW50cy9fd29vY29tbWVyY2UtY29sbGF0ZXJhbHMuc2NzcyIsImNvbXBvbmVudHMvX3dvb2NvbW1lcmNlLWxvZ2luLnNjc3MiLCJjb21wb25lbnRzL193b29jb21tZXJjZS1teWFjY291bnQtbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fd29vY29tbWVyY2UtbXlhY2NvdW50LWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX3dvb2NvbW1lcmNlLW5vdGljZS5zY3NzIiwiY29tcG9uZW50cy9fd29vY29tbWVyY2Utb3JkZXIuc2NzcyIsInV0aWxpdGllcy9fY29sb3Iuc2NzcyIsInV0aWxpdGllcy9faGVscGVycy5zY3NzIiwidXRpbGl0aWVzL19vYmplY3QtZml0LnNjc3MiLCJ1dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ1dGlsaXRpZXMvX3RleHQuc2NzcyIsInV0aWxpdGllcy9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJ1dGlsaXRpZXMvX3otaW5kZXguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG5AaW1wb3J0ICdzZXR0aW5ncy9hbGwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBWZW5kb3IuXHJcbiAqL1xyXG5AaW1wb3J0ICcuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUnO1xyXG5AaW1wb3J0ICcuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbCc7XHJcbkBpbXBvcnQgJ3ZlbmRvci9ZVFBsYXllci5jc3MnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuQGltcG9ydCAndG9vbHMvYWxsJztcclxuXHJcblxyXG4vKipcclxuICogRWxlbWVudHMuXHJcbiAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmFsLlxyXG4gKi9cclxuQGltcG9ydCAnZ2VuZXJpYy9iYXNlJztcclxuQGltcG9ydCAnZ2VuZXJpYy9yZXNldCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE9iamVjdHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdvYmplY3RzL2JhY2tncm91bmQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2JyZWFkY3J1bWJzJztcclxuQGltcG9ydCAnb2JqZWN0cy9idXR0b25zJztcclxuQGltcG9ydCAnb2JqZWN0cy9jb250YWluZXInO1xyXG5AaW1wb3J0ICdvYmplY3RzL2NvbnRlbnQtY29uc3RyYWludCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZmxleCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZm9ybSc7XHJcbkBpbXBvcnQgJ29iamVjdHMvaGVhZGluZ3MnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2xhenktbG9hZCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvbGlua3MnO1xyXG5AaW1wb3J0ICdvYmplY3RzL293bC1jYXJvdXNlbCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvcGFnaW5hdGlvbic7XHJcbkBpbXBvcnQgJ29iamVjdHMvd3JhcHBlcic7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudHMuXHJcbiAqL1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2F3cy1zZWFyY2gnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NhdGVnb3J5LWl0ZW0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NhdGVnb3J5LWxpc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NhdGVnb3J5LW1lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Ntcy1vdXRwdXQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhY3QtZm9ybSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1kZWZhdWx0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LWhlYWRlcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlLXRleHQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL21pbmktY2FydCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2aWdhdGlvbi1tb2JpbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25ld3MtaXRlbSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1sYXRlc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25ld3MtbGlzdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1zaW5nbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2R1Y3QtZGVzY3JpcHRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2R1Y3QtZmFxJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LWZlYXR1cmVkJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LWZlYXR1cmVzJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LWZpbHRlcnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2R1Y3QtZ2FsbGVyeSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZHVjdC1pbnRyb2R1Y3Rpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2R1Y3QtaXRlbSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZHVjdC1saXN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LXNwZWNpZmljYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlcnMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3dvb2NvbW1lcmNlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy93b29jb21tZXJjZS1jYXJ0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy93b29jb21tZXJjZS1jaGVja291dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd29vY29tbWVyY2UtY29sbGF0ZXJhbHMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3dvb2NvbW1lcmNlLWxvZ2luJztcclxuQGltcG9ydCAnY29tcG9uZW50cy93b29jb21tZXJjZS1teWFjY291bnQtbmF2aWdhdGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd29vY29tbWVyY2UtbXlhY2NvdW50LWNvbnRlbnQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3dvb2NvbW1lcmNlLW5vdGljZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd29vY29tbWVyY2Utb3JkZXInO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBVdGlsaXRpZXMuXHJcbiAqL1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvY29sb3InO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvaGVscGVycyc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9vYmplY3QtZml0JztcclxuQGltcG9ydCAndXRpbGl0aWVzL3Bvc2l0aW9uJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3RleHQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdmVydGljYWwtcmh5dGhtJztcclxuQGltcG9ydCAndXRpbGl0aWVzL3otaW5kZXgnO1xyXG4iLCIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG4gXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdjb2xvcic7XHJcbkBpbXBvcnQgJ3otaW5kZXgnO1xyXG5AaW1wb3J0ICdkZWZpbml0aW9ucyc7XHJcbiIsIi8qKlxyXG4gKiBGb250IGZhbWlseSBtYXAuXHJcbiAqL1xyXG5cclxuJGZvbnQtZmFtaWx5OiAoXHJcblx0J2RlZmF1bHQnOiAnU291cmNlIFNhbnMgUHJvJ1xyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IHNpemUgbWFwLlxyXG4gKi9cclxuXHJcbiRmb250LXNpemU6IChcclxuXHQnaDEnOiAzMnB4LFxyXG5cdCdoMic6IDI4cHgsXHJcblx0J2gzJzogMjJweCxcclxuXHQnaDQnOiAxOHB4LFxyXG5cdCdwJzogMTRweFxyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBMaW5lIGhlaWdodCBtYXAuXHJcbiAqL1xyXG5cclxuJGxpbmUtaGVpZ2h0OiAoXHJcblx0J2gxJzogNDBweCxcclxuXHQnaDInOiAzNnB4LFxyXG5cdCdoMyc6IDI4cHgsXHJcblx0J2g0JzogMjNweCxcclxuXHQncCc6IDI0cHhcclxuKTtcclxuIiwiLy8gQ29sb3IgbWFwLlxyXG4kY29sb3JzOiAoXHJcblx0J2JsYWNrJzogKFxyXG5cdFx0JzYnOiBoc2xhKDAsIDAlLCAwJSwgMC4wNiksXHJcblx0XHQnMTAnOiBoc2xhKDAsIDAlLCAwJSwgMC4xKSxcclxuXHRcdCcyNSc6IGhzbGEoMCwgMCUsIDAlLCAwLjI1KSxcclxuXHRcdCczMCc6IGhzbGEoMCwgMCUsIDAlLCAwLjMpLFxyXG5cdFx0JzUwJzogaHNsYSgwLCAwJSwgMCUsIDAuNSksXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMCUsIDEpXHJcblx0KSxcclxuXHQnd2hpdGUnOiAoXHJcblx0XHQnMjAnOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjIpLFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDEwMCUsIDEpXHJcblx0KSxcclxuXHQnZ3JlZW4nOiAoXHJcblx0XHQnMTAnOiBoc2xhKDE3OC43LCA1MC4zJSwgMzcuMSUsIDAuMSksIC8vIDJGOEU4Q1xyXG5cdFx0JzcwJzogaHNsYSgxNzguNywgNTAuMyUsIDM3LjElLCAwLjcpLCAvLyAyRjhFOENcclxuXHRcdCcxMDAnOiBoc2xhKDE3OC43LCA1MC4zJSwgMzcuMSUsIDEpLCAvLyAyRjhFOENcclxuXHRcdCcyMDAnOiBoc2xhKDE3OS4yLCA2MCUsIDI1LjUlLCAxKSwgLy8gMUE2ODY3XHJcblx0XHQnMzAwJzogaHNsYSgxNzguMywgNDYuMiUsIDE1LjMlLCAxKSwgLy8gMkY0RjRFIC8gMTUzOTM4IC8gMTMzNzM3XHJcblx0XHQnMzMwJzogaHNsYSgxNzguMywgNDYuMiUsIDE1LjMlLCAwLjMpLCAvLyAyRjRGNEUgLyAxNTM5MzggLyAxMzM3MzdcclxuXHRcdCc0MDAnOiBoc2xhKDIxMCwgMzguMSUsIDkxLjglLCAxKSwgLy8gRTJFQUYyXHJcblx0KSxcclxuXHQnYmx1ZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDIzMC42LCA2MCUsIDM1LjMlLCAxKSwgLy8gMjQzNTkwXHJcblx0KSxcclxuXHQnZ3JleSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDIxMCwgMzguNSUsIDk0LjklLCAxKSwgLy8gRURGMkY3XHJcblx0XHQnMjAwJzogaHNsYSgyMTAsIDI2LjMlLCA5Mi41JSwgMSksIC8vIEU3RUNGMVxyXG5cdFx0JzMwMCc6IGhzbGEoMjA4LjIsIDI3LjklLCA4OCUsIDEpLCAvLyBEOEUxRTlcclxuXHRcdCc0MDAnOiBoc2xhKDE3OC40LCAxNSUsIDUxLjYlLCAxKSAvLyA3MTk2OTVcclxuXHQpLFxyXG5cdCdyZWQnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAxMDAlLCAzOC4yJSwgMSksIC8vIEMzMDAwMFxyXG5cdFx0JzgnOiBoc2xhKDAsIDEwMCUsIDM4LjIlLCAwLjA4KSAvLyBDMzAwMDBcclxuXHQpLFxyXG5cdCdvcmFuZ2UnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyMS44LCAxMDAlLCA0NS4zJSwgMSksIC8vIEU3NTQwMFxyXG5cdClcclxuKTtcclxuXHJcbi8vIENvbG9yIHNob3J0aGFuZCB2YXJpYWJsZXMuXHJcbiRibGFjay02OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICc2Jyk7XHJcbiRibGFjay0xMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAnKTtcclxuJGJsYWNrLTI1OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcyNScpO1xyXG4kYmxhY2stMzA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzMwJyk7XHJcbiRibGFjay01MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnNTAnKTtcclxuJGJsYWNrLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcbiR3aGl0ZS0yMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMjAnKTtcclxuJHdoaXRlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMTAwJyk7XHJcblxyXG4kZ3JlZW4tMTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzEwJyk7XHJcbiRncmVlbi03MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnNzAnKTtcclxuJGdyZWVuLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMTAwJyk7XHJcbiRncmVlbi0yMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzIwMCcpO1xyXG4kZ3JlZW4tMzAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICczMDAnKTtcclxuJGdyZWVuLTMzMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMzMwJyk7XHJcbiRncmVlbi00MDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzQwMCcpO1xyXG5cclxuJGJsdWUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUnKSwgJzEwMCcpO1xyXG5cclxuJGdyZXktMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZXknKSwgJzEwMCcpO1xyXG4kZ3JleS0yMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMjAwJyk7XHJcbiRncmV5LTMwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICczMDAnKTtcclxuJGdyZXktNDAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZXknKSwgJzQwMCcpO1xyXG5cclxuJHJlZC0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcclxuJHJlZC04OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnOCcpO1xyXG5cclxuJG9yYW5nZS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICcxMDAnKTtcclxuXHJcbi8vIFByaW1hcnkgY29sb3IuXHJcbiRjb2xvci1wcmltYXJ5OiAkZ3JlZW4tMTAwOyIsIi8vIEEgbGltaXRlZCBhcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBgei1pbmRleGAgcHJvcGVydHkgdG8gcHJldmVudFxyXG4vLyBFeGFnZ2VyYXRlZCBhbW91bnRzIGFuZCB1Z2x5IGhhY2tzLlxyXG5cclxuJHotaW5kZXg6IChcclxuXHQnMCc6ICAwLFxyXG5cdCcxJzogIDEwLFxyXG5cdCcyJzogIDIwLFxyXG5cdCczJzogIDMwLFxyXG5cdCc0JzogIDQwLFxyXG5cdCc1JzogIDUwLFxyXG5cdCc2JzogIDYwLFxyXG5cdCc3JzogIDcwLFxyXG5cdCc4JzogIDgwLFxyXG5cdCc5JzogIDkwLFxyXG5cdCcxMCc6IDEwMFxyXG4pO1xyXG4iLCIvKipcclxuICogR3JpZC5cclxuICovXHJcblxyXG4vLyBHcmlkIHdpZHRoLlxyXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cclxuJGdyaWQtd2lkdGg6IDEwMjRweDtcclxuXHJcbi8vIEdyaWQgY29sdW1ucy5cclxuLy8gQW1vdW50IG9mIGdyaWQgY29sdW1ucyB0byBjYWxjdWxhdGUgYSBjb2x1bW4gd2lkdGggd2l0aC5cclxuJGdyaWQtY29sdW1uczogMTI7XHJcblxyXG4vLyBHcmlkIGdhcC5cclxuLy8gU3BhY2UgYmV0d2VlbiBncmlkIGNvbHVtbnMsIGF1dG9tYXRlZC5cclxuJGdyaWQtZ2FwOiAyMHB4O1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBc3NldHMuXHJcbiAqL1xyXG5cclxuLy8gSW1hZ2UgcGF0aC5cclxuJGltYWdlLXBhdGg6ICcuLi9pbWFnZXMvJztcclxuXHJcblxyXG4vKipcclxuICogQm9keS5cclxuICovXHJcblxyXG4vLyBCb2R5IGJhY2tncm91bmQgY29sb3IuXHJcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGNvbG9yLlxyXG4kYm9keS1jb2xvcjogJGdyZWVuLTMwMDtcclxuXHJcbi8vIEJvZHkgZm9udCBmYW1pbHkuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2RlZmF1bHQnKTtcclxuXHJcbi8vIEJvZHkgdGV4dC5cclxuJGJvZHktdGV4dDogJ3AnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPdGhlci5cclxuICovXHJcblxyXG4vLyBMaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogJGdyZWVuLTEwMDtcclxuXHJcbi8vIFNlbGVjdCBjb2xvci5cclxuKjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMTAwO1xyXG4gIGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzcG9uc2l2ZS5cclxuICovXHJcblxyXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiRicmVha3BvaW50czogKFxyXG5cdHhzOiBudWxsLFxyXG5cdHNtOiAncGhvbmUnLFxyXG5cdG1kOiAndGFibGV0LXBvcnRyYWl0LXVwJyxcclxuXHRsZzogJ3RhYmxldC1sYW5kc2NhcGUtdXAnLFxyXG5cdHhsOiAnZGVza3RvcCdcclxuKTtcclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvcmUnO1xuQGltcG9ydCAnYW5pbWF0ZSc7XG5AaW1wb3J0ICdhdXRvaGVpZ2h0JztcbkBpbXBvcnQgJ2xhenlsb2FkJztcbkBpbXBvcnQgJ3ZpZGVvJztcbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLyoqXHJcbiAqIFRvb2xzLlxyXG4gKi9cclxuXHJcbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XHJcbkBpbXBvcnQgJ21hZ25pZmljLXBvcHVwJztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuIiwiLyoqXHJcbiAqIFVuaWNvZGUuXHJcbiAqXHJcbiAqIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gQW4gdW5pY29kZSBzdHJpbmcuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xyXG4gKi9cclxuIFxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcclxuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xyXG5cdEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcclxuXHJcblxyXG4vKipcclxuICogUkVNLlxyXG4gKlxyXG4gKiBDb252ZXJ0IHBpeGVsIHVuaXRzIHRvIFJFTSB1bml0cy5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRwaXhlbHMgLSBQaXhlbCB2YWx1ZS5cclxuICogQHJldHVybiB7Kn0gLSBBIGNvbnZlcnRlZCBgcmVtYCB1bml0LlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG5cdEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuXHR9XHJcblx0QHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbi5cclxuICpcclxuICogQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbiwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuXHRAcmV0dXJuICgkY29sdW1uICAqIDEwMCUgLyAkY29sdW1ucyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sb3IuXHJcbiAqXHJcbiAqIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbiAqIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcclxuXHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xyXG5cclxuXHJcbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xyXG4ubWZwLWJnIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIG9wYWNpdHk6IDAuODsgfVxyXG5cclxuLm1mcC13cmFwIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcGFkZGluZzogMCA4cHg7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuXHJcbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB6LWluZGV4OiAxMDQ1OyB9XHJcblxyXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxyXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY3Vyc29yOiBhdXRvOyB9XHJcblxyXG4ubWZwLWFqYXgtY3VyIHtcclxuICBjdXJzb3I6IHByb2dyZXNzOyB9XHJcblxyXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0OyB9XHJcblxyXG4ubWZwLXpvb20ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47IH1cclxuXHJcbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtY2xvc2UsXHJcbi5tZnAtYXJyb3csXHJcbi5tZnAtcHJlbG9hZGVyLFxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ubWZwLXByZWxvYWRlciB7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAtMC44ZW07XHJcbiAgbGVmdDogOHB4O1xyXG4gIHJpZ2h0OiA4cHg7XHJcbiAgei1pbmRleDogMTA0NDsgfVxyXG4gIC5tZnAtcHJlbG9hZGVyIGEge1xyXG4gICAgY29sb3I6ICNDQ0M7IH1cclxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI0ZGRjsgfVxyXG5cclxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5idXR0b24ubWZwLWNsb3NlLFxyXG5idXR0b24ubWZwLWFycm93IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgei1pbmRleDogMTA0NjtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwOyB9XHJcblxyXG4ubWZwLWNsb3NlIHtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxyXG4gIC5tZnAtY2xvc2U6aG92ZXIsXHJcbiAgLm1mcC1jbG9zZTpmb2N1cyB7XHJcbiAgICBvcGFjaXR5OiAxOyB9XHJcbiAgLm1mcC1jbG9zZTphY3RpdmUge1xyXG4gICAgdG9wOiAxcHg7IH1cclxuXHJcbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xyXG4gIGNvbG9yOiAjMzMzOyB9XHJcblxyXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxyXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgcmlnaHQ6IC02cHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gIHdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuXHJcbi5tZnAtYXJyb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG4gIG1hcmdpbjogMDtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAtNTVweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA5MHB4O1xyXG4gIGhlaWdodDogMTEwcHg7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcclxuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpob3ZlcixcclxuICAubWZwLWFycm93OmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWFycm93OmJlZm9yZSxcclxuICAubWZwLWFycm93OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XHJcbiAgICB0b3A6IDhweDsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xyXG4gICAgb3BhY2l0eTogMC43OyB9XHJcblxyXG4ubWZwLWFycm93LWxlZnQge1xyXG4gIGxlZnQ6IDA7IH1cclxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1hcnJvdy1yaWdodCB7XHJcbiAgcmlnaHQ6IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cclxuXHJcbi5tZnAtaWZyYW1lLWhvbGRlciB7XHJcbiAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gICAgdG9wOiAtNDBweDsgfVxyXG5cclxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XHJcbiAgLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxyXG5cclxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xyXG5pbWcubWZwLWltZyB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvOyB9XHJcblxyXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cclxuLm1mcC1maWd1cmUge1xyXG4gIGxpbmUtaGVpZ2h0OiAwOyB9XHJcbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiA0MHB4O1xyXG4gICAgYm90dG9tOiA0MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cclxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cclxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwOyB9XHJcblxyXG4ubWZwLWJvdHRvbS1iYXIge1xyXG4gIG1hcmdpbi10b3A6IC0zNnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgY29sb3I6ICNGM0YzRjM7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XHJcbiAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cclxuICAgICAgICovXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xyXG4gICAgcGFkZGluZzogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xyXG4gICAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgdG9wOiAzcHg7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwOyB9IH1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgLm1mcC1hcnJvdyB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cclxuICAubWZwLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XHJcblxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcbiIsIi8qKlxyXG4gKiBDb250YWluZXJcclxuICogXHJcbiAqIENlbnRlciBhbGlnbnMgZWxlbWVudCB3aXRoIGdpdmVuIG1heGltdW0gd2lkdGgsIHBhZGRpbmcsIGFuZCBtYXJnaW5zIHRvcCBhbmQgYm90dG9tLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBjb250YWluZXIoMTAyNHB4LCAyMHB4KTtcclxuICovXHJcblxyXG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xyXG5cdEBpZiAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgdHlwZS1vZigkZ2FwKSA9PSBudW1iZXIpIHtcclxuXHRcdEBpZiAoJGdhcCAhPSAwKSB7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcclxuXHRcdFx0cGFkZGluZzogMCAkZ2FwO1xyXG5cdFx0fSBAZWxzZSB7XHJcblx0XHRcdG1heC13aWR0aDogJHdpZHRoO1xyXG5cdFx0fVxyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnRzIGAkd2lkdGhgIGFuZCBgJGdhcGAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2VjdGlvblxyXG4gKlxyXG4gKiBBZGQgdG9wIGFuZCBib3R0b20gc3BhY2luZyB0byBlbGVtZW50IHVzaW5nIHBhZGRpbmdzLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJHRvcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm90dG9tIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcclxuXHRcdHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250LlxyXG4gKlxyXG4gKiBBZGRzIGByZW1gIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhIGZhbGxiYWNrIGBweGAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGFuZCBhIGBlbWAgdW5pdCBiYXNlZCBsaW5lIGhlaWdodCBwcm9wZXJ0eSB0byBhbnkgcnVsZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRmb250LXNpemUgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGxpbmUtaGVpZ2h0IC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBmb250KCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xyXG5cdEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIgYW5kIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4Jykge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRmb250LXNpemV9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xyXG5cdH1cclxuXHRAaWYgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0KSA9PSBudW1iZXIgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSAncHgnKSB7XHJcblx0XHRsaW5lLWhlaWdodDogKCgkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKSAqIDFlbSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIGZvciBgI3skbGluZS1oZWlnaHR9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0LlxyXG4gKlxyXG4gKiBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uIGRlbWVhbm91ciBleGlzdGluZyBib3RoIGluIHRoZSBgJGZvbnQtc2l6ZWAgYW5kIHRoZSBgJGxpbmUtaGVpZ2h0YCBtYXBzLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIHRleHQoJ3AnKTtcclxuICovIFxyXG5cclxuQG1peGluIHRleHQoJHZhbHVlKSB7XHJcblx0QGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KG1hcC1nZXQoJGZvbnQtc2l6ZSwgJHZhbHVlKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICR2YWx1ZSkpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmcnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IEF3ZXNvbWUuXHJcbiAqXHJcbiAqIEFkZCBGb250IEF3ZXNvbWUgaWNvbnMgYXMgcHN1ZWRvIGVsZW1lbnRzIGJ5IHVzaW5nIHRoZWlyIHVuaWNvZGUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkY29udGVudCAtIFVuaWNvZGUgc3RyaW5nLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGZvbnRhd2Vzb21lKCdmMTAwJywgJ0xpZ2h0Jyk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmYW1pbHkpID09IHN0cmluZykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XHJcblx0XHRjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lZGlhLlxyXG4gKlxyXG4gKiBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge31cclxuICovIFxyXG4gXHJcbkBtaXhpbiBtZWRpYSgkc2l6ZSkge1xyXG5cdEBpZiAoJHNpemUgPT0gJ2Rlc2t0b3AnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICdwaG9uZScpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA1OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxyXG4gKlxyXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cclxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXHJcbiAqL1xyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym94LXNpemluZzogaW5oZXJpdDsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cclxuICovXHJcblxyXG5odG1sIHtcclxuXHRoZWlnaHQ6IDEwMHZoO1xyXG5cdGZvbnQtc2l6ZTogNjIuNSU7IC8qIDEgKi9cclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xyXG4gKiBtYXRjaCB0aGUgZG9jdW1lbnQncyBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIEZpcmVmb3ggMjUrLlxyXG4gKiAyLiBDaHJvbWUgNSsuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcblx0QGluY2x1ZGUgdGV4dCgkYm9keS10ZXh0KTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdGNvbG9yOiAkYm9keS1jb2xvcjtcclxuXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogMSAqL1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXHJcbn1cclxuIiwiLyoqXHJcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXHJcbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxyXG4gKi9cclxuXHJcbmEge1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmhyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cclxuICovXHJcblxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cclxufVxyXG5cclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiIsIi5iYWNrZ3JvdW5kLS13aGl0ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLmJhY2tncm91bmQtLWdyZXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxufVxyXG4iLCIuYnJlYWRjcnVtYnMge1xyXG5cdHNwYW4sXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTJweCwgMTVweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0zMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYnJlYWRjcnVtYnMtLXByb2R1Y3Qge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cdHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR0b3A6IC0xcHg7XHJcblx0XHRcdHdpZHRoOiAxMXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDExcHg7XHJcblx0XHRcdG1hcmdpbjogMCA1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAtNXB4O1xyXG5cdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRoZWlnaHQ6IDEzcHg7XHJcblx0XHRtYXJnaW46IDAgMTBweDtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5icmVhZGNydW1icy0tZGVmYXVsdCB7XHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogMnB4O1xyXG5cdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRoZWlnaHQ6IDEzcHg7XHJcblx0XHRtYXJnaW46IDAgN3B4IDAgMTBweDtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xyXG5cclxuJWJ1dHRvbixcclxuLmJ1dHRvbiB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogNDJweDtcclxuXHRwYWRkaW5nOiAwIDIwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuNDJweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDE0cHg7XHJcblx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctcmlnaHQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctbGVmdCB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAoZ3JlZW4pLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLWdyZWVuLFxyXG4uYnV0dG9uLS1ncmVlbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMjAwO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24gKGdyZWVuKS5cclxuICovXHJcblxyXG4lYnV0dG9uLS1ncmVlbi1ib3JkZXIsXHJcbi5idXR0b24tLWdyZWVuLWJvcmRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGdyZWVuLTMwMDtcclxuXHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cclxuXHJcbi5jb250YWluZXIge1xyXG5cdEBpbmNsdWRlIGNvbnRhaW5lcjtcclxufVxyXG4iLCIvKipcclxuICogVGhlIGNvbnRlbnQgY29uc3RyYWludCBpcyBhIGNvbnN0cmFpbnQgZm9yIGFsbCB0aGUgY29udGVudCB3aXRoaW5cclxuICogdGhlIGRvY3VtZW50LiBJdCBjYW4gYmUgbWFuaXB1bGF0ZWQgYnkgQ1NTIG9yIEphdmFTY3JpcHQgd2l0aG91dFxyXG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cclxuICovXHJcblxyXG4uY29udGVudC1jb25zdHJhaW50IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWluLWhlaWdodDogMTAwdmg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4iLCIvKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5mbGV4IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uZmxleC13cmFwIHtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxyXG4gKi9cclxuXHJcbi5yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleDogMCAxIGF1dG87XHJcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcclxuXHRtYXJnaW46IDAgLSN7KCRncmlkLWdhcC8yKX07XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5ib3gge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcblxyXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHJcblx0Ly8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGV2ZXJ5IGtleSBpbiBgJGJyZWFrcG9pbnRzYC5cclxuXHRAaW5jbHVkZSBtZWRpYSgkdmFsdWUpIHtcclxuXHJcblx0XHQvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcclxuXHRcdC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuY29sLSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZsZXg6IDAgMSBhdXRvO1xyXG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oJGkpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcclxuXHRcdFx0Ly8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXHJcblx0XHRcdC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRcdEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XHJcblxyXG5cdFx0XHRcdC8qKlxyXG5cdFx0XHRcdCAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHRcdCAqL1xyXG5cclxuXHRcdFx0XHQub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXHJcblx0XHRAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHkge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIEp1c3RpZnkgYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0Lmp1c3RpZnktI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBldmVyeSBkaXJlY3Rpb24gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxyXG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQmxlZWQgI3skZGlyZWN0aW9ufSBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYmxlZWQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuXHRcdFx0XHRwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LmZpcnN0LSN7JGtleX0ge1xyXG5cdFx0XHRvcmRlcjogLTE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0Lmxhc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdCAqL1xyXG5cclxuXHRcdC5yZXZlcnNlLSN7JGtleX0ge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBEZWZhdWx0IGZpZWxkcy5cclxuICovXHJcblxyXG5sYWJlbCB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4laW5wdXQsXHJcbnNlbGVjdCxcclxuaW5wdXQsXHJcbnRleHRhcmVhIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDM2cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdHBhZGRpbmc6IDVweCAxNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LTMwMDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG5cdGhlaWdodDogMjMwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGdyZXktMzAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxNHB4O1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHR3aWR0aDogOXB4O1xyXG5cdFx0aGVpZ2h0OiAxM3B4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtYXJnaW46IC0ycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddLFxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuXHR3aWR0aDogMTRweDtcclxuXHRoZWlnaHQ6IDE0cHg7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGdyZWVuLTMwMDtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0JjpjaGVja2VkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0zMDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLXJvdW5kIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcclxuXHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG59XHJcblxyXG4uc2VsZWN0LXdyYXAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDM3MHB4O1xyXG5cdGhlaWdodDogNDVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LTIwMDtcclxuXHRib3gtc2hhZG93OiAwIDJweCAyNHB4IDAgJGJsYWNrLTY7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0c2VsZWN0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDc1cHg7XHJcblx0XHR6LWluZGV4OiAzO1xyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMzVweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdGhlaWdodDogMTRweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBXb29Db21tZXJjZS5cclxuICovXHJcblxyXG4ud29vY29tbWVyY2UtaW5wdXQtd3JhcHBlciB7XHJcblx0LnNlbGVjdDItc2VsZWN0aW9uIHtcclxuXHRcdEBleHRlbmQgJWlucHV0O1xyXG5cdFx0cGFkZGluZzogM3B4IDEwcHg7XHJcblx0fVxyXG5cclxuXHQuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcclxuXHRcdGhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0XHRyaWdodDogMTBweCFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4ucXVhbnRpdHktd3JhcCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA3MHB4O1xyXG5cdGhlaWdodDogNDVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LTIwMDtcclxuXHRib3gtc2hhZG93OiAwIDJweCAyNHB4IDAgJGJsYWNrLTY7XHJcblxyXG5cdGxhYmVsIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRpbnB1dCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNDVweDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHBhZGRpbmc6IDVweCAwIDVweCAxNXB4O1xyXG5cdH1cclxufVxyXG5cclxuLnF1YW50aXR5LXdyYXBfX2xlc3MsXHJcbi5xdWFudGl0eS13cmFwX19tb3JlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogMzBweDtcclxuXHRoZWlnaHQ6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTIwMDtcclxuXHR9XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRtYXJnaW46IDNweCAwIDAgMDtcclxuXHRcdHdpZHRoOiA5cHg7XHJcblx0XHRoZWlnaHQ6IDlweDtcclxuXHR9XHJcbn1cclxuXHJcbi5xdWFudGl0eS13cmFwX19sZXNzIHtcclxuXHR0b3A6IGF1dG87XHJcblx0Ym90dG9tOiAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0bWFyZ2luOiAwIDAgM3B4IDA7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEdyYXZpdHkgRm9ybXMuXHJcbiAqL1xyXG5cclxuLmdmaWVsZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZ2lucHV0X2NvbnRhaW5lcl9uYW1lIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRtYXJnaW46IDAgLTcuNXB4O1xyXG5cclxuXHRzcGFuIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbjogMCAwIDIwcHggMDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTtcclxuXHRcdG1hcmdpbjogNy41cHg7XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaGlkZGVuX2xhYmVsID4gbGFiZWwge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTNweCwgMzBweCk7XHJcblx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuJXZhbGlkYXRpb25fZXJyb3IsXHJcbi52YWxpZGF0aW9uX2Vycm9yIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAwIDAgNTBweDtcclxuXHRwYWRkaW5nOiAyNXB4IDI1cHggMjVweCA3NXB4O1xyXG5cdGJhY2tncm91bmQ6ICRyZWQtODtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcblxyXG5cdD4gc3ZnIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcclxuXHRcdGxlZnQ6IDMwcHg7XHJcblx0XHR3aWR0aDogMzFweDtcclxuXHRcdGhlaWdodDogMzBweDtcclxuXHRcdGNvbG9yOiAkcmVkLTEwMDtcclxuXHR9XHJcblxyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiA1cHg7XHJcblx0XHRyaWdodDogNXB4O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE2cHg7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiA1MHB4O1xyXG5cdGJhY2tncm91bmQ6ICRncmVlbi0xMDA7XHJcblxyXG5cdGJyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRoNCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDI4cHg7XHJcblx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBIZWFkaW5nLlxyXG4gKi9cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG4laGVhZGluZyxcclxuLmhlYWRpbmcge1xyXG5cdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDEuXHJcbiAqL1xyXG5cclxuaDEsXHJcbi5oZWFkaW5nLTEge1xyXG5cdEBpbmNsdWRlIGZvbnQoMzJweCwgNDBweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAyLlxyXG4gKi9cclxuXHJcbmgyLFxyXG4laGVhZGluZy0yLFxyXG4uaGVhZGluZy0yIHtcclxuXHRAaW5jbHVkZSBmb250KDI4cHgsIDM2cHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMy5cclxuICovXHJcblxyXG5oMyxcclxuJWhlYWRpbmctMyxcclxuLmhlYWRpbmctMyB7XHJcblx0QGluY2x1ZGUgZm9udCgyMnB4LCAyOHB4KTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDQuXHJcbiAqL1xyXG5cclxuaDQsXHJcbiVoZWFkaW5nLTQsXHJcbi5oZWFkaW5nLTQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcbn1cclxuIiwiLmhhcy1sYXp5LWxvYWQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0b3A6IC0xNTBweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTtcclxuXHR0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcclxuXHRvcGFjaXR5OiAwO1xyXG5cclxuXHQmLmhlYWRlciB7XHJcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiA3NTBtcztcclxuXHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLmhhcy1sYXp5LWxvYWRbbG9hZGVkPSd0cnVlJ10ge1xyXG5cdHRvcDogMDtcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcbiIsIi5saW5rIHtcclxuXHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcclxuXHQmLmhhcy1zdmctcmlnaHQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctbGVmdCB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAycHg7XHJcblx0XHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHR9XHJcbn1cclxuIiwiLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxufSIsIi5wYWdpbmF0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDEwMHB4IDA7XHJcblxyXG5cdC5wYWdlLW51bWJlcnMge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHJcblx0XHQmLmN1cnJlbnQge1xyXG5cdFx0XHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5wcmV2LFxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAycHg7XHJcblx0XHRcdFx0d2lkdGg6IDE1cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5uZXh0IHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxyXG4gKi9cclxuXHJcbi53cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTI0MHB4LCA2MHB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEyNDBweCwgMjBweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMTI0MHB4LCA1MHB4KTtcclxufVxyXG4iLCIuYXdzLWNvbnRhaW5lciAuYXdzLXNlYXJjaC1maWVsZCB7XHJcblx0QGluY2x1ZGUgZm9udCgxMnB4LCAxNXB4KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDI2cHg7XHJcblx0cGFkZGluZzogMCAxNXB4O1xyXG5cdGJvcmRlcjogMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMjA7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMTNweCFpbXBvcnRhbnQ7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0yMDtcclxuXHR9XHJcblxyXG5cdCY6OnBsYWNlaG9sZGVyIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuLmF3cy1jb250YWluZXIgLmF3cy1zZWFyY2gtZm9ybSB7XHJcblx0aGVpZ2h0OiAyNnB4O1xyXG59XHJcblxyXG4uYXdzLWNvbnRhaW5lciAuYXdzLXNlYXJjaC1mb3JtIC5hd3MtbG9hZGVyIHtcclxuXHR3aWR0aDogMTVweDtcclxuXHRoZWlnaHQ6IDE1cHg7XHJcblx0bWFyZ2luLXRvcDogLTcuNXB4O1xyXG5cdGJvcmRlci10b3A6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLmF3cy1zZWFyY2gtcmVzdWx0IHtcclxuXHRib3gtc2hhZG93OiAwIDJweCAyNHB4IDAgJGJsYWNrLTY7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGdyZXktMTAwO1xyXG5cdG1hcmdpbi10b3A6IDE0cHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHJcblx0LmF3c19yZXN1bHRfaXRlbSB7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLmNhdGVnb3J5LWl0ZW0ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMTA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMjU7XHJcblxyXG5cdFx0LmNhdGVnb3J5LWl0ZW1fX2ltYWdlOmJlZm9yZSB7XHJcblx0XHRcdG9wYWNpdHk6IDAuNjI7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNhdGVnb3J5LWl0ZW1fX21vcmUsXHJcblx0XHQuY2F0ZWdvcnktaXRlbV9fcHJvZ3JhbXMgeyBcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNhdGVnb3J5LWl0ZW1fX2VkdWNhdGlvbiB7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHR3aWR0aDogNTBweDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmNhdGVnb3J5LWl0ZW1fX2xvZ28ge1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNhdGVnb3J5LWl0ZW1fX2ltYWdlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAyMDBweDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRvcGFjaXR5OiAwLjYyO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5jYXRlZ29yeS1pdGVtX19lZHVjYXRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDUwcHg7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDE3MHB4O1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDMzcHg7XHJcblx0cGFkZGluZzogMCAyNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAwIDAgMCAyMHB4O1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBmb250KDEwcHgsIDEzcHgpO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xyXG5cdH1cclxufVxyXG5cclxuLmNhdGVnb3J5LWl0ZW1fX3Byb2dyYW1zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR0b3A6IDUwJTtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YWxpZ24tY29udGVudDogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IC0xMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG5cdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdHotaW5kZXg6IDU7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMzFweDtcclxuXHRcdGhlaWdodDogMzFweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0cGFkZGluZzogNXB4O1xyXG5cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNhdGVnb3J5LWl0ZW1fX2ltYWdlLXdyYXAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdGltZyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxuXHR9XHJcbn1cclxuXHJcbi5jYXRlZ29yeS1pdGVtX19ib2R5IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMTVweDtcclxufVxyXG5cclxuLmNhdGVnb3J5LWl0ZW1fX2xvZ28ge1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1heC13aWR0aDogMTgwcHg7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRtYXgtaGVpZ2h0OiA3NXB4O1xyXG5cdH1cclxufVxyXG5cclxuLmNhdGVnb3J5LWl0ZW1fX21vcmUge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDE1MCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcclxuXHRtYXgtd2lkdGg6IDIyMHB4O1xyXG5cdGhlaWdodDogNDJweDtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogNDJweDtcclxuXHRcdGhlaWdodDogNDJweDtcclxuXHRcdHBhZGRpbmc6IDVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0yMDA7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSA0MnB4KTtcclxuXHR9XHJcbn0iLCIuY2F0ZWdvcnktbGlzdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogNTBweCAwO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmc6IDEwMHB4IDA7XHJcbn1cclxuXHJcbi5jYXRlZ29yeS1saXN0X193cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW46IC0xMi41cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAtMTIuNXB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygxMDAlICsgMjVweCk7XHJcblx0bWFyZ2luOiAtNTBweCAtMTIuNXB4O1xyXG5cclxuXHQuY2F0ZWdvcnktaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDI1cHgpO1xyXG5cdFx0XHRtYXJnaW46IDEyLjVweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbjogMTIuNXB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMjUlIC0gMjVweCk7XHJcblx0XHRtYXJnaW46IDUwcHggMTIuNXB4O1xyXG5cdH1cclxufSIsIi5jYXRlZ29yeS1tZW51IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyXHJcblx0fVxyXG59XHJcblxyXG4uY2F0ZWdvcnktbWVudV9fbGlua3Mge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogOTAwcHg7XHJcbn1cclxuXHJcbi5jYXRlZ29yeS1tZW51X19saW5rIHtcclxuXHRtYXJnaW46IDIwcHggMjBweCAwIDA7XHJcblxyXG5cdGEge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUsXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0fVxyXG59IiwiLyoqXHJcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXHJcbiAqXHJcbiAqIDEuIEV4Y2x1ZGUgbGFzdCBjaGlsZHMuXHJcbiAqL1xyXG5cclxuLmNtcy1vdXRwdXQge1xyXG5cclxuXHRoMSxcclxuXHRoMixcclxuXHRoMyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcclxuXHR9XHJcblxyXG5cdGg0LFxyXG5cdGg1IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cdH1cclxuXHJcblxyXG5cdHAge1xyXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1pbnRybyxcclxuXHQuaXMtaW50cm8ge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyNnB4KTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzBweDtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMzAwOyBcclxuXHR9XHJcblxyXG5cdG9sLFxyXG5cdHVsIHsgXHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcblx0XHRtYXJnaW4tbGVmdDogMjVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW4tYm90b206IDVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuXHR9XHJcblxyXG5cdHN0cm9uZyB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcblxyXG5cdGJ1dHRvbiB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IDEyNXB4IDA7XHJcblx0XHRwYWRkaW5nOiAwIDIwcHg7XHJcblx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRncmV5LTIwMDtcclxuXHJcblx0XHQmOmJlZm9yZSxcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE0MHB4LCAwcHgpO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IDE1cHg7XHJcblx0XHRcdHRvcDogLTEwcHg7XHJcblx0XHRcdGNvbG9yOiAkZ3JleS0yMDA7XHJcblx0XHRcdGNvbnRlbnQ6ICfigJwnO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHR0b3A6IGF1dG87XHJcblx0XHRcdHJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRib3R0b206IC03MHB4O1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRjb250ZW50OiAn4oCdJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53cC1jYXB0aW9uIHtcclxuXHRcdHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuXHRcdG1hcmdpbjogNTBweCAwO1xyXG5cclxuXHRcdHAge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAxMDBweCBhdXRvO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuY29udGFjdC1mb3JtIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nOiAxMDBweCAwO1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtX19jb2x1bW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMCAwIDEwMHB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNjAlO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xyXG5cclxuXHQmLmlzLWNvbnRhY3Qge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogNDAlO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb3JtLlxyXG4gKi9cclxuXHJcbi5jb250YWN0LWZvcm1fX2Zvcm0tdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fZm9ybS1zdWJ0aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNTVweDtcclxuXHRjb2xvcjogJGdyZWVuLTEwMDtcclxufVxyXG5cclxuLmNvbnRlbnQtZm9ybV9fZm9ybSB7XHJcblx0XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29udGFjdCBpbmZvcm1hdGlvbi5cclxuICovXHJcblxyXG4uY29udGFjdC1mb3JtX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtX19zdWJ0aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogNTVweDtcclxuXHRjb2xvcjogJGdyZWVuLTEwMDtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fY29udGFjdCB7XHJcblx0dWwge1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHR9XHJcblxyXG5cdGxpIHtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdH1cclxuXHJcblx0ZW0ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0d2lkdGg6IDcwcHg7XHJcblx0XHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHR9XHJcbn1cclxuIiwiLmNvbnRlbnQtZGVmYXVsdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogNTBweCAwO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZzogMTAwcHggMDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDc4MHB4ICsgMTAwcHgpXHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1kZWZhdWx0LS1iYWNrZ3JvdW5kLWdyZXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxufVxyXG5cclxuLmNvbnRlbnQtZGVmYXVsdF9fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWRlZmF1bHRfX3N1YnRpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4uY29udGVudC1kZWZhdWx0X19lZGl0b3Ige1xyXG5cdFxyXG59XHJcblxyXG4uY29udGVudC1kZWZhdWx0X19saW5rIHtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG59XHJcbiIsIi5jb250ZW50LWhlYWRlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWluLWhlaWdodDogMzY1cHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9faGVpZ2h0LXNtYWxsIHsgXHJcblx0cGFkZGluZy1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlci0tYmFja2dyb3VuZC13aGl0ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyLS1iYWNrZ3JvdW5kLWdyZXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNZWRpYS5cclxuICovXHJcblxyXG4uY29udGVudC1oZWFkZXJfX21lZGlhIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRoZWlnaHQ6IDMxNXB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA1MjVweDtcclxuXHJcblx0Ji5pcy1hY3Rpb25zLXRpdGxlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9faGVpZ2h0LXNtYWxsIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDMxNXB4O1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQtaGVhZGVyX19tZWRpYSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRoZWlnaHQ6IDMxNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGhlaWdodDogMzkwcHg7XHJcblxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTMwMDtcclxuXHRcdFx0b3BhY2l0eTogMC40ODtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1oZWFkZXJfX2JvZHkge1xyXG5cdFx0dG9wOiAwO1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQtaGVhZGVyX19jb250ZW50IHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHJcblx0XHR0b3A6IDMwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2ltYWdlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX3ZpZGVvLFxyXG4uY29udGVudC1oZWFkZXJfX3ZpZGVvLWNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdHN2ZyB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnV0dG9uQmFyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX3ZpZGVvLXBsYXkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0bGVmdDogMjAlO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNDUlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZmEtcGxheSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0LmZhLXBhdXNlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdH1cclxuXHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxuXHJcblx0Ji5pcy1wYXVzZWQge1xyXG5cdFx0LmZhLXBsYXkge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHQuZmEtcGF1c2Uge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb250ZW50LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2NvbnRlbnQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctdG9wOiAxMTBweDtcclxuXHRcdGJvdHRvbTogYXV0bztcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IC0zNXB4O1xyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2JyZWFkY3J1bWJzLFxyXG4uY29udGVudC1oZWFkZXJfX2NvbnRlbnQtdGl0bGUtd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRtaW4taGVpZ2h0OiAxMDVweDtcclxuXHRcdHBhZGRpbmc6IDE1cHggMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMTVweDtcclxuXHR3aWR0aDogNTQ1cHg7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDIxNXB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0bWF4LWhlaWdodDogNDBweDtcclxuXHRcdHotaW5kZXg6IDEwO1xyXG5cdH1cclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMjVweCAwICRibGFjay0zMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRyaWdodDogLTIwcHg7XHJcblx0XHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDAgMCwgMTAwJSA1MCUsIDAgMTAwJSwgMCUgMTAwJSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IC02NXB4O1xyXG5cdFx0d2lkdGg6IDY1cHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogNDtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fYnJlYWRjcnVtYnMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyNnB4KTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdG1pbi1oZWlnaHQ6IDUwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0cGFkZGluZzogMTVweCAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDQzOXB4O1xyXG4gICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHJpZ2h0OiAtMjBweDtcclxuXHRcdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRcdGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAlIC01MCUsIDEwMCUgMTAwJSwgMCUgMTAwJSlcclxuXHR9XHJcblxyXG5cdCoge1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fY29udGVudC10aXRsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fY29udGVudC1lZGl0b3Itd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDA7XHJcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtaW4taGVpZ2h0OiAyNTBweDtcclxuXHR3aWR0aDogNTQ1cHg7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHJpZ2h0OiAtNjBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0cmlnaHQ6IC0yMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMHZ3O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDI1cHggMCAkYmxhY2stMzA7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogLTEwNXB4O1xyXG5cdFx0d2lkdGg6IDEwNXB4O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA3MiUgMCwgMTAwJSAyMSUsIDAgMTAwJSwgMCUgMTAwJSk7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IDQ7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2NvbnRlbnQtZWRpdG9yIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWF4LXdpZHRoOiA0NjVweDtcclxuXHR6LWluZGV4OiAzO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEFjdGlvbnMuXHJcbiAqL1xyXG5cclxuLmNvbnRlbnQtaGVhZGVyX19ib2R5LS1hY3Rpb25zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDMyMHB4O1xyXG5cdH1cclxuXHJcblx0dG9wOiAwO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyX19hY3Rpb25zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMjk1cHg7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMzBweDtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogNDY1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fYWN0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMjMwcHg7XHJcblx0XHRoZWlnaHQ6IDg1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDM1MHB4O1xyXG5cdGhlaWdodDogMTUwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRib3gtc2hhZG93OiAwIDJweCAyNHB4IDAgJGJsYWNrLTY7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdGEge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDI1cHg7XHJcblxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0bGVmdDogLTM0cHg7XHJcblx0XHRcdFx0d2lkdGg6IDM1cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA4NXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogLTU5cHg7XHJcblx0XHRcdHdpZHRoOiA2MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE1MHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSAwJSwgMTAwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlLCAwJSAxMDAlKTtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblxyXG5cdFx0YTpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2FjdGlvbjpudGgtY2hpbGQoMikge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAyNTVweDtcclxuXHRcdG1hcmdpbjogMjVweCAyMHB4IDI1cHggMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAzOTBweDtcclxuXHRtYXJnaW46IDUwcHggNDBweCA0MHB4IDA7XHJcblxyXG5cdGEge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogaW5pdGlhbDtcclxuXHRcdFx0cGFkZGluZzogMTBweCAxNXB4IDEwcHggMHB4O1xyXG5cdFx0fVxyXG5cclxuXHQgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdCAgICBwYWRkaW5nOiAyNXB4IDI1cHggMjVweCAwO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdGxlZnQ6IC0xOXB4O1xyXG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsZWZ0OiAtMzRweDtcclxuXHRcdFx0d2lkdGg6IDM1cHg7XHJcblx0XHRcdGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDEwMCUgMTAwJSwgMCUgNTAlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb250ZW50LWhlYWRlcl9fYWN0aW9uLWJvZHkge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDE1cHggMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBhZGRpbmc6IDAgMCAwIDQwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2FjdGlvbjpudGgtY2hpbGQoMykge1xyXG5cdGEge1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwJSAwJSk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2FjdGlvbi1pbWFnZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWF4LXdpZHRoOiAyM3B4O1xyXG5cdFx0bWF4LWhlaWdodDogMjNweDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdG1heC13aWR0aDogNjVweDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0bWF4LWhlaWdodDogNjVweDtcclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyX19hY3Rpb24tYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIzcHgpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogMTVweDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX2FjdGlvbi10aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyX19hY3Rpb24tdGVhc2VyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDE1cHgpO1xyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblxyXG5cdFx0Ji5pcy1hcnJvdyB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEFjdGlvbnMgKyBUaXRsZS5cclxuICovXHJcblxyXG4uY29udGVudC1oZWFkZXJfX2JvZHktLWFjdGlvbnMtdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0aGVpZ2h0OiA1MjVweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDA7XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1oZWFkZXJfX2FjdGlvbnMge1xyXG5cdFx0ei1pbmRleDogMTA7XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1oZWFkZXJfX2NvbnRlbnQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0Ym90dG9tOiBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogNTI1cHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAzMTVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jb250ZW50LWhlYWRlcl9fY29udGVudC10aXRsZS13cmFwIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IC00MHB4O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0ei1pbmRleDogOTtcclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogMjAwdnc7XHJcblx0XHRcdFx0bGVmdDogLTYwcHg7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQtaGVhZGVyX19jb250ZW50LWVkaXRvci13cmFwIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogMjAwdnc7XHJcblx0XHRcdFx0bGVmdDogLTYwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250YWN0LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fYm9keS0tY29udGFjdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiAzMjBweDtcclxuXHR9XHJcblxyXG5cdHRvcDogMDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdC5jb250ZW50LWhlYWRlcl9fYWN0aW9uOm50aC1jaGlsZCgyKSBhIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBpbml0aWFsO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fY29udGFjdC1saW5rIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAycHg7XHJcblx0XHR3aWR0aDogMjVweDtcclxuXHRcdGhlaWdodDogMjVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcblx0XHQmLmZhLWxvbmctYXJyb3ctcmlnaHQge1xyXG5cdFx0XHR3aWR0aDogMTZweDtcclxuXHRcdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyNXB4KTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBmb250KDIwcHgsIDI1cHgpO1xyXG5cdH1cclxuXHJcblx0Ji5pcy1yb3V0ZSB7XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFVTUCdzLlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWhlYWRlcl9fdXNwcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luOiA4MHB4IDAgLTUwcHggMDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbjogMzBweCAwIC04MHB4IDA7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLmNvbnRlbnQtaGVhZGVyX191c3Age1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDNweDtcclxuXHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0aGVpZ2h0OiAxNXB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuXHR9XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4iLCIuZm9vdGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLXRvcDogMTAwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUb3AuXHJcbiAqL1xyXG5cclxuLmZvb3Rlcl9fdG9wIHtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktMzAwO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGhlaWdodDogODBweDtcclxuXHRcdH1cclxuXHJcblx0XHRoZWlnaHQ6IDk1cHg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fbG9nbyB7XHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0bWF4LWhlaWdodDogNDVweDtcclxuXHRcdH1cclxuXHJcblx0XHRtYXgtaGVpZ2h0OiA1NXB4O1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19kb21haW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDI0cHgpO1xyXG5cdG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2x1bW5zLlxyXG4gKi9cclxuXHJcbi5mb290ZXJfX2JvdHRvbSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG59XHJcblxyXG4uZm9vdGVyX19jb2x1bW5zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDU1JTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiA3NXB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDQ1JTtcclxuXHRwYWRkaW5nOiAxMDBweCAwIDUwcHggMDtcclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19jb2x1bW4td3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNTAlO1xyXG59XHJcblxyXG4uZm9vdGVyX19jb2x1bW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDAgMCAzMHB4IDA7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuXHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fY29sdW1uLWhlYWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbHVtbi10aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbHVtbi1zdmcge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR0b3A6IDRweDtcclxuXHRcdFx0d2lkdGg6IDEycHg7XHJcblx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZm9vdGVyX19jb2x1bW4tZWRpdG9yIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cdFxyXG59XHJcblxyXG4uZm9vdGVyX19wYXltZW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcblx0XHRtYXgtd2lkdGg6IDg1cHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdG1heC1oZWlnaHQ6IDM1cHg7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbnRhY3QuXHJcbiAqL1xyXG5cclxuLmZvb3Rlcl9fY29udGFjdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDQ1JSAtIDE2NXB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAxMDBweCAwIDUwcHggMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiBjYWxjKDU1JSAtIDE2NXB4KTtcclxuXHRtYXJnaW4tbGVmdDogMTY1cHg7XHJcblx0cGFkZGluZzogMTAwcHggMCA1MHB4IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTMwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRcdGhlaWdodDogMTAxcHg7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogLTYwcHg7XHJcblx0XHRcdGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDEwMCUgNDAlLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCA0MCUpXHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGxlZnQ6IC0yMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IC0xNjVweDtcclxuXHRcdHdpZHRoOiAxNjZweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0zMDA7XHJcblx0XHRjbGlwLXBhdGg6IHBvbHlnb24oNjAlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDYwJSAxMDAlLCAwJSA1MCUpO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMHZ3ICsgMTIwcHgpO1xyXG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuXHRcdFx0dG9wOiAxMDBweDtcclxuXHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHRcdGxlZnQ6IC02MHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdHJpZ2h0OiAtMTAwdnc7XHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19jb250YWN0LWNvbHVtbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fY29udGFjdC10aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0Ji5hbGlnbi1yaWdodCB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlcl9fY29udGFjdC1saW5rcyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fc29jaWFsLWxpbmsge1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdC5pcy1zdmcge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAyNnB4O1xyXG5cdFx0aGVpZ2h0OiAyNnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0xMDA7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDExcHg7XHJcblx0XHRcdGhlaWdodDogMTFweDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaXMtdmFsdWUge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM2cHgpO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5mb290ZXJfX2NvbnRhY3QtaW5mbyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyZW07XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19kZXZlbG9wZWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHJpZ2h0OiBhdXRvO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiA1MHB4O1x0XHJcbn1cclxuIiwiLmhlYWRlciB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHotaW5kZXg6IDIwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0fVxyXG5cclxuXHQmLmlzLXNjcm9sbGVkIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTEwO1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fY29udGFpbmVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiAxMDVweDtcclxuXHR9XHJcblxyXG5cdGhlaWdodDogMTM1cHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUb3AuXHJcbiAqL1xyXG5cclxuLmhlYWRlcl9fdG9wIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiA1NXB4O1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0b3BhY2l0eTogMC43O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fc2VhcmNoIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAyNzVweCk7XHJcblx0bWF4LXdpZHRoOiAzOTBweDtcclxuXHRoZWlnaHQ6IDI2cHg7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xpbmtzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0d2lkdGg6IDgwcHg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xpbmstbmV3cyB7XHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0dG9wOiAxcHg7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdHdpZHRoOiAxNHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEzcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb250ZW50OiAnfCc7XHJcblx0XHRtYXJnaW46IDAgMTVweDtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xpbmstY2FydCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRcdGhlaWdodDogMTRweDtcclxuXHRcdH1cclxuXHJcblx0XHQuaGVhZGVyX19taW5pLWNhcnQtYW1tb3VudCB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoNnB4LCA4cHgpO1xyXG5cdFx0XHRyaWdodDogLTEycHg7XHJcblx0XHRcdGJvdHRvbTogLTNweDtcclxuXHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdGhlaWdodDogMTBweDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xpbmstYWNjb3VudCB7XHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGhlaWdodDogMTFweDtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAycHg7XHJcblx0XHR3aWR0aDogMTNweDtcclxuXHRcdGhlaWdodDogMTRweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBOYXZpZ2F0aW9uLlxyXG4gKi9cclxuXHJcbi5oZWFkZXJfX25hdmlnYXRpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGhlaWdodDogNTBweDtcclxuXHRcdH1cclxuXHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiA4MHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbG9nbyB7XHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDM1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0bWF4LWhlaWdodDogNTVweDtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0bWF4LXdpZHRoOiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbmF2aWdhdGlvbi1tZW51IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdD4gbGkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAyMnB4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSxcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHotaW5kZXg6IDk5O1xyXG5cclxuXHRcdFx0LnN1Ym1lbnUtY29udGFpbmVyIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdHRvcDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnN1Ym1lbnUtY29udGFpbmVyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTBweDtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdG1pbi13aWR0aDogMTg1cHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHJcblx0XHQuc3VibWVudSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgMTcuNXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDJweCAyNHB4IDAgJGJsYWNrLTY7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LTEwMDtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktMTAwO1xyXG5cclxuXHRcdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtLFxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0PiBhIHtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1pbmktY2FydC5cclxuICovXHJcblxyXG4uaGVhZGVyX19taW5pLWNhcnQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAzN3B4O1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0zMDA7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdC5taW5pLWNhcnQge1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdHotaW5kZXg6IDk5O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbWluaS1jYXJ0LWFtbW91bnQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogLTE2cHg7XHJcblx0Ym90dG9tOiAzcHg7XHJcblx0d2lkdGg6IDE5cHg7XHJcblx0aGVpZ2h0OiAxOXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1vYmlsZSBidXR0b24uXHJcbiAqL1xyXG5cclxuJHRyYW5zaXRpb24tdGltaW5nOiA0MDBtcztcclxuLmhlYWRlcl9fbWVudS1idXR0b24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMThweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdHotaW5kZXg6IDEwMDtcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMThweDtcclxuXHRcdFx0aGVpZ2h0OiAycHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFx0bWFyZ2luOiBhdXRvO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cclxuXHRcdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgdG9wICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0XHR0b3A6IGNhbGMoNTAlIC0gMXB4KTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgb3BhY2l0eSAwbXMgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDFweCk7XHJcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcclxuXHRcdFx0XHRcdGJvdHRvbTogY2FsYyg1MCUgLSAxcHgpO1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuaW1hZ2UtdGV4dCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogNTBweCAwO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZzogMTAwcHggMDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5pbWFnZS10ZXh0LS1wb3NpdGlvbi1yaWdodCB7XHJcblx0LndyYXBwZXIge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG5cdH1cclxuXHJcblx0LmltYWdlLXRleHRfX3RleHQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwYWRkaW5nOiA1MHB4IDAgMCAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBhZGRpbmc6IDAgMTAwcHggMCAwO1xyXG5cdH1cclxufVxyXG5cclxuLmltYWdlLXRleHRfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiA1NSU7XHJcbn1cclxuXHJcbi5pbWFnZS10ZXh0X19pbWFnZS13cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRsZWZ0OiAtNjBweDtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAxMjBweCk7XHJcblx0XHRoZWlnaHQ6IDM0NXB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRsZWZ0OiAtMjBweDtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRoZWlnaHQ6IDUzMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XHJcblx0XHRcdGhlaWdodDogNzBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHR3aWR0aDogNTBweDtcclxuXHRcdFx0aGVpZ2h0OiA3MHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaW1hZ2UtdGV4dF9fdGV4dCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tdG9wOiAtMzBweDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDQ1JTtcclxuXHRwYWRkaW5nLWxlZnQ6IDEwMHB4O1xyXG59XHJcblxyXG4uaW1hZ2UtdGV4dF9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4uaW1hZ2UtdGV4dF9fZWRpdG9yIHtcclxuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcbiIsIi5taW5pLWNhcnQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDEwMHB4O1xyXG5cdHJpZ2h0OiAtMzVweDtcclxuXHRtaW4td2lkdGg6IDQwMHB4O1xyXG5cdHBhZGRpbmctdG9wOiA0NXB4O1xyXG5cdGNvbG9yOiBpbml0aWFsO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0ei1pbmRleDogLTE7XHJcblx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcbn1cclxuXHJcbi5taW5pLWNhcnRfX3dyYXAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LTIwMDtcclxuXHRib3gtc2hhZG93OiAwIDAgNXB4IDAgJGJsYWNrLTY7XHJcblxyXG5cdC53b29jb21tZXJjZS1taW5pLWNhcnQge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogMTA7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyLFxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtN3B4O1xyXG5cdFx0cmlnaHQ6IDI1cHg7XHJcblx0XHR3aWR0aDogNTBweDtcclxuXHRcdGhlaWdodDogNTBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS0yMDA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cdFx0d2lkdGg6IDEwMHB4O1xyXG5cdFx0aGVpZ2h0OiA1NXB4O1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0fVxyXG5cclxuXHQubWluaV9jYXJ0X2l0ZW0ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cclxuXHRcdC5yZW1vdmVfZnJvbV9jYXJ0X2J1dHRvbiB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR9XHJcblxyXG5cdFx0PiBhOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHRcdH1cclxuXHJcblx0XHQucXVhbnRpdHkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHRcdFx0bWluLXdpZHRoOiAxMjBweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cdFx0XHQuYW1vdW50IHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDMwcHg7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0bGVmdDogMjBweDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG5cdFx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1taW5pLWNhcnRfX3RvdGFsIHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0cGFkZGluZzogMTVweCAyMHB4O1xyXG5cclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblxyXG5cdFx0LmFtb3VudCB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG5cdFx0XHRiZGkge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtbWluaS1jYXJ0X19idXR0b25zIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDE1cHggMCAzMHB4IDA7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdEBleHRlbmQgJWJ1dHRvbjtcclxuXHRcdFx0QGV4dGVuZCAlYnV0dG9uLS1ncmVlbjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTMwMDtcclxuXHJcblx0XHRcdCYuY2hlY2tvdXQge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTMwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1taW5pLWNhcnRfX2VtcHR5LW1lc3NhZ2Uge1xyXG5cdHBhZGRpbmc6IDMwcHg7XHJcbn0iLCIubmF2aWdhdGlvbi1tb2JpbGUge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDEwMHZoO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gMTA1cHgpO1xyXG5cdG1hcmdpbi10b3A6IDEwNXB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdGJhY2tncm91bmQ6ICRncmV5LTEwMDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHotaW5kZXg6IDk5O1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1haW4gbWVudS5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbi1tb2JpbGVfX21haW4ge1xyXG5cdG1hcmdpbjogNTBweCAwO1xyXG5cclxuXHQ+IGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogNDFweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuY3VycmVudF9wYWdlX2FuY2VzdG9yLFxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gYSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRwYWRkaW5nOiAxM3B4IDA7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogNHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMXB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTZweDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRcdFx0XHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdG1hcmdpbjogNXB4IDAgMTBweCAwO1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIHNhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0XHJcblx0XHRcdFx0Ji5jdXJyZW50X3BhZ2VfYW5jZXN0b3IsXHJcblx0XHRcdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gc2Fzcy1saW50OmVuYWJsZSBjbGFzcy1uYW1lLWZvcm1hdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xyXG5cclxuLmJvZHkuaXMtYWN0aXZlIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQuaGVhZGVyOjpiZWZvcmUge1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG4iLCIubmV3cy1pdGVtIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBhZGRpbmc6IDEyNXB4IDA7XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX3RleHQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiA0NSU7XHJcblx0cGFkZGluZy1yaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX2xhYmVsIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX2F1dGhvciB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHRtYXJnaW46IDIwcHggMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAxNHB4O1xyXG5cdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XHJcblx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLWl0ZW1fX3RlYXNlciB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLm5ld3MtaXRlbV9faW1hZ2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDU1JTtcclxufVxyXG5cclxuLm5ld3MtaXRlbV9faW1hZ2Utd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bGVmdDogLTYwcHg7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xyXG5cdFx0aGVpZ2h0OiAyNDVweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bGVmdDogLTIwcHg7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA1MzBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xyXG5cdFx0XHRoZWlnaHQ6IDQ1cHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0d2lkdGg6IDUwcHg7XHJcblx0XHRcdGhlaWdodDogNDVweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwJSwgMTAwJSAwJSwgMCUgMTAwJSk7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIubmV3cy1sYXRlc3Qge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDUwcHggMDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmc6IDEwMHB4IDA7XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luOiAtNTBweCAwO1xyXG5cdH1cclxuXHJcblx0bWFyZ2luOiAtMTI1cHggMDtcclxufVxyXG4iLCIubmV3cy1saXN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nOiAxMDBweCAwO1xyXG59XHJcblxyXG4ubmV3cy1saXN0X193cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW46IC01MHB4IDA7XHJcblx0fVxyXG5cclxuXHRtYXJnaW46IC0xMjVweCAwO1xyXG5cclxuXHQubmV3cy1pdGVtOm50aC1jaGlsZChldmVuKSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBpbml0aWFsO1xyXG5cdFx0fVxyXG5cclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHJcblx0XHQubmV3cy1pdGVtX190ZXh0IHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHBhZGRpbmc6IDAgMCAwIDEwMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIubmV3cy1zaW5nbGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcdFxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRlci5cclxuICovXHJcblxyXG4ubmV3cy1zaW5nbGVfX2hlYWRlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX19oZWFkZXItbWVkaWEge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGhlaWdodDogMzE1cHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDUyNXB4O1xyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX2hlYWRlci1pbWFnZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX190aXRsZS13cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0bWluLWhlaWdodDogMTE1cHg7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDA7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0aGVpZ2h0OiAxMTVweDtcclxuXHR3aWR0aDogNTQ1cHg7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHdpZHRoOiAxMDB2dztcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTMwO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHJpZ2h0OiAtMjBweDtcclxuXHRcdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRcdGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMCAwLCAxMDAlIDUwJSwgMCAxMDAlLCAwJSAxMDAlKTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogLTY1cHg7XHJcblx0XHR3aWR0aDogNjVweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxuXHRcdGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiA0O1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX190aXRsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDM7XHJcbn1cclxuXHJcblxyXG4vKipcclxuKiBDb250ZW50LlxyXG4qL1xyXG5cclxuLm5ld3Mtc2luZ2xlX19ib2R5IHtcclxuXHQud3JhcHBlciB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoNzgwcHggKyAxMDBweClcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLXNpbmdsZV9fYXV0aG9yIHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX2JhY2sge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IDEwMHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA0cHg7XHJcblx0XHR3aWR0aDogMTRweDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogLTVweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIucHJvZHVjdC1kZXNjcmlwdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHJcblx0LndyYXBwZXIuaXMtYWN0aXZlIHtcclxuXHRcdC5oYXMtdGl0bGUgc3ZnIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWRlc2NyaXB0aW9uX19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nLXRvcDogMjVweDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0cGFkZGluZy10b3A6IDUwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LTIwMDtcclxuXHJcblx0Lmhhcy1zdmcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMzVweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMTEwcHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdHdpZHRoOiAyM3B4O1xyXG5cdFx0XHRcdGhlaWdodDogMjFweDtcclxuXHRcdFx0XHRtYXJnaW46IDAgMTJweCAwIDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0dG9wOiAtMnB4O1xyXG5cdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNDBweDtcclxuXHRcdFx0Y29sb3I6ICRncmV5LTMwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oYXMtdGl0bGUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzVweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMjVweDtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHR3aWR0aDogMTJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRncmVlbi0zMDA7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1kZXNjcmlwdGlvbl9fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHBhZGRpbmc6IDE1cHggMCAxNXB4IDA7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nLWxlZnQ6IDExMHB4O1xyXG59IiwiLnByb2R1Y3QtZmFxIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cclxuXHQud3JhcHBlci5pcy1hY3RpdmUge1xyXG5cdFx0Lmhhcy10aXRsZSBzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZmFxX19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nLXRvcDogMjVweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0cGFkZGluZy10b3A6IDUwcHg7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LTIwMDtcclxuXHJcblx0Lmhhcy1zdmcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogMzVweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMTEwcHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdHdpZHRoOiAyM3B4O1xyXG5cdFx0XHRcdGhlaWdodDogMjFweDtcclxuXHRcdFx0XHRtYXJnaW46IDAgMTJweCAwIDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0dG9wOiAtMnB4O1xyXG5cdFx0XHR3aWR0aDogNDBweDtcclxuXHRcdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNDBweDtcclxuXHRcdFx0Y29sb3I6ICRncmV5LTMwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5oYXMtdGl0bGUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDE4cHgpO1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzVweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMjVweDtcclxuXHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHR3aWR0aDogMTJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRncmVlbi0zMDA7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1mYXFfX3F1ZXN0aW9ucyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHBhZGRpbmc6IDE1cHggMCAxNXB4IDA7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nLWxlZnQ6IDExMHB4O1xyXG59XHJcblxyXG4ucHJvZHVjdC1mYXFfX3F1ZXN0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcblx0Ym94LXNoYWRvdzogMCAwIDEycHggMCAkYmxhY2stMTA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdC5mYS1wbHVzIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQuZmEtbWludXMge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9ja1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMTJweCAwICRibGFjay0yNTtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZhcV9fcXVlc3Rpb24taGVhZCB7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucHJvZHVjdC1mYXFfX3F1ZXN0aW9uLXRpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDIzcHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnByb2R1Y3QtZmFxX19xdWVzdGlvbi1pY29ucyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0dG9wOiAxM3B4O1xyXG5cdFx0cmlnaHQ6IDEwcHg7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAyMHB4O1xyXG5cdHJpZ2h0OiAyMHB4O1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHJcblx0LmZhLW1pbnVzIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1mYXFfX3F1ZXN0aW9uLWFuc3dlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcbiIsIi5wcm9kdWN0LWZlYXR1cmVkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nOiA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZzogMTAwcHggMDtcclxuXHRcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAtMTUwcHg7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgNTAwcHgpO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZDogJGdyZXktMTAwO1xyXG5cdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZmVhdHVyZWRfX3RpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ucHJvZHVjdC1mZWF0dXJlZF9fd3JhcCB7XHJcblx0LnByb2R1Y3QtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAyNzBweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMjg1cHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQub3dsLXN0YWdlIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG59IiwiLnByb2R1Y3QtZmVhdHVyZXMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblxyXG5cdC53cmFwcGVyLmlzLWFjdGl2ZSB7XHJcblx0XHQuaGFzLXRpdGxlIHN2ZyB7XHJcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1mZWF0dXJlc19faGVhZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDI1cHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleS0yMDA7XHJcblxyXG5cdC5oYXMtc3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDM1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDExMHB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0XHR3aWR0aDogMjNweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDIxcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDEycHggMCAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogLTJweDtcclxuXHRcdFx0d2lkdGg6IDQwcHg7XHJcblx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwcHg7XHJcblx0XHRcdGNvbG9yOiAkZ3JleS0zMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGFzLXRpdGxlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxMTBweCk7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDI1cHg7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDEycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZmVhdHVyZXNfX3dyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDAgMTVweCAwO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy1sZWZ0OiAxMTBweDtcclxufVxyXG5cclxuLnByb2R1Y3QtZmVhdHVyZXNfX2ZlYXR1cmUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0Ji5oYXMtaW1hZ2UtcmlnaHQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogaW5pdGlhbDtcclxuXHRcdH1cclxuXHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblxyXG5cdFx0LnByb2R1Y3QtZmVhdHVyZXNfX2ltYWdlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwIDIwcHggMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bWFyZ2luOiAwIDAgMCA0MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZlYXR1cmVzX19pbWFnZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDI1MHB4O1xyXG5cdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDI1MHB4O1xyXG5cdG1hcmdpbi1yaWdodDogNDBweDtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZmVhdHVyZXNfX2JvZHkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlXHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygxMDAlIC0gMjkwcHgpO1xyXG59XHJcblxyXG4ucHJvZHVjdC1mZWF0dXJlc19fdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuIiwiLnByb2R1Y3QtZmlsdGVycyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi10b3A6IDQwcHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZpbHRlcnNfX2VkdWNhdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LTIwMDtcclxufVxyXG5cclxuLnByb2R1Y3QtZmlsdGVyc19fZWR1Y2F0aW9uLXRpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRtYXJnaW4tcmlnaHQ6IDUwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6ICRncmVlbi0xMDA7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZpbHRlcnNfX2VkdWNhdGlvbi1sYWJlbCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1maWx0ZXJzX19wcm9ncmFtcyB7XHJcblx0cGFkZGluZzogMzBweCAwIDM1cHggMDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktMjAwO1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHQucHJvZHVjdC1maWx0ZXJzX19wcm9ncmFtbXMtdGl0bGUgc3ZnIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZpbHRlcnNfX3Byb2dyYW1tcy10aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMzVweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdCYuaXMtbW9iaWxlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogM3B4O1xyXG5cdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxMnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cdFxyXG59XHJcblxyXG4ucHJvZHVjdC1maWx0ZXJzX19wcm9ncmFtcy13cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHR9XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWF4LXdpZHRoOiAxMDAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZpbHRlcnNfX3Byb2dyYW0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAwIDAgMTVweCAwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuXHRtYXJnaW46IDAgNTBweCAyMHB4IDA7XHJcblxyXG5cdGlucHV0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdH1cclxuXHJcblx0Ji5pcy1oaWRkZW4ge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWZpbHRlcnNfX3Byb2dyYW1zLW1vcmUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdC5pcy1sZXNzIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHQuaXMtbGVzcyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pcy1tb3JlIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIucHJvZHVjdC1nYWxsZXJ5IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cclxuXHQud3JhcHBlci5pcy1hY3RpdmUge1xyXG5cdFx0Lmhhcy10aXRsZSBzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZ2FsbGVyeV9faGVhZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDI1cHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleS0yMDA7XHJcblxyXG5cdC5oYXMtc3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IDM1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDExMHB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0XHR3aWR0aDogMjNweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDIxcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDEycHggMCAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogLTJweDtcclxuXHRcdFx0d2lkdGg6IDQwcHg7XHJcblx0XHRcdGhlaWdodDogNDBweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDQwcHg7XHJcblx0XHRcdGNvbG9yOiAkZ3JleS0zMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGFzLXRpdGxlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxMTBweCk7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDI1cHg7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDEycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMzAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZ2FsbGVyeV9fYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWdhbGxlcnlfX3dyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDE1cHggMCAxNXB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0cGFkZGluZy1sZWZ0OiAxMTBweDtcclxuXHRtYXJnaW46IC0xMHB4O1xyXG5cclxuXHRhIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMjUlIC0gMjBweCk7XHJcblx0XHRtYXJnaW46IDEwcHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLnByb2R1Y3QtaW50cm9kdWN0aW9uIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTA7XHJcblxyXG5cdC53cmFwcGVyIHtcclxuXHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fY29sdW1ucyB7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWQuXHJcbiAqL1xyXG5cclxuLnByb2R1Y3QtaW50cm9kdWN0aW9uX19oZWFkIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fdXNwcyB7XHJcblx0bWFyZ2luLXRvcDogMjVweDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fdXNwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDE1cHg7XHJcblx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHR9XHJcblxyXG5cdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogR2FsbGVyeS5cclxuICovXHJcblxyXG4ucHJvZHVjdC1pbnRyb2R1Y3Rpb25fX2dhbGxlcnkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gMzVweCk7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fZ2FsbGVyeS1iaWcge1xyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMCAycHggMTBweCAwICRibGFjay0zMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgJGJsYWNrLTUwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1pbnRyb2R1Y3Rpb25fX2dhbGxlcnktdGh1bWJuYWlscyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdG1hcmdpbjogLTEwcHg7XHJcblxyXG5cdGEge1x0XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogY2FsYygyMCUgLSAyMHB4KTtcclxuXHRcdGhlaWdodDogNTVweDtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblx0XHRtYXJnaW46IDEwcHg7XHJcblx0XHRib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgJGJsYWNrLTUwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlcjogNnB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9faW5mb3JtYXRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gMzVweCk7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fbGFiZWwge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTJweCwgMjRweCk7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRjb2xvcjogJGdyZXktNDAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA4cHg7XHJcblx0XHR3aWR0aDogMTJweDtcclxuXHRcdGhlaWdodDogMjRweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdG1heC13aWR0aDogNDUwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnByb2R1Y3QtaW50cm9kdWN0aW9uX190ZXh0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHRtYXgtd2lkdGg6IDQ1MHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUHJvZ3JhbXMuXHJcbiAqL1xyXG5cclxuLnByb2R1Y3QtaW50cm9kdWN0aW9uX19wcm9ncmFtcyB7XHJcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuLnByb2R1Y3QtaW50cm9kdWN0aW9uX19wcm9ncmFtcy10aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnByb2R1Y3QtaW50cm9kdWN0aW9uX19wcm9ncmFtcy13cmFwIHtcclxuXHRtYXJnaW46IC0xMHB4O1xyXG59XHJcblxyXG4ucHJvZHVjdC1pbnRyb2R1Y3Rpb25fX3Byb2dyYW0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogY2FsYygzMy4zMzMzJSAtIDIwcHgpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcclxuXHRtYXJnaW46IDEwcHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMzFweDtcclxuXHRcdGhlaWdodDogMzFweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0cGFkZGluZzogNXB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBPcmRlci5cclxuICovXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fc3VtbWFyeS1jYXJ0IHtcclxuXHQuaXMtc2ltcGxlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRcdC5wcmljZSB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRzdHJpa2Uge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMzFweCk7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuaXMtYmlnIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250KDM2cHgsIDQ1cHgpO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cclxuXHRcdFx0XHQuaXMtb3JhbmdlIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQucXVhbnRpdHktd3JhcCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMjVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pcy12YXJpYWJsZSB7XHJcblx0XHR0YWJsZSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaW5nbGVfdmFyaWF0aW9uX3dyYXAge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHR9XHJcblxyXG5cdFx0LnByaWNlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdFx0YmRpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBmb250KDM2cHgsIDQ1cHgpO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRzbWFsbCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnF1YW50aXR5LXdyYXAge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud2MtcGFvLWFkZG9uLWNvbnRhaW5lciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG5cdFx0c21hbGwge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdC53Yy1wYW8tYWRkb24tZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWluLWhlaWdodDogMTMwcHg7XHJcblx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdGJvcmRlcjogMnB4IGRhc2hlZCAkZ3JlZW4tMzMwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDE1cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvIDEwcHggYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0aW5wdXQud2MtcGFvLWFkZG9uLWZpbGUtdXBsb2FkIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDE2MHB4O1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblx0XHRpbnB1dCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQjcHJvZHVjdC1hZGRvbnMtdG90YWwge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fbW9udGgtcHJpY2Uge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuXHRzdHJvbmcge1xyXG5cdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcblx0LmlzLWJpZyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDIxcHgsIDI3cHgpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdG1hcmdpbjogMCA1cHg7XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiAxcHg7XHJcblx0XHR3aWR0aDogMTJweDtcclxuXHRcdGhlaWdodDogMTJweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fbG9nbyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWF4LXdpZHRoOiAxNjBweDtcclxuXHRcdG1hcmdpbi10b3A6IDUwcHg7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXgtd2lkdGg6IDI2MHB4O1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0bWFyZ2luLXRvcDogMTAwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZW51LlxyXG4gKi9cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fbWVudSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdG1hcmdpbjogNDBweCAwO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRhIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWludHJvZHVjdGlvbl9fc2FsZSB7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAxNnB4KTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5zaW5nbGVfdmFyaWF0aW9uX3dyYXAge1xyXG5cdC53b29jb21tZXJjZS12YXJpYXRpb24tcHJpY2Uge1xyXG5cdFx0ZGVsIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdH1cclxuXHRcdGRlbCBzcGFuLCBkZWwgYmRpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBcdFx0bGluZS1oZWlnaHQ6IDEuOTM3NWVtICFpbXBvcnRhbnQ7XHJcbiAgICBcdFx0bWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudDtcclxuICAgIFx0XHRvcGFjaXR5OiAwLjUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHRpbnMgc3BhbiwgaW5zIGJkaSB7XHJcblx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMCAhaW1wb3J0YW50O1xyXG5cdFx0XHRmb250LXNpemU6IDM2cHggIWltcG9ydGFudDtcclxuICAgIFx0XHRsaW5lLWhlaWdodDogMS4yNWVtICFpbXBvcnRhbnQ7XHJcbiAgICBcdFx0Zm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHRpbnMge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAucHJvZHVjdC1pdGVtLFxyXG4ucHJvZHVjdC1pdGVtIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTEwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAyNXB4IDAgJGJsYWNrLTI1O1xyXG5cclxuXHRcdC5wcm9kdWN0LWl0ZW1fX2ltYWdlOmJlZm9yZSB7XHJcblx0XHRcdG9wYWNpdHk6IDAuNjI7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNhdGVnb3J5LWl0ZW1fX3Byb2dyYW1zIHsgXHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wcm9kdWN0LWl0ZW1fX2VkdWNhdGlvbiB7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHR3aWR0aDogNTBweDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1pdGVtX19pbWFnZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMjAwcHg7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0b3BhY2l0eTogMC42MjtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1pdGVtX19lZHVjYXRpb24ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDUwcHg7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0d2lkdGg6IDE3MHB4O1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDMzcHg7XHJcblx0cGFkZGluZzogMCAyNXB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiAwIDAgMCAyMHB4O1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBmb250KDEwcHgsIDEzcHgpO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xyXG5cdH1cclxufVxyXG5cclxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLmNhdGVnb3J5LWl0ZW1fX3Byb2dyYW1zLFxyXG4uY2F0ZWdvcnktaXRlbV9fcHJvZ3JhbXMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHRvcDogNTAlO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogLTEwMCU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XHJcblx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0ei1pbmRleDogNTtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiAzMXB4O1xyXG5cdFx0aGVpZ2h0OiAzMXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRwYWRkaW5nOiA1cHg7XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY2F0ZWdvcnktaXRlbV9faW1hZ2Utd3JhcCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcblx0aW1nIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtaXRlbV9fYm9keSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmc6IDIwcHggMjBweCA3NXB4IDIwcHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWl0ZW1fX2xhYmVsIHtcclxuXHRAaW5jbHVkZSBmb250KDEycHgsIDI0cHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0Y29sb3I6ICRncmV5LTQwMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHdpZHRoOiAxMnB4O1xyXG5cdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtaXRlbV9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWl0ZW1fX3R5cGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWl0ZW1fX3ByaWNlLXdyYXAge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDIwcHg7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0YWxpZ24tY29udGVudDogZmxleC1zdGFydDtcclxuXHR3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XHJcblx0aGVpZ2h0OiA1N3B4O1xyXG59XHJcblxyXG4ucHJvZHVjdC1pdGVtX19wcmljZSB7XHJcblx0QGluY2x1ZGUgZm9udCgyNHB4LCAzMXB4KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHJcblx0c3BhbiB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDMxcHgpO1xyXG5cclxuXHRcdCYuaXMtb3JhbmdlIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgyNHB4LCAzMXB4KTtcclxuXHRcdFx0Y29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHN0cmlrZSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDMxcHgpO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA1cHg7XHJcblx0XHRvcGFjaXR5OiAwLjU7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1pdGVtX19tb3JlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDQycHg7XHJcblx0aGVpZ2h0OiA0MnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRoZWlnaHQ6IDE0cHg7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWl0ZW1fX3NhbGUge1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTBweDtcclxuXHRcdGhlaWdodDogMTBweDtcclxuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0Y29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRAaW5jbHVkZSBmb250KDEycHgsIDE2cHgpO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0Y29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdH1cclxufSIsIi5wcm9kdWN0LWxpc3Qge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDUwcHggMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nOiAxMDBweCAwO1xyXG59XHJcblxyXG4ucHJvZHVjdC1saXN0X193cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW46IC0xMi41cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAtMTIuNXB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygxMDAlICsgMjVweCk7XHJcblx0bWFyZ2luOiAtNTBweCAtMTIuNXB4O1xyXG5cclxuXHQucHJvZHVjdC1pdGVtIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMjVweCk7XHJcblx0XHRcdG1hcmdpbjogMTIuNXB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAxMi41cHggMDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogY2FsYygyNSUgLSAyNXB4KTtcclxuXHRcdG1hcmdpbjogNTBweCAxMi41cHg7XHJcblx0fVxyXG59IiwiLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHJcblx0LndyYXBwZXIuaXMtYWN0aXZlIHtcclxuXHRcdC5oYXMtdGl0bGUgc3ZnIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXNwZWNpZmljYXRpb25fX2hlYWQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmctdG9wOiAyNXB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRwYWRkaW5nLXRvcDogNTBweDtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktMjAwO1xyXG5cclxuXHQuaGFzLXN2ZyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAzNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiAxMTBweDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0d2lkdGg6IDIzcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyMXB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMCAxMnB4IDAgMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR0b3A6IC0ycHg7XHJcblx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG5cdFx0XHRjb2xvcjogJGdyZXktMzAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmhhcy10aXRsZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMThweCk7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAyNXB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxMnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXNwZWNpZmljYXRpb25fX2NvbHVtbnMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDAgMTVweCAwO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZy1sZWZ0OiAxMTBweDtcclxufVxyXG5cclxuLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbl9fb3BlcmF0aW5nIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDAgMCA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNTAlO1xyXG5cdHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcblxyXG5cdGgxLFxyXG5cdGgyLFxyXG5cdGgzIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1zcGVjaWZpY2F0aW9uX19yZXF1aXJlbWVudHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDUwJTtcclxufVxyXG5cclxuLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbl9fcmVxdWlyZW1lbnRzLXdyYXAge1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXNwZWNpZmljYXRpb25fX3JlcXVpcmVtZW50cy10aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnByb2R1Y3Qtc3BlY2lmaWNhdGlvbl9fcmVxdWlyZW1lbnQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDJweCAxMHB4O1xyXG5cclxuXHQmOm50aC1jaGlsZChvZGQpIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxuXHR9XHJcbn0iLCIudGVhc2VycyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogNTBweCAwO1xyXG5cdH1cclxuXHJcblx0cGFkZGluZzogMTAwcHggMDtcclxufVxyXG5cclxuLnRlYXNlcnMtLWJhY2tncm91bmQtZ3JleSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1x0XHJcbn1cclxuXHJcbi50ZWFzZXJzX19oZWFkIHtcclxuXHRtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnRlYXNlcnNfX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4udGVhc2Vyc19zdWJ0aXRsZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAxOHB4KTtcclxufVxyXG5cclxuLnRlYXNlcnNfX3dyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAzNXB4KTtcclxuXHRtYXJnaW46IC0xNy41cHg7XHJcbn1cclxuXHJcbi50ZWFzZXJzX190ZWFzZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAyNzBweDtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSwgMC45KTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gMzVweCk7XHJcblx0aGVpZ2h0OiAyNDBweDtcclxuXHRtYXJnaW46IDE3LjVweDtcclxuXHRib3gtc2hhZG93OiAwIDAgMjVweCAwICRibGFjay0xMDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHQudGVhc2Vyc19fdGVhc2VyLWhvdmVyIHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ub3dsLWl0ZW0uYWN0aXZlIC50ZWFzZXJzX190ZWFzZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XHJcblx0fVxyXG59XHJcblxyXG4udGVhc2Vycy10ZWFzZXJfX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDE5MHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHJcblx0aW1nIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZWFzZXJzX190ZWFzZXItaG92ZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6IDMwcHg7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cGFkZGluZzogMTdweCAyMHB4IDIwcHggMjBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoMTAwJSAtIDU1cHgpKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC50ZWFzZXJzLXRlYXNlcl9faG92ZXItbG9nbyxcclxuLnRlYXNlcnMtdGVhc2VyX19ob3Zlci1sb2dvIHtcclxuXHRpbWcge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0bWF4LWhlaWdodDogMjJweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0fVxyXG59XHJcblxyXG4udGVhc2Vyc19fdGVhc2VyLWxpbmtzIHtcclxuXHRcclxufVxyXG5cclxuLnRlYXNlcnNfX3RlYXNlci1saW5rIHtcclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRlYXNlcnNfX2xvZ29zIHtcclxuXHRtYXJnaW4tdG9wOiA2NXB4O1xyXG5cclxuXHQub3dsLWl0ZW0sXHJcblx0Lm93bC1zdGFnZSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Lm93bC1zdGFnZS1vdXRlciB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdG1heC13aWR0aDogMTI1cHg7XHJcblx0XHR3aWR0aDogYXV0byFpbXBvcnRhbnQ7XHJcblx0XHRtYXgtaGVpZ2h0OiA2NXB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0Lm93bC1uZXh0LFxyXG5cdC5vd2wtcHJldiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGxlZnQ6IC0xMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IC00NXB4O1xyXG5cdFx0dG9wOiBjYWxjKDUwJSAtIDEwcHgpO1xyXG5cdH1cclxuXHJcblx0Lm93bC1uZXh0IHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0cmlnaHQ6IC0xMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHJpZ2h0OiAtNDVweDtcclxuXHRcdGxlZnQ6IGF1dG87XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDE0cHg7XHJcblx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0XHRjb2xvcjogJGdyZWVuLTMwMDtcclxuXHR9XHJcbn1cclxuIiwiLndvb2NvbW1lcmNlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG4iLCIld29vY29tbWVyY2UtY2FydC1mb3JtLFxyXG4ud29vY29tbWVyY2UtY2FydC1mb3JtIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoNzAlIC0gMjBweCk7XHJcblxyXG5cdFx0LnByb2R1Y3QtdGh1bWJuYWlsIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR0aCB7XHJcblx0XHRcdCYucHJvZHVjdC10aHVtYm5haWwsXHJcblx0XHRcdCYucHJvZHVjdC1wcmljZSxcclxuXHRcdFx0Ji5wcm9kdWN0LXN1YnRvdGFsLFxyXG5cdFx0XHQmLnByb2R1Y3QtcXVhbnRpdHkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHR0ZCB7XHJcblx0XHRcdCYucHJvZHVjdC10aHVtYm5haWwge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYucHJvZHVjdC1uYW1lLFxyXG5cdFx0XHQmLnByb2R1Y3Qtc3VidG90YWwsXHJcblx0XHRcdCYucHJvZHVjdC1wcmljZSxcclxuXHRcdFx0Ji5wcm9kdWN0LXF1YW50aXR5IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5wcm9kdWN0LXN1YnRvdGFsIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoNzUlIC0gMjBweCk7XHJcblx0bWFyZ2luOiAtMCAyMHB4IDIwcHggMDtcclxuXHJcblx0LnByb2R1Y3QtbmFtZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHRtYXgtd2lkdGg6IDI1MHB4O1xyXG5cdH1cclxuXHJcblx0LnByb2R1Y3QtcmVtb3ZlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyM3B4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGZvbnQtc2l6ZTogMjdweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucHJvZHVjdC10aHVtYm5haWwge1xyXG5cdFx0aW1nIHtcclxuXHRcdFx0d2lkdGg6IDU1cHg7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0LXN1YnRvdGFsIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0LnByb2R1Y3QtcXVhbnRpdHkge1xyXG5cdFx0bGFiZWwsXHJcblx0XHRiciB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0aW5wdXQge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDY1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc2hvcF90YWJsZSB7XHJcblx0XHQucHJvZHVjdC1zdWJ0b3RhbCB7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLXRhYmxlX19saW5lLWl0ZW0sXHJcblx0Lndvb2NvbW1lcmNlLW9yZGVycy10YWJsZV9fcm93LFxyXG5cdC53b29jb21tZXJjZS1jYXJ0LWZvcm1fX2NhcnQtaXRlbSB7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS0yMDA7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMTJweCAwICRibGFjay0xMDtcclxuXHJcblx0XHQucHJvZHVjdC1zdWJ0b3RhbCB7XHJcblx0XHRcdC53b29jb21tZXJjZS1QcmljZS1hbW91bnQge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR0YWJsZSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IFxyXG5cdFx0Ym9yZGVyLXNwYWNpbmc6IDAgMjVweDtcclxuXHR9XHJcblxyXG5cdHRoZWFkIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblx0fVxyXG5cclxuXHR0ZCB7XHJcblx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cclxuXHRcdCYucHJvZHVjdC1yZW1vdmUge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0cGFkZGluZzogMTVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cGFkZGluZzogMTVweCAxNXB4IDE1cHggMzVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRoIHtcclxuXHRcdHBhZGRpbmc6IDAgMTVweDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQuYWN0aW9ucyB7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDAgMCAwO1xyXG5cclxuXHRcdC5jb3Vwb24ge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRtYXgtd2lkdGg6IDMwMHB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzNXB4O1xyXG5cclxuXHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW4tMTAwO1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHAge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5yZXR1cm4tdG8tc2hvcCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufSIsIi53b29jb21tZXJjZS1jaGVja291dF9fbG9naW4ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRmb3JtIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0d2lkdGg6IDUwcHhcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0bWFyZ2luLXRvcDogMTAwcHg7XHJcblx0fVxyXG5cclxuXHQuZm9ybS1yb3cge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJVxyXG5cdFx0fVxyXG5cclxuXHRcdHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpO1xyXG5cdH1cclxuXHJcblx0Lmxvc3RfcGFzc3dvcmQsXHJcblx0Lndvb2NvbW1lcmNlLWZvcm0tbG9naW5fX3JlbWVtYmVybWUge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdGJ1dHRvbiB7XHJcblx0XHRAZXh0ZW5kICVidXR0b247XHJcblx0XHRAZXh0ZW5kICVidXR0b24tLWdyZWVuO1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHR9XHJcblxyXG59XHJcblxyXG4ud29vY29tbWVyY2UtY2hlY2tvdXQge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDgwcHggMDtcclxuXHR6LWluZGV4OiAxMDtcclxuXHJcblx0LyoqXHJcblx0ICogQmlsbGluZyBmb3JtLlxyXG5cdCAqL1xyXG5cdC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkcyB7XHJcblx0XHRoMiB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcblx0XHRcdCYjYmlsbGluZ19jb21wYW55X2ZpZWxkLFxyXG5cdFx0XHQmI2JpbGxpbmdfY2l0eV9maWVsZCB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogODBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5yZXF1aXJlZCB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1hY2NvdW50LWZpZWxkcyB7XHJcblx0XHRtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuXHRcdGgyIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdH1cclxuXHJcblx0XHQud29vY29tbWVyY2UtZm9ybV9fbGFiZWwtZm9yLWNoZWNrYm94IHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxOHB4LCAyNHB4KTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHJcblx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY3JlYXRlLWFjY291bnQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wYXNzd29yZC1pbnB1dCBpbnB1dCB7XHJcblx0XHRcdG1heC13aWR0aDogMzAwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBPcmRlciByZXZpZXcuXHJcblx0ICovXHJcblx0I29yZGVyX3Jldmlld19oZWFkaW5nIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblx0XHRwYWRkaW5nOiA0MHB4IDIwcHggMCAyMHB4O1xyXG5cclxuXHRcdHRhYmxlIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1heC13aWR0aDogMjUwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0dGgge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuXHRcdFx0Y29sb3I6ICRncmV5LTQwMDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdH1cclxuXHJcblx0XHR0ZCB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMjRweCk7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBheW1lbnRzLlxyXG5cdCAqL1xyXG5cdC53b29jb21tZXJjZS1jaGVja291dF9fcGF5bWVudC13cmFwIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQge1xyXG5cdFx0Lm1ldGhvZHMge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdG1hcmdpbjogLTIwcHg7XHJcblx0XHRcdHBhZGRpbmc6IDVweCAwIDAgMDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMzMuMzMzMyUgLSA0MHB4KTtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMjBweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRncmVlbi03MDtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRcdFx0XHQmLnBheW1lbnRfbWV0aG9kX21vbGxpZV93Y19nYXRld2F5X2lkZWFsIHtcclxuXHRcdFx0XHRcdGxhYmVsOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRib3R0b206IC00OHB4O1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMzFweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzMXB4O1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi00MDA7XHJcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDUwcHg7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDUwcHg7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ5cHg7XHJcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0XHR6LWluZGV4OiAyO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tNDAwO1xyXG5cdFx0XHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHR6LWluZGV4OiA1O1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cclxuXHRcdFx0XHRcdCsgbGFiZWwge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6Y2hlY2tlZCB7XHJcblx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XHJcblxyXG5cdFx0XHRcdFx0XHQrIGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tNDAwO1xyXG5cclxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnBheW1lbnRfbWV0aG9kX21vbGxpZV93Y19nYXRld2F5X2lkZWFsLnBheW1lbnRfYm94IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDgwcHg7XHJcblx0XHRcdG1hcmdpbjogMTBweCAwIDAgMDtcclxuXHRcdFx0cGFkZGluZzogMjcuNXB4IDE1cHggMTcuNXB4IDE1cHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi00MDA7XHJcblxyXG5cdFx0XHQuaWRlYWwtc2VsZWN0IHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMTFweDtcclxuXHRcdFx0XHRyaWdodDogMTJweDtcclxuXHRcdFx0XHR3aWR0aDogMTVweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE1cHg7XHJcblx0XHRcdFx0Y29sb3I6ICRncmVlbi03MDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c2VsZWN0IHtcclxuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkZ3JlZW4tNzA7XHJcblx0XHRcdFx0d2lkdGg6IDI5NXB4O1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tNzA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFBsYWNlIG9yZGVyLlxyXG5cdCAqL1xyXG5cdC5wbGFjZS1vcmRlciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmctdG9wOiA5MHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAtMjBweDtcclxuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHR6LWluZGV4OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCoge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLWlucHV0LXdyYXBwZXIge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDI0cHgpO1xyXG5cclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yZXF1aXJlZCB7XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm1jNHdwLWNoZWNrYm94LXdvb2NvbW1lcmNlIHtcclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjRweCk7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlucHV0IHtcclxuXHRcdFx0XHR0b3A6IDRweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE5cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubm90aWNlIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0bWFyZ2luOiA0MHB4IDAgMjBweCAwO1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiA2cHg7XHJcblx0XHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZm9udCgxNXB4LCAyNHB4KTtcclxuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlICsgMjFweCk7XHJcblx0XHRcdFx0Y29sb3I6ICRncmV5LTQwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWNoZWNrb3V0X19jb2x1bW5zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UtY2hlY2tvdXRfX2NvbHVtbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoNTAlIC0gNTBweCk7XHJcbn0iLCIuY2FydC1jb2xsYXRlcmFscyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiAzMCU7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDI1JTtcclxuXHRoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdG1hcmdpbjogMjBweCAwO1xyXG5cdHBhZGRpbmc6IDE1cHggMjBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblxyXG5cdGgyIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjNweCk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLXNoaXBwaW5nLWRlc3RpbmF0aW9uLFxyXG5cdC5pbmNsdWRlc190YXgge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdHRhYmxlIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTZweCwgMjRweCk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHRcclxuXHJcblx0dGgsXHJcblx0dGQge1xyXG5cdFx0cGFkZGluZzogMTVweCAwO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR9XHJcblxyXG5cdHRoIHtcclxuXHRcdGNvbG9yOiAkZ3JleS00MDA7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblxyXG5cdHRkIHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdH1cclxuXHJcblx0LndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXRvcDogNzVweDtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0QGV4dGVuZCAlYnV0dG9uLS1ncmVlbjtcclxuXHJcblx0XHRcdGJyIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4iLCIud29vY29tbWVyY2UtbG9naW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IC01MHB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtYXJnaW4tYm90dG9tOiAtMTAwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDE1MHB4O1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cclxuXHQudS1jb2x1bW5zIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdH1cclxuXHJcblx0Lndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG59XHJcblxyXG4ud29vY29tbWVyY2UtbG9naW5fX2JhY2tncm91bmQge1xyXG5cdCY6YmVmb3JlIHtcclxuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdCAgICB0b3A6IDA7XHJcblx0ICAgIGxlZnQ6IDA7XHJcblx0ICAgIHdpZHRoOiAxMDAlO1xyXG5cdCAgICBoZWlnaHQ6IDEwMCU7XHJcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTM5Mzg7XHJcblx0ICAgIG9wYWNpdHk6IDAuNDg7XHJcblx0ICAgIGNvbnRlbnQ6ICcnO1xyXG5cdCAgICB6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWxvZ2luX19icmVhZGNydW1icyB7XHJcblx0bWFyZ2luOiAzNXB4IDA7XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1sb2dpbl9fYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDQwcHggNDBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR6LWluZGV4OiAyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nOiA0MHB4IDEwMHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdCYuaXMtcmVzZXQge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4ud29vY29tbWVyY2UtbG9naW5fX2NvbHVtbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG5cdG1heC13aWR0aDogNDAwcHg7XHJcblxyXG5cdGgyIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0aW5wdXQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1mb3JtLWxvZ2luIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblxyXG5cdC5sb3N0X3Bhc3N3b3JkIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogOXB4O1xyXG5cdFx0bGVmdDogMTE1cHg7XHJcblx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRncmVlbi0zMDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtZm9ybS1yZWdpc3Rlcl9fc3VibWl0IHtcclxuXHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0fVxyXG5cclxuXHQubG9zdF9yZXNldF9wYXNzd29yZCB7XHJcblx0XHQuZm9ybS1yb3ctZmlyc3Qge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDUwcHggMCAwIDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDIwMHB4O1xyXG5cdG1hcmdpbjogODVweCAxMjVweCA4NXB4IDA7XHJcblxyXG5cdGxpIHtcclxuXHRcdGEge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDIzcHgpO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAxOXB4O1xyXG5cdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cclxuXHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMnB4O1xyXG5cclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Y29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rLS1kYXNoYm9hcmQge1xyXG5cdFx0Ji5pcy1hY3RpdmUgYSxcclxuXHRcdGEge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDI4cHgsIDM2cHgpO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LTEwMDtcclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbi1saW5rLS1jdXN0b21lci1sb2dvdXQge1xyXG5cdFx0YSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMjRweCk7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHR3aWR0aDogMTA1cHg7XHJcblx0XHRcdGhlaWdodDogMzVweDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyZWVuLTEwMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xyXG5cdFx0XHRjb2xvcjogJGdyZWVuLTEwMDtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi0xMDA7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogMXB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxNnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTVweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiA1MHB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygxMDAlIC0gMzI1cHgpO1xyXG5cdG1hcmdpbjogODVweCAwO1xyXG5cclxuXHRwLFxyXG5cdC53b29jb21tZXJjZS1ub3RpY2VzLXdyYXBwZXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Nlcy5cclxuICovXHJcblxyXG4ud29vY29tbWVyY2UtQWRkcmVzcyB7XHJcblx0d2lkdGg6IDUwJTtcclxuXHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuXHRhIHtcclxuXHRcdGNvbG9yOiAkZ3JlZW4tMTAwO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRm9ybXMuXHJcbiAqL1xyXG5cclxuLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGZvcm0ge1xyXG5cdGgzIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cclxuXHQmLmVkaXQtYWNjb3VudCxcclxuXHQud29vY29tbWVyY2UtYWRkcmVzcy1maWVsZHNfX2ZpZWxkLXdyYXBwZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdG1hcmdpbjogMCAtMTBweDtcclxuXHR9XHJcblxyXG5cdC5mb3JtLXJvdyB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAzNXB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XHJcblx0XHRtYXJnaW46IDAgMTBweCAyMHB4IDEwcHg7XHJcblx0fVxyXG5cclxuXHQjc2hpcHBpbmdfYWRkcmVzc18xX2ZpZWxkLFxyXG5cdCNzaGlwcGluZ19hZGRyZXNzXzJfZmllbGQsXHJcblx0I2JpbGxpbmdfYWRkcmVzc18xX2ZpZWxkLFxyXG5cdCNiaWxsaW5nX2FkZHJlc3NfMl9maWVsZCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdCNiaWxsaW5nX2FkZHJlc3NfMV9maWVsZCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0ZW0ge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0Y29sb3I6ICRncmVlbi0zMDA7XHJcblx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0fVxyXG5cclxuXHRmaWVsZHNldCB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdFx0bWFyZ2luOiA0MHB4IDAgMTVweDtcclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogLTMwcHg7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAyMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktMTAwO1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdH1cclxuXHJcblx0XHRsZWdlbmQge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAZXh0ZW5kICVoZWFkaW5nO1xyXG5cdFx0XHRAZXh0ZW5kICVoZWFkaW5nLTQ7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdEBleHRlbmQgJWJ1dHRvbjtcclxuXHRcdEBleHRlbmQgJWJ1dHRvbi0tZ3JlZW47XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0dG9wOiA0cHg7XHJcblx0XHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEzcHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5lZGl0LWFjY291bnQgLmJ1dHRvbiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBPcmRlciB0YWJsZS5cclxuICovXHJcbi53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XHJcblx0Lndvb2NvbW1lcmNlLW9yZGVycy10YWJsZSB7XHJcblx0XHRAZXh0ZW5kICV3b29jb21tZXJjZS1jYXJ0LWZvcm07XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IFxyXG5cdFx0Ym9yZGVyLXNwYWNpbmc6IDAgMjBweDtcclxuXHRcdG1hcmdpbjogMzVweCAwIDAgMDtcclxuXHRcdFxyXG5cdFx0dGJvZHkgdHI6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xyXG5cdFx0fVxyXG5cclxuXHRcdC53b29jb21tZXJjZS1vcmRlcnMtdGFibGVfX2hlYWRlci1vcmRlci1hY3Rpb25zLFxyXG5cdFx0Lndvb2NvbW1lcmNlLW9yZGVycy10YWJsZV9fY2VsbC1vcmRlci1hY3Rpb25zIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQud29vY29tbWVyY2Utb3JkZXJzLXRhYmxlX19jZWxsLW9yZGVyLW51bWJlcixcclxuXHRcdC53b29jb21tZXJjZS1vcmRlcnMtdGFibGVfX2hlYWRlci1vcmRlci1udW1iZXIge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLW9yZGVycy10YWJsZV9fY2VsbC1vcmRlci1udW1iZXIge1xyXG5cdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Lndvb2NvbW1lcmNlLW9yZGVycy10YWJsZV9fY2VsbC1vcmRlci10b3RhbCB7XHJcblx0XHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogT3JkZXIgZGV0YWlscy5cclxuICovXHJcbi53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB7XHJcblx0Lndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0aDIge1xyXG5cdFx0XHRtYXJnaW46IDUwcHggMCAzNXB4IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud29vY29tbWVyY2UtdGFibGUtLW9yZGVyLWRldGFpbHMge1xyXG5cdFx0QGV4dGVuZCAld29vY29tbWVyY2UtY2FydC1mb3JtO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyBcclxuXHRcdGJvcmRlci1zcGFjaW5nOiAwIDIwcHg7XHJcblxyXG5cdFx0dGgge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHRcdFx0Ji53b29jb21tZXJjZS10YWJsZV9fcHJvZHVjdC1uYW1lIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHR0ZCB7XHJcblx0XHRcdCYud29vY29tbWVyY2UtdGFibGVfX3Byb2R1Y3QtbmFtZSB7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMzBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRib2R5IHRyOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlLXJvdztcclxuXHRcdH1cclxuXHJcblx0XHQud29vY29tbWVyY2UtdGFibGVfX3Byb2R1Y3QtdG90YWwge1xyXG5cdFx0XHRib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRmb290IHtcclxuXHRcdFx0Ym9yZGVyLXNwYWNpbmc6IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuXHRcdFx0dGgge1xyXG5cdFx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG1hcmsge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLTcwO1xyXG5cdH1cclxufVxyXG4iLCIud29vY29tbWVyY2Utbm90aWNlLFxyXG4uY2FydC1lbXB0eSxcclxuLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwLFxyXG4ud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQ+IHVsIHtcclxuXHRcdG1hcmdpbjogMjBweCAwO1xyXG5cdFx0cGFkZGluZzogMTVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LTEwMDtcclxuXHR9XHJcblxyXG5cdC53b29jb21tZXJjZS1lcnJvciB7XHJcblx0XHRzdHJvbmcge1xyXG5cdFx0XHRjb2xvcjogJHJlZC0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ud29vY29tbWVyY2Utbm90aWNlLFxyXG4uY2FydC1lbXB0eSxcclxuLndvb2NvbW1lcmNlLWVycm9yLFxyXG4ud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0cGFkZGluZzogMjBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0xMDA7XHJcblxyXG5cdCsgcCB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdFx0bWFyZ2luOiAzMHB4IDA7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdEBleHRlbmQgJWJ1dHRvbjtcclxuXHRcdEBleHRlbmQgJWJ1dHRvbi0tZ3JlZW47XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDEycHg7XHJcblx0XHRyaWdodDogMjBweDtcclxuXHR9XHJcblxyXG5cdGJyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbiIsIi53b29jb21tZXJjZS1vcmRlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyxcclxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMsXHJcbi53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59IiwiLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgY29sb3IgYW5kIGJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBjbGFzc2VzIGJhc2VkIG9uIGV2ZXJ5IGNvbG9yIGRlZmluaXRpb24gaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICogTG9vcCB0aHJvdWdoIGV2ZXJ5IGAka2V5YCBhbmQgYCRtYXBgIGluIHRoZSBgJGNvbG9yc2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cclxuICovXHJcbiBcclxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcclxuXHJcblx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAkc2hhZGVgIGFuZCBgJHJnYmAgaW4gYCRtYXBgLlxyXG5cdEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcclxuXHJcblx0XHQvLyBMb29wIHRocm91Z2ggZXZlcnkgYGNvbG9yYCBhbmQgYGJhY2tncm91bmQtY29sb3JgIHJ1bGVzLlxyXG5cdFx0QGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xyXG5cdFx0XHRcdCN7JHJ1bGV9OiAkcmdiO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBWaXN1YWxseSBoaWRlIGFueSBlbGVtZW50IGZyb20gdGhlIHVzZXIuXHJcbiAqL1xyXG5cclxuLnZpc3VhbGx5LWhpZGRlbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDFweCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXHJcbiAqL1xyXG5cclxuLmxhenlsb2FkIHtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XHJcbiAqIHRoYXQgdXRpbGl6ZXMgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG4lb2JqZWN0LWZpdCxcclxuLm9iamVjdC1maXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBjZW50ZXIuXHJcbiAqL1xyXG5cclxuLmFsaWduLWNlbnRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gbGVmdC5cclxuICovXHJcblxyXG4uYWxpZ24tbGVmdCB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIHJpZ2h0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1yaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gZmlsbCwgY29udGFpbiwgY292ZXIsIG5vbmUsIHNjYWxlLWRvd24ge1xyXG5cclxuXHQvKipcclxuXHQgKiBgb2JqZWN0LWZpdGAgI3skdmFsdWV9IHV0aWxpdHkgY2xhc3MuXHJcblx0ICovXHJcblxyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xyXG5cdFx0b2JqZWN0LWZpdDogI3skdmFsdWV9O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0cG9zaXRpb246ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuIiwiXHJcbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0LCBjZW50ZXIge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246ICRkaXJlY3Rpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuXHRcdFx0JGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHRyYW5zZm9ybSBpbiBjYXBpdGFsaXplLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgbm9uZSwgZnVsbC13aWR0aCB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFZlcnRpY2FsIFJoeXRobS5cclxuICovXHJcbiBcclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XHJcblx0JGk6ICRpICogODtcclxuXHJcblx0LnZyLSN7JGl9IHtcclxuXHRcdG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XHJcblx0LnotaW5kZXgtI3ska2V5fSB7XHJcblx0XHR6LWluZGV4OiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBT0g7O0dBRUc7QUFXSDs7R0FFRztBR3hCSDs7R0FFRztBQWVIOztHQUVHO0FBTUg7O0dBRUc7QUFlSDs7R0FFRztBTGpDSCxPQUFPLENBQVAsd0JBQU87QUt1Q1AsQUFBQSxDQUFDLEFBQUEsV0FBVyxD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 */
