@font-face {
  font-family: 'Futura Std Light';
  src: url("../Fonts/FuturaStd-Light.otf"); }

@font-face {
  font-family: 'Futura Std Bold';
  src: url("../Fonts/FuturaStd-Bold.otf"); }

@font-face {
  font-family: 'Futura Std Book';
  src: url("../Fonts/FuturaStd-Book.otf"); }

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

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

/*! 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 */
  -webkit-text-decoration: underline dotted;
          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; }

.ui-timepicker-wrapper {
  overflow-y: auto;
  max-height: 150px;
  width: 6.5em;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  outline: none;
  z-index: 10052;
  margin: 0; }

.ui-timepicker-wrapper.ui-timepicker-with-duration {
  width: 13em; }

.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60 {
  width: 11em; }

.ui-timepicker-list {
  margin: 0;
  padding: 0;
  list-style: none; }

.ui-timepicker-duration {
  margin-left: 5px;
  color: #888; }

.ui-timepicker-list:hover .ui-timepicker-duration {
  color: #888; }

.ui-timepicker-list li {
  padding: 3px 0 3px 5px;
  cursor: pointer;
  white-space: nowrap;
  color: #000;
  list-style: none;
  margin: 0; }

.ui-timepicker-list:hover .ui-timepicker-selected {
  background: #fff;
  color: #000; }

li.ui-timepicker-selected,
.ui-timepicker-list li:hover,
.ui-timepicker-list .ui-timepicker-selected:hover {
  background: #1980EC;
  color: #fff; }

li.ui-timepicker-selected .ui-timepicker-duration,
.ui-timepicker-list li:hover .ui-timepicker-duration {
  color: #ccc; }

.ui-timepicker-list li.ui-timepicker-disabled,
.ui-timepicker-list li.ui-timepicker-disabled:hover,
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
  color: #888;
  cursor: default; }

.ui-timepicker-list li.ui-timepicker-disabled:hover,
.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
  background: #f2f2f2; }

/* 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: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  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;
  -ms-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: rgba(0, 0, 0, 0); }
  .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 {
    transform: scale(0.75); }
  .mfp-arrow-left {
    transform-origin: 0; }
  .mfp-arrow-right {
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/*
 *  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;
    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;
    -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: -webkit-grab;
    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 {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

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

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

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

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

@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%; }

/* 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: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  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;
  -ms-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 {
    transform: scale(0.75); }
  .mfp-arrow-left {
    transform-origin: 0; }
  .mfp-arrow-right {
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/* ==========================================================================
   Headings
   ========================================================================== */
.heading-3 {
  text-transform: uppercase; }

.heading-3 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.21429em; }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 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;
  overflow-x: hidden; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.66667em;
  min-height: 100vh;
  background-color: white;
  color: black;
  font-family: "Futura Std Light", "futura-pt", "futura-pt-condensed", "futura-pt-bold", "Hind", sans-serif;
  font-family: 'futura-pt', sans-serif;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */
  overflow-x: hidden; }
  body.is-active {
    overflow: hidden; }

/* ==========================================================================
   Reset
   ========================================================================== */
/**
 * 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;
  -webkit-appearance: none;
     -moz-appearance: 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; }

/* ==========================================================================
   Animations
   ========================================================================== */
@-webkit-keyframes slideDown {
  0% {
    top: -200px;
    opacity: 0; }
  100% {
    top: 0;
    opacity: 1; } }
@keyframes slideDown {
  0% {
    top: -200px;
    opacity: 0; }
  100% {
    top: 0;
    opacity: 1; } }

/* ==========================================================================
   Buttons
   ========================================================================== */
.button-primary--green,
.button-groen,
.style-green {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5em;
  display: inline-flex;
  align-items: center;
  padding: 7px 20px;
  transition: background 250ms ease;
  background: #6aad40;
  color: white;
  letter-spacing: 0.6px; }
  .button-primary--green svg,
  .button-groen svg,
  .style-green svg {
    width: 18px;
    height: 18px;
    margin: 0 10px; }
  @media only screen and (min-width: 1200px) {
    .button-primary--green:hover,
    .button-groen:hover,
    .style-green:hover {
      background: #538832; } }
  .button-primary--green.tickets,
  .button-groen.tickets,
  .style-green.tickets {
    font-size: 14px; }

.button-secondary--green {
  padding: 3px 10px;
  transition: all 250ms ease;
  border: 1px solid #6aad40;
  background: white;
  color: #6aad40;
  letter-spacing: 0.8px; }
  .button-secondary--green:hover {
    background: #6aad40;
    color: white; }

.button-primary--brown,
.style-brown,
.button-bruin {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  transition: background 250ms ease;
  border: 1px solid #b07e4b;
  background: #b07e4b;
  color: white;
  letter-spacing: 0.8px; }
  .button-primary--brown svg,
  .style-brown svg,
  .button-bruin svg {
    width: 18px;
    height: 18px;
    margin-left: 10px; }
  @media only screen and (min-width: 1200px) {
    .button-primary--brown:hover,
    .style-brown:hover,
    .button-bruin:hover {
      background: #8c643c; } }

.button-secondary--brown,
.button-transparant {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  transition: background 250ms ease;
  border: 1px solid #b07e4b;
  background: transparent;
  color: #b07e4b;
  letter-spacing: 0.8px; }
  .button-secondary--brown svg,
  .button-transparant svg {
    width: 18px;
    height: 18px;
    margin-left: 10px; }
  @media only screen and (min-width: 1200px) {
    .button-secondary--brown:hover,
    .button-transparant:hover {
      background: #b07e4b;
      color: white !important; } }

.button-secondary--white {
  padding: 3px 10px;
  transition: all 250ms ease;
  border: 1px solid white;
  background: transparent;
  color: #7686c2;
  letter-spacing: 0.8px; }
  .button-secondary--white:hover {
    background: white;
    color: #7686c2; }

.button-tertiary--brown {
  transition: color 250ms ease;
  color: #b07e4b;
  text-decoration: underline; }
  .button-tertiary--brown svg {
    width: 14px;
    height: 14px;
    margin: 0 10px; }
  .button-tertiary--brown:hover {
    color: #7a5834; }

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

/* ==========================================================================
   Content Constraint
   ========================================================================== */
/**
 * 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;
  height: 0; }
  @media only screen and (min-width: 600px) {
    .content-constraint {
      height: 100%;
      min-height: 100vh;
      overflow-x: hidden; } }
  @media only screen and (max-width: 599px) {
    .content-constraint {
      flex-wrap: wrap; } }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .content-constraint {
      height: 0 !important; } }

/* ==========================================================================
   Flex
   ========================================================================== */
/**
 * 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 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; }

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

/**
       * 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; }
  /**
       * Justify `flex-end` for the sm breakpoint.
       */
  .justify-sm-flex-end {
    justify-content: flex-end; }
  /**
       * 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; }
  /**
       * Justify `flex-end` for the md breakpoint.
       */
  .justify-md-flex-end {
    justify-content: flex-end; }
  /**
       * 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; }
  /**
       * Justify `flex-end` for the lg breakpoint.
       */
  .justify-lg-flex-end {
    justify-content: flex-end; }
  /**
       * 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; }
  /**
       * Justify `flex-end` for the xl breakpoint.
       */
  .justify-xl-flex-end {
    justify-content: flex-end; }
  /**
       * 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; } }

/* ==========================================================================
   Grid
   ========================================================================== */
/**
 * Default headings.
 */
.heading-1-black {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.5em;
  color: black;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
  font-weight: 700; }

.heading-1-white {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.5em;
  color: white;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }

.heading-2-black {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5em;
  color: black;
  font-family: 'Futura Std Bold', 'futura-pt-bold', 'Hind'; }

.heading-2-white {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5em;
  color: white;
  font-family: 'Futura Std Bold', 'futura-pt-bold', 'Hind'; }

/* ==========================================================================
   Section
   ========================================================================== */
/* ==========================================================================
   Wrapper
   ========================================================================== */
/**
 * The wrapper object centers an element in the document.
 */
.ce-textpic-element,
.wrapper {
  max-width: calc(1240px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto;
  width: 100%; }
  @media only screen and (max-width: 599px) {
    .ce-textpic-element,
    .wrapper {
      padding: 0 20px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .ce-textpic-element,
    .wrapper {
      padding: 0 60px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .ce-textpic-element,
    .wrapper {
      padding: 0 50px; } }

.wrapper--small {
  max-width: 650px; }

.wrapper--medium {
  max-width: 861px; }

.wrapper--wide {
  max-width: 1069px; }

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
/**
 *  Main element.
 */
.breadcrumbs {
  color: #b07e4b;
  box-shadow: inset 0 5px 10px 0 #f8f8f8; }

.breadcrumb {
  display: inline-flex;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  margin: 5px 0 7px; }
  .breadcrumb svg {
    width: 10px;
    height: 10px;
    margin: 0 10px; }
  .breadcrumb::after {
    display: block;
    position: absolute;
    right: 0;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #b07e4b;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .breadcrumb::after {
        display: none; } }

/* ==========================================================================
   Text/image
   ========================================================================== */
/**
 *  Main element.
 */
.ce-image {
  width: 100%;
  max-width: 800px;
  margin: auto; }

/**
 *  Image wrapper.
 */
.ce-image-wrapper {
  max-width: 800px; }

/**
 *  Additional rules.
 */
.ce-textpic-element + .ce-image-wrapper {
  margin-top: -100px;
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .ce-textpic-element + .ce-image-wrapper {
      margin-top: -50px;
      margin-bottom: 50px; } }

/* ==========================================================================
   Text/image
   ========================================================================== */
/**
 *  Main element.
 */
.ce-textpic-element {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin-top: 50px;
  padding-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .ce-textpic-element {
      margin-top: 20px;
      padding-bottom: 50px; } }
  .ce-textpic-element h1,
  .ce-textpic-element h2,
  .ce-textpic-element h3,
  .ce-textpic-element h4,
  .ce-textpic-element h5 {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.6em;
    margin-bottom: 40px;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
    @media only screen and (max-width: 599px) {
      .ce-textpic-element h1,
      .ce-textpic-element h2,
      .ce-textpic-element h3,
      .ce-textpic-element h4,
      .ce-textpic-element h5 {
        font-size: 30px;
        font-size: 3rem;
        line-height: 2em; } }

/**
 *  Textpic element.
 */
.ce-textpic {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  width: 100%;
  max-width: 800px;
  margin: auto;
  background: white; }
  .ce-textpic a:not(.button-groen):not(.button-bruin) {
    color: #b07e4b; }
    .ce-textpic a:not(.button-groen):not(.button-bruin)::hover {
      text-decoration: underline; }
  .ce-textpic.ce-right.ce-intext {
    display: flex !important;
    flex-direction: row; }
    @media only screen and (min-width: 900px) {
      .ce-textpic.ce-right.ce-intext {
        display: block !important; } }
    .ce-textpic.ce-right.ce-intext .ce-row {
      display: block !important; }
      @media only screen and (max-width: 599px) {
        .ce-textpic.ce-right.ce-intext .ce-row {
          width: 100%; } }
      @media only screen and (min-width: 600px) and (max-width: 899px) {
        .ce-textpic.ce-right.ce-intext .ce-row {
          width: 50%; } }
    @media only screen and (max-width: 899px) {
      .ce-textpic.ce-right.ce-intext .ce-bodytext {
        padding-right: 20px; } }
    .ce-textpic.ce-right.ce-intext .ce-gallery.has-multiple-images[data-ce-columns='1'] {
      width: initial;
      float: right; }
      @media only screen and (max-width: 899px) {
        .ce-textpic.ce-right.ce-intext .ce-gallery.has-multiple-images[data-ce-columns='1'] {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          width: 100%; } }
      .ce-textpic.ce-right.ce-intext .ce-gallery.has-multiple-images[data-ce-columns='1'] + .ce-bodytext {
        width: initial; }
        @media only screen and (max-width: 899px) {
          .ce-textpic.ce-right.ce-intext .ce-gallery.has-multiple-images[data-ce-columns='1'] + .ce-bodytext {
            width: initial; } }
    .ce-textpic.ce-right.ce-intext .ce-column {
      width: 100%; }
      @media only screen and (max-width: 899px) {
        .ce-textpic.ce-right.ce-intext .ce-column {
          display: flex; } }
      @media only screen and (max-width: 899px) {
        .ce-textpic.ce-right.ce-intext .ce-column img {
          width: 100%; } }
    .ce-textpic.ce-right.ce-intext .ce-bodytext {
      width: initial; }
    .ce-textpic.ce-right.ce-intext .ce-column .image {
      display: inline;
      margin-bottom: 20px;
      margin-left: 20px;
      float: right; }
      @media only screen and (max-width: 899px) {
        .ce-textpic.ce-right.ce-intext .ce-column .image {
          width: calc(100% - 25px);
          margin-left: 0;
          float: none; } }
  .ce-textpic.ce-left.ce-intext {
    display: block !important; }
    .ce-textpic.ce-left.ce-intext .ce-row {
      display: block !important; }
    .ce-textpic.ce-left.ce-intext .ce-gallery {
      width: 100%; }
    .ce-textpic.ce-left.ce-intext .ce-column {
      width: 100%; }
    .ce-textpic.ce-left.ce-intext .ce-column .image {
      display: initial;
      margin-right: 20px;
      margin-bottom: 20px;
      float: left; }
    .ce-textpic.ce-left.ce-intext.ce-nowrap {
      display: flex !important;
      flex-direction: row; }
      .ce-textpic.ce-left.ce-intext.ce-nowrap .ce-gallery {
        width: 30%; }
      .ce-textpic.ce-left.ce-intext.ce-nowrap .ce-bodytext {
        width: 70%; }
  .ce-textpic.ce-center.ce-above .ce-gallery .ce-column {
    display: flex;
    justify-content: center; }
  .ce-textpic.ce-left.ce-above .ce-gallery .ce-column {
    display: flex;
    justify-content: flex-start; }
  .ce-textpic.ce-right.ce-above .ce-gallery .ce-column {
    display: flex;
    justify-content: flex-end; }
  .ce-textpic.ce-center.ce-below .ce-gallery .ce-column {
    display: flex;
    justify-content: center; }
  .ce-textpic.ce-left.ce-below .ce-gallery .ce-column {
    display: flex;
    justify-content: flex-start; }
  .ce-textpic.ce-right.ce-below .ce-gallery .ce-column {
    display: flex;
    justify-content: flex-end; }
  .ce-textpic::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
    max-height: 200px;
    background: black;
    content: ''; }

/**
 *  Editor settings.
 */
.ce-bodytext {
  margin-bottom: 20px;
  padding: 0 20px; }
  .ce-bodytext h1 {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.6em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .ce-bodytext h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.32353em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .ce-bodytext h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.45833em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .ce-bodytext ul {
    margin: 20px 0;
    padding-left: 30px;
    list-style: disc; }
  .ce-bodytext ol {
    margin: 20px 0;
    padding-left: 30px;
    list-style: decimal; }
  .ce-bodytext p {
    margin-bottom: 1em; }
  .ce-bodytext .margin-0 {
    margin-bottom: 0 !important; }

/**
 *  Row
 */
.ce-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px; }

/**
 *  Column settings.
 */
.ce-column {
  margin: 10px; }
  @media only screen and (max-width: 599px) {
    .ce-column {
      width: 100%; } }
  .ce-column .image {
    display: inline;
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
    height: 100%; }
  .ce-column .image-caption {
    width: 100%;
    margin: 0 auto;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    font-size: 13px;
    line-height: 25px;
    text-align: center; }
  .ce-column img {
    width: auto;
    max-width: 100%;
    font-family: 'object-fit: contain';
    -o-object-fit: contain;
       object-fit: contain; }

/**
 *  Gallery
 */
.ce-center .ce-gallery {
  text-align: center; }

.ce-right .ce-gallery {
  text-align: center; }
  .ce-right .ce-gallery.has-single-image .ce-column {
    width: auto !important; }

.ce-gallery {
  width: 100%;
  padding-left: 20px; }
  .ce-gallery[data-ce-columns='2'] {
    width: 100%; }
    .ce-gallery[data-ce-columns='2'] .ce-column {
      width: calc(50% - 20px); }
      @media only screen and (max-width: 599px) {
        .ce-gallery[data-ce-columns='2'] .ce-column {
          width: 100%; } }
      .ce-gallery[data-ce-columns='2'] .ce-column .image {
        align-items: flex-start; }
  .ce-gallery.has-single-image .ce-column {
    width: 100%; }

/**
 *  Additional rules.
 */
.ce-textpic + .ce-textpic-header {
  margin-top: 50px; }

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

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

.cms-output ul {
  list-style-type: disc; }

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

.cms-output p > a {
  color: black; }
  .cms-output p > a:hover {
    text-decoration: underline; }

/* ==========================================================================
   Contact
   ========================================================================== */
/**
 *  Main element.
 */
.contact {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: auto auto 150px;
  padding: 100px;
  background: #ebf0e8; }
  @media only screen and (max-width: 599px) {
    .contact {
      margin-top: 40px; } }
  @media only screen and (max-width: 1199px) {
    .contact {
      display: flex;
      flex-direction: column-reverse;
      padding: 50px; } }

.contact__wrapper {
  position: relative;
  z-index: 11; }

.contact__header {
  margin-bottom: 15px; }

.contact__content {
  width: 100%;
  max-width: 550px;
  padding-right: 50px; }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .contact__content {
      max-width: 100%; } }
  .contact__content .flex {
    margin: 40px 0; }
    @media only screen and (max-width: 899px) {
      .contact__content .flex {
        flex-wrap: wrap; } }
    .contact__content .flex p {
      margin-right: 30px; }
      @media only screen and (max-width: 899px) {
        .contact__content .flex p {
          width: 100%; } }
  .contact__content .mail svg,
  .contact__content .call svg {
    position: relative;
    top: 3px;
    width: 17px;
    height: 17px;
    margin-right: 15px; }
  .contact__content .call svg {
    margin-right: 10px;
    transform: rotate(90deg); }

.contact-image {
  position: absolute;
  top: -30px;
  right: -30px; }
  @media only screen and (max-width: 1199px) {
    .contact-image {
      position: static;
      margin-bottom: 40px; } }
  @media only screen and (min-width: 1200px) {
    .contact-image {
      height: 60%; } }
  .contact-image img {
    width: 295px;
    height: 100%;
    font-family: 'object-fit: cover';
    -o-object-fit: cover;
       object-fit: cover; }
    @media only screen and (max-width: 599px) {
      .contact-image img {
        width: 100%;
        margin-top: -80px; } }

.contact-image__title {
  margin-top: 10px; }

.contact-icon {
  position: absolute;
  right: -100px;
  bottom: -120px;
  width: 320px;
  height: 320px;
  transform: rotate(-55deg); }
  @media only screen and (max-width: 599px) {
    .contact-icon {
      right: -40px;
      bottom: -60px;
      width: 150px;
      height: 150px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .contact-icon {
      right: -60px;
      bottom: -70px;
      width: 200px;
      height: 200px; } }
  .contact-icon img {
    width: 100%;
    height: 100%; }

/* ==========================================================================
   Collection
   ========================================================================== */
/**
 *  Main element.
 */
.collection {
  position: relative;
  padding: 60px 0;
  background: #ebf0e8;
  z-index: 11; }
  @media only screen and (max-width: 599px) {
    .collection {
      padding: 50px 0; } }
  .collection .wrapper {
    flex-wrap: wrap;
    align-items: center; }
  .collection .owl-item.active:nth-child(2) {
    display: none; }
  .collection .owl-carousel .owl-nav {
    display: flex;
    position: absolute;
    right: 0;
    bottom: -85px;
    width: 90px;
    padding: 0;
    background: #c8cee6;
    color: #7686c2; }
    @media only screen and (max-width: 899px) {
      .collection .owl-carousel .owl-nav {
        right: 30px; } }
    .collection .owl-carousel .owl-nav svg {
      width: 20px;
      height: 20px;
      color: #51619f; }
    .collection .owl-carousel .owl-nav .owl-prev,
    .collection .owl-carousel .owl-nav .owl-next {
      padding: 15px 0 !important;
      transition: background-color 200ms; }
      .collection .owl-carousel .owl-nav .owl-prev:hover,
      .collection .owl-carousel .owl-nav .owl-next:hover {
        background-color: #b6bede; }
  .collection .owl-prev {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    color: #51619f;
    font-size: 20px;
    text-align: center; }
  .collection .owl-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    color: #51619f;
    font-size: 20px;
    text-align: center; }

.collection__header {
  width: 25%;
  max-width: 320px; }
  @media only screen and (max-width: 899px) {
    .collection__header {
      width: 100%;
      max-width: 550px;
      margin-bottom: 50px; } }

.collection__loop {
  flex-wrap: wrap;
  justify-content: space-between;
  width: 75%; }
  @media only screen and (max-width: 599px) {
    .collection__loop {
      width: calc(100% + 60px);
      height: 280px;
      margin-left: -30px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .collection__loop {
      width: calc(100% + 120px);
      margin-left: -60px; } }

.collection-item {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-top: 30px; }
  @media only screen and (max-width: 1199px) {
    .collection-item {
      display: block;
      margin: 0 30px; } }
  .collection-item img {
    display: block;
    max-width: 150px;
    height: 150px;
    margin: auto auto 20px;
    transition: transform 350ms ease; }
    @media only screen and (max-width: 899px) {
      .collection-item img {
        width: auto !important; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .collection-item img {
        width: 100%;
        height: 95px; } }
  @media only screen and (min-width: 1200px) {
    .collection-item:hover img {
      transform: scale(1.3); }
    .collection-item:hover .collection-item__amount {
      margin: 20px 0;
      opacity: 1; } }

.collection-item__image {
  width: 100%; }

.collection-item__amount {
  font-size: 50px;
  font-size: 5rem;
  line-height: 1em;
  margin: -70px 0 20px;
  transition: all 550ms ease;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
  opacity: 0; }
  @media only screen and (max-width: 1199px) {
    .collection-item__amount {
      width: 100%;
      margin: 20px 0;
      color: black !important;
      text-align: center;
      cursor: pointer;
      opacity: 1; } }

.collection-item__title {
  width: 100%;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  letter-spacing: 0.8px;
  text-align: center; }

/* ==========================================================================
   Collection
   ========================================================================== */
/**
 *  Main element.
 */
.collection-database {
  position: relative;
  padding: 100px 0;
  color: white; }
  .collection-database::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #4f585f;
    content: '';
    opacity: 0.8;
    z-index: -1; }

.collection-database__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 50px; }
  @media only screen and (max-width: 599px) {
    .collection-database__header .heading-1-white {
      font-size: 25px !important; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .collection-database__header .heading-1-white {
      max-width: 380px; } }

.collection-database__link {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  padding: 10px 20px;
  letter-spacing: 0.8px; }
  @media only screen and (max-width: 1199px) {
    .collection-database__link {
      margin-top: 10px; } }
  .collection-database__link.desktop {
    display: none; }
    @media only screen and (min-width: 900px) {
      .collection-database__link.desktop {
        display: flex; } }
  .collection-database__link.mobile {
    display: none; }
    @media only screen and (max-width: 599px) {
      .collection-database__link.mobile {
        display: flex;
        justify-content: center; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .collection-database__link.mobile {
        display: inline-flex; } }

.collection-database__title-icon {
  position: absolute;
  top: -100px;
  right: 30px;
  width: auto;
  height: 160px; }
  @media only screen and (max-width: 599px) {
    .collection-database__title-icon {
      top: -40px;
      height: 100px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .collection-database__title-icon {
      top: -85px;
      height: 130px; } }

.collection-database__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; }

.collection-database__wrapper {
  flex-wrap: wrap; }
  @media only screen and (max-width: 899px) {
    .collection-database__wrapper {
      width: calc(100% + 60px); } }

.collection-database-item {
  align-items: center;
  justify-content: flex-start;
  width: 50%;
  padding-right: 30px; }
  @media only screen and (max-width: 599px) {
    .collection-database-item {
      flex-wrap: wrap;
      width: 400px; } }
  @media only screen and (max-width: 899px) {
    .collection-database-item {
      width: 100%; } }

.collection-database-item__image {
  display: flex;
  position: relative;
  align-items: center;
  width: auto;
  margin-right: 75px;
  border: 3px solid white;
  z-index: 10; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .collection-database-item__image {
      margin-right: 40px; } }
  .collection-database-item__image img {
    height: 230px; }
    @media only screen and (max-width: 1199px) {
      .collection-database-item__image img {
        width: 150px;
        height: 160px; } }
  .collection-database-item__image::after {
    display: block;
    position: absolute;
    left: 50px;
    width: 100%;
    height: 1px;
    background: white;
    content: '';
    opacity: 0.6;
    z-index: -1; }
    @media only screen and (max-width: 599px) {
      .collection-database-item__image::after {
        bottom: -50%;
        left: 10px;
        width: 50px;
        height: 100%;
        border-bottom: 1px solid white;
        border-left: 1px solid white;
        background: transparent; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .collection-database-item__image::after {
        left: 35px; } }

.collection-database-item__editor {
  width: 50%; }
  @media only screen and (max-width: 599px) {
    .collection-database-item__editor {
      width: 100%;
      margin-top: 20px;
      padding-left: 75px; } }
  .collection-database-item__editor h1,
  .collection-database-item__editor h2,
  .collection-database-item__editor h3 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
    letter-spacing: 0.8px; }
  .collection-database-item__editor p {
    margin: 20px 0;
    letter-spacing: 0.6px; }
    @media only screen and (max-width: 899px) {
      .collection-database-item__editor p {
        max-width: 210px; } }
  .collection-database-item__editor .button-groen {
    display: flex;
    align-items: center;
    padding: 0;
    background: transparent;
    color: #6aad40; }
    .collection-database-item__editor .button-groen svg {
      width: 13px;
      height: 13px;
      margin-left: 10px; }

/* ==========================================================================
   Text/image
   ========================================================================== */
/**
 *  Main element.
 */
.default {
  position: relative;
  flex-wrap: wrap;
  padding: 60px 0 75px;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    .default {
      padding: 50px 0; } }
  .default.order-left .wrapper {
    flex-direction: row; }
  .default.order-right .wrapper {
    flex-direction: row-reverse; }
  .default .wrapper {
    flex-wrap: wrap;
    justify-content: space-between; }
  .default .button-bruin,
  .default .button-groen {
    color: white !important;
    text-decoration: none !important; }

.content-default {
  width: 100%;
  max-width: 800px;
  margin: auto; }
  .content-default .default__title {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.6em; }
    @media only screen and (max-width: 899px) {
      .content-default .default__title {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.33333em; } }
  .content-default .default__content img {
    width: 100%; }
  .content-default .default__content a {
    color: #b07e4b;
    text-decoration: underline; }
    .content-default .default__content a:hover {
      text-decoration: none; }

/**
 *  Main title.
 */
.default__title {
  width: 100%;
  margin-bottom: 50px; }
  .default__title h1 {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.6em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .default__title h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.32353em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .default__title h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.45833em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }

/**
 *  Content.
 */
.default__content {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.66667em;
  position: relative;
  font-weight: 400; }
  @media only screen and (max-width: 899px) {
    .default__content {
      width: 100%; } }
  .default__content h1 {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.6em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .default__content h2 {
    font-size: 35px;
    font-size: 3.5rem;
    line-height: 1.28571em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .default__content h3 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
  .default__content p {
    margin-bottom: 1em; }
    .default__content p:nth-last-child(1) {
      margin-bottom: 0; }
  .default__content a strong {
    font-size: 16px !important;
    font-weight: 500 !important; }
  .default__content::before {
    display: block;
    position: absolute;
    top: 0;
    left: -20px;
    width: 2px;
    height: 100%;
    max-height: 200px;
    background: black;
    content: ''; }
  .default__content .button-primary--brown {
    margin-top: 50px;
    margin-right: 15px;
    padding: 4px 20px; }
  .default__content .button-secondary--brown {
    padding: 4px 20px;
    color: #b07e4b !important; }
    .default__content .button-secondary--brown:hover {
      color: white !important; }
  .default__content .button-groen,
  .default__content .button-bruin {
    display: inline-flex;
    align-items: center;
    margin-top: 40px;
    padding: 4px 20px;
    letter-spacing: 0.4px; }
    @media only screen and (max-width: 599px) {
      .default__content .button-groen,
      .default__content .button-bruin {
        margin-bottom: 20px; } }
    .default__content .button-groen svg,
    .default__content .button-bruin svg {
      width: 15px;
      height: 15px;
      margin-left: 10px; }

/**
 *  Editor settings.
 */
.default__text {
  letter-spacing: 0.4px; }

.google-maps + .default {
  padding: 0 0 75px; }
  @media only screen and (max-width: 899px) {
    .google-maps + .default {
      padding: 0 0 50px; } }

/* ==========================================================================
   Footer
   ========================================================================== */
/**
 *  Main element.
 */
.footer {
  position: relative;
  border-top: 2px solid #9a956e;
  background: white; }
  @media only screen and (max-width: 599px) {
    .footer {
      padding-bottom: 70px; } }

/**
 *  Upper part.
 */
.footer-upper {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -45px;
  padding: 60px 0; }
  @media only screen and (max-width: 599px) {
    .footer-upper {
      padding: 100px 0 0; } }
  @media only screen and (max-width: 899px) {
    .footer-upper {
      margin: 0 -25px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .footer-upper {
      padding: 100px 0 40px; } }

/**
 *  Column settings.
 */
.footer-upper__column {
  width: calc(100% / 3 - 90px);
  margin: 0 45px; }
  @media only screen and (max-width: 899px) {
    .footer-upper__column {
      margin: 0 20px 40px; } }
  .footer-upper__column .editor__title {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5em;
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    font-family: "Futura Std Bold", "futura-pt-bold", "Hind"; }
    .footer-upper__column .editor__title img {
      width: 22px;
      height: 22px;
      margin-right: 15px; }
  .footer-upper__column .editor__content {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    margin-bottom: 30px;
    letter-spacing: 0.5px; }
  .footer-upper__column a:not(.button-primary--green):not(.button) {
    transition: color 250ms ease;
    color: #b07e4b;
    letter-spacing: 0.5px;
    text-decoration: underline; }
    @media only screen and (min-width: 1200px) {
      .footer-upper__column a:not(.button-primary--green):not(.button):hover {
        color: #8c643c; } }

/**
 *  First column (left).
 */
@media only screen and (max-width: 899px) {
  .first-column {
    width: 100%;
    margin: 0 20px; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .first-column {
    width: 100%;
    margin-bottom: 30px; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .first-column ul {
    display: flex;
    flex-wrap: wrap; } }

.first-column li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 10px; }
  @media only screen and (max-width: 899px) {
    .first-column li {
      width: 100%; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .first-column li {
      width: 50%; } }
  .first-column li strong {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em;
    display: block;
    position: relative;
    width: calc(30% - 3px);
    font-family: "Futura Std Bold", "futura-pt-bold", "Hind";
    font-weight: 700;
    text-align: right; }
    @media only screen and (max-width: 599px) {
      .first-column li strong {
        width: calc(35% - 3px); } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .first-column li strong {
        width: calc(20% - 3px); } }
    .first-column li strong::after {
      display: inline-flex;
      width: 20px;
      height: 5px;
      margin-left: 5px;
      transform: translateY(-2px);
      border-bottom: 1px dashed black;
      content: ''; }
  .first-column li p {
    width: calc(70% - 3px); }
    @media only screen and (max-width: 599px) {
      .first-column li p {
        width: calc(65% - 3px); } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .first-column li p {
        width: calc(80% - 3px); } }

.first-column .button {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 0;
  transition: background 250ms ease;
  background: #6aad40;
  color: white;
  text-decoration: none; }
  @media only screen and (max-width: 599px) {
    .first-column .button {
      margin-bottom: 40px; } }
  @media only screen and (max-width: 1199px) {
    .first-column .button {
      margin-top: 20px; } }
  .first-column .button svg {
    width: 23px;
    height: 23px;
    margin-left: 10px; }
  @media only screen and (min-width: 1200px) {
    .first-column .button:hover {
      background: #538832;
      color: white; } }

/**
 *  Second column (middle).
 */
@media only screen and (max-width: 599px) {
  .second-column {
    width: 100%; } }

@media only screen and (min-width: 600px) and (max-width: 899px) {
  .second-column {
    width: calc(50% - 20px); } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .second-column {
    width: calc(50% - 90px); } }

.second-column iframe {
  width: 100%;
  height: 350px;
  margin-bottom: 50px; }

/**
 * Google maps.
 */
.google-maps {
  margin-bottom: 50px; }

/**
 *  Social Media.
 */
.social-media {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .social-media .editor__title {
    width: 100%; }
  .social-media svg {
    width: 30px;
    height: 30px;
    margin-right: 20px;
    transition: color 250ms ease;
    color: black; }
    @media only screen and (min-width: 1200px) {
      .social-media svg:hover {
        color: #6aad40; } }

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

@media only screen and (min-width: 600px) and (max-width: 899px) {
  .third-column {
    width: calc(50% - 60px); } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .third-column {
    width: calc(50% - 90px); } }

/**
 *  Newsletter block.
 */
.footer-newsletter {
  position: relative;
  flex-wrap: wrap;
  padding: 50px 0;
  background: #7686c2;
  color: white; }
  @media only screen and (max-width: 899px) {
    .footer-newsletter {
      padding: 0; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .footer-newsletter {
      margin: 0 50px; } }
  .footer-newsletter .wrapper {
    flex-wrap: wrap; }
    @media only screen and (max-width: 599px) {
      .footer-newsletter .wrapper {
        padding: 30px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .footer-newsletter .wrapper {
        padding: 30px; } }
  .footer-newsletter .flex {
    flex-wrap: wrap; }
  .footer-newsletter .plants {
    position: absolute;
    right: 80px;
    bottom: -14px;
    width: 210px; }
    @media only screen and (max-width: 599px) {
      .footer-newsletter .plants {
        right: 0;
        bottom: -5px;
        width: 80px; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .footer-newsletter .plants {
        right: 30px;
        bottom: -9px;
        width: 130px; } }

/**
 *  Newsletter header.
 */
.footer-newsletter__header {
  width: 100%; }

/**
 *  Newsletter block column (left).
 */
.footer-newsletter__left {
  width: 55%; }
  @media only screen and (max-width: 1199px) {
    .footer-newsletter__left {
      width: 100%;
      margin-bottom: 35px; } }
  .footer-newsletter__left .heading-1-white {
    margin-bottom: 25px; }

/**
 *  Newsletter block column (right).
 */
.footer-newsletter__right {
  width: 40%; }
  @media only screen and (max-width: 599px) {
    .footer-newsletter__right {
      width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .footer-newsletter__right {
      width: 65%; } }
  .footer-newsletter__right h3,
  .footer-newsletter__right legend {
    display: none; }
  .footer-newsletter__right .powermail_label {
    display: none; }
  .footer-newsletter__right input[type='text'] {
    position: relative;
    width: 100%;
    height: 40px;
    margin-bottom: 10px;
    padding: 5px 10px;
    background: #51619f;
    color: white;
    z-index: 10; }
    .footer-newsletter__right input[type='text']::-webkit-input-placeholder {
      color: white; }
    .footer-newsletter__right input[type='text']::-moz-placeholder {
      color: white; }
    .footer-newsletter__right input[type='text']:-ms-input-placeholder {
      color: white; }
    .footer-newsletter__right input[type='text']::-ms-input-placeholder {
      color: white; }
    .footer-newsletter__right input[type='text']::placeholder {
      color: white; }
  .footer-newsletter__right .button-primary--green {
    padding: 0; }
  .footer-newsletter__right .powermail_submit {
    padding: 7px 0 7px 20px;
    background: transparent;
    color: white;
    cursor: pointer; }
  .footer-newsletter__right .powermail_fieldwrap_type_submit {
    position: relative; }
    .footer-newsletter__right .powermail_fieldwrap_type_submit svg {
      pointer-events: none; }
  .footer-newsletter__right .parsley-required {
    color: red; }

/**
 *  Newsletter block editor.
 */
.footer-newsletter__editor {
  margin-top: 20px;
  letter-spacing: 0.5px; }
  @media only screen and (min-width: 1200px) {
    .footer-newsletter__editor {
      padding-right: 50px; } }

/**
 *  Lower part of the footer.
 */
.footer-lower {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 0;
  letter-spacing: 0.4px; }
  .footer-lower .links {
    justify-content: flex-start; }
    @media only screen and (max-width: 1199px) {
      .footer-lower .links {
        justify-content: center;
        width: 100%;
        margin-bottom: 5px;
        font-size: 13px; } }
    .footer-lower .links a {
      display: table;
      margin-right: 10px;
      color: #b07e4b;
      text-decoration: underline; }
      .footer-lower .links a:hover {
        color: #8c643c; }
  .footer-lower .company {
    justify-content: center; }
    @media only screen and (max-width: 899px) {
      .footer-lower .company {
        width: 100%;
        font-size: 13px; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .footer-lower .company {
        justify-content: flex-start;
        width: 50%; } }
  .footer-lower .madeby {
    justify-content: flex-end; }
    @media only screen and (max-width: 899px) {
      .footer-lower .madeby {
        justify-content: center;
        width: 100%;
        font-size: 13px; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .footer-lower .madeby {
        justify-content: flex-end;
        width: 50%; } }

/**
 *  Lower part column settings.
 */
.footer-lower__item {
  display: flex;
  width: calc(100% / 3); }

.js-scroll-up {
  display: flex;
  position: fixed;
  right: -40px;
  bottom: 130px;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  transition: all 350ms ease;
  background: #c8cee6;
  cursor: pointer;
  opacity: 0;
  z-index: 999;
  pointer-events: none; }
  @media only screen and (max-width: 899px) {
    .js-scroll-up {
      display: none; } }
  .js-scroll-up svg {
    width: 20px;
    height: 20px;
    color: #7686c2; }
  .js-scroll-up.is-visible {
    right: 20px;
    opacity: 1;
    pointer-events: initial; }

/* ==========================================================================
   Form
   ========================================================================== */
/**
 *  Main element.
 */
.powermail_form_4,
.powermail_form_6,
.powermail_form_7,
.powermail_form_8 {
  width: 100%;
  max-width: 800px;
  margin: auto;
  padding: 0 20px; }
  @media only screen and (max-width: 599px) {
    .powermail_form_4,
    .powermail_form_6,
    .powermail_form_7,
    .powermail_form_8 {
      padding: 0 30px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .powermail_form_4,
    .powermail_form_6,
    .powermail_form_7,
    .powermail_form_8 {
      padding: 0 60px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .powermail_form_4,
    .powermail_form_6,
    .powermail_form_7,
    .powermail_form_8 {
      padding: 0 50px; } }
  .powermail_form_4 .left-column,
  .powermail_form_6 .left-column,
  .powermail_form_7 .left-column,
  .powermail_form_8 .left-column {
    width: 100% !important; }
    .powermail_form_4 .left-column .left-column,
    .powermail_form_6 .left-column .left-column,
    .powermail_form_7 .left-column .left-column,
    .powermail_form_8 .left-column .left-column {
      margin: 0 !important; }

.form {
  position: relative;
  padding: 75px 0; }

.form legend {
  display: none; }

.form h3 {
  margin-bottom: 80px; }

.form .flex {
  flex-wrap: wrap;
  align-items: flex-start;
  margin: -50px; }

.form .left-column,
.form .right-column {
  width: calc(50% - 100px);
  margin: 50px; }
  @media only screen and (max-width: 899px) {
    .form .left-column,
    .form .right-column {
      width: 100%;
      margin-top: 25px;
      margin-bottom: 0; } }

.form .powermail_field {
  margin-top: 15px;
  margin-bottom: 50px; }

.form .powermail_field input {
  width: 100%;
  height: 40px;
  border-bottom: 3px solid black; }

.form .powermail_field input[type='checkbox'] {
  width: auto;
  height: auto;
  -webkit-appearance: checkbox; }

.form .powermail_field input[type='radio'] {
  width: auto;
  height: auto;
  -webkit-appearance: radio; }

.form .powermail_field select {
  display: block;
  width: 100%;
  height: 40px;
  padding: 4px;
  border: 3px solid black; }

.form .powermail_field textarea {
  width: 100%;
  height: 150px;
  padding: 9px;
  border: 3px solid black; }

.form .powermail_fieldwrap_type_select {
  position: relative; }
  .form .powermail_fieldwrap_type_select svg {
    position: absolute;
    right: 9px;
    bottom: 12px;
    width: 14px;
    height: 14px;
    pointer-events: none; }

.form .powermail_submit {
  position: relative;
  justify-content: center;
  height: auto !important;
  border-bottom: 0 !important;
  background: transparent;
  color: white; }

.form .powermail_fieldwrap_verstuur {
  position: relative;
  margin-top: -15px; }
  .form .powermail_fieldwrap_verstuur svg {
    position: absolute;
    top: 17px;
    right: 40%;
    width: 14px;
    height: 14px;
    color: white; }

.parsley-required,
.parsley-custom-error-message {
  color: red; }

.parsley-error {
  border-bottom: 3px solid red !important; }

/* ==========================================================================
   Maps
   ========================================================================== */
/**
 *  Main element.
 */
.content .google-maps .list-list__location .wrapper {
  padding: 0 !important; }

.content .google-maps .list-list__location .google-maps {
  height: 500px !important;
  margin-bottom: 75px; }
  @media only screen and (max-width: 899px) {
    .content .google-maps .list-list__location .google-maps {
      height: 350px !important; } }

.footer .list-list__location .google-maps {
  height: 350px !important; }

/* ==========================================================================
   Header
   ========================================================================== */
/**
 *  Main element.
 */
.header {
  position: relative;
  top: -200px;
  padding: 30px 0;
  transition: all 850ms ease;
  background: white;
  opacity: 0; }
  @media only screen and (max-width: 1199px) {
    .header {
      padding: 25px 0; } }
  @media only screen and (max-width: 1199px) {
    .header .wrapper {
      align-items: center; } }
  .header.is-loaded {
    top: 0;
    opacity: 1;
    z-index: 20; }
  .header .content-default,
  .header .default,
  .header .default__content {
    position: static;
    max-width: 100%;
    margin: 0;
    padding: 0; }
    .header .content-default::before, .header .content-default::after,
    .header .default::before,
    .header .default::after,
    .header .default__content::before,
    .header .default__content::after {
      display: none !important; }

/**
 *  Left.
 */
.header-left {
  width: 30%; }
  @media only screen and (max-width: 599px) {
    .header-left {
      width: 65%; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .header-left {
      width: 45%; } }

/**
 *  Logo
 */
.header-logo {
  position: relative; }
  .header-logo img {
    width: auto;
    height: 84px; }
    @media only screen and (max-width: 599px) {
      .header-logo img {
        height: 55px; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .header-logo img {
        height: 65px; } }

/**
 *  Slogan.
 */
.header-logo__slogan {
  margin-top: 20px;
  color: #6aad40;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
  font-size: 20px;
  letter-spacing: 1px; }
  @media only screen and (max-width: 599px) {
    .header-logo__slogan {
      min-width: 225px;
      margin-top: 3px;
      font-size: 11.4px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .header-logo__slogan {
      width: 250px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .header-logo__slogan {
      margin-top: 15px;
      font-size: 18px; } }

/**
 *  Right part.
 */
.header-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 65%; }
  @media only screen and (max-width: 599px) {
    .header-right {
      width: 35%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .header-right {
      width: 55%; } }

/**
 *  Right part (upper).
 */
.header-right__upper {
  position: relative;
  width: 100%;
  margin-bottom: 2px;
  padding-bottom: 20px; }
  @media only screen and (max-width: 1199px) {
    .header-right__upper {
      display: flex;
      justify-content: flex-end;
      margin-bottom: 0;
      padding-bottom: 0; } }
  .header-right__upper .top-menu a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.78571em;
    margin-right: 20px;
    transition: opacity 250ms ease;
    color: black;
    letter-spacing: 0.7px;
    opacity: 0.6; }
    @media only screen and (min-width: 1200px) {
      .header-right__upper .top-menu a:hover {
        opacity: 1; } }
  .header-right__upper .top-menu svg {
    display: none; }
  .header-right__upper::after {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: black;
    content: '';
    opacity: 0.2; }
    @media only screen and (max-width: 1199px) {
      .header-right__upper::after {
        display: none; } }
  .header-right__upper .become-friend {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    display: flex;
    align-items: center;
    margin-right: 15px;
    padding: 1px 10px !important;
    letter-spacing: 0.4px; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .header-right__upper .become-friend {
        width: 100%;
        max-width: 135px;
        margin-right: 0; } }
    .header-right__upper .become-friend svg {
      width: 13px;
      height: 13px;
      margin-left: 7px; }
  .header-right__upper .tickets {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 6px !important;
    letter-spacing: 0.4px; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .header-right__upper .tickets {
        width: 100%;
        max-width: 135px;
        margin-bottom: 5px; } }
    .header-right__upper .tickets .fa-ticket-alt {
      width: 15px;
      height: 15px;
      margin-right: 7px; }
    .header-right__upper .tickets .fa-chevron-double-right {
      width: 13px;
      height: 13px;
      margin-left: 7px; }

.top-menu {
  display: flex; }
  @media only screen and (max-width: 1199px) {
    .top-menu {
      display: none !important; } }
  .top-menu .last {
    display: flex;
    align-items: center; }

/**
 *  Header links.
 */
@media only screen and (min-width: 900px) {
  .header-right__links {
    align-items: center; } }

.header-right__links .header__login {
  display: none; }

.header-right__links p {
  display: flex;
  align-items: center; }
  @media (max-width: 697px) {
    .header-right__links p {
      display: none; } }
  @media (max-width: 1199px) and (min-width: 697px) {
    .header-right__links p {
      flex-direction: column-reverse;
      flex-wrap: wrap;
      justify-content: flex-end; } }

.header-right__links.is-mobile {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  display: block;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: white;
  z-index: 99; }
  @media (min-width: 697px) {
    .header-right__links.is-mobile {
      display: none; } }
  @media (max-width: 697px) {
    .header-right__links.is-mobile p {
      display: flex !important;
      justify-content: space-between;
      padding: 13px; } }
  .header-right__links.is-mobile p:nth-child(2) {
    display: flex;
    justify-content: space-between;
    padding: 15px 10px; }
  .header-right__links.is-mobile a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(50% - 10px);
    padding: 10px 0; }
    .header-right__links.is-mobile a.tickets {
      padding: 11px 0; }
  .header-right__links.is-mobile svg {
    width: 13px !important;
    height: 13px !important;
    margin: 0 10px; }

/**
 *  Language menu
 */
.header-right__language {
  display: flex;
  position: relative;
  align-items: center;
  margin: 0 35px 0 0;
  font-size: 13px;
  cursor: pointer; }
  @media only screen and (max-width: 599px) {
    .header-right__language {
      justify-content: center;
      width: 100%;
      margin: 0 15px 0 22px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .header-right__language {
      margin: 0 30px; } }
  .header-right__language svg {
    width: 10px;
    height: 10px;
    margin-left: 7px;
    opacity: 0.6; }

/**
 *  Main menu (lower part).
 */
.header-right__lower {
  width: 100%; }
  @media only screen and (max-width: 1199px) {
    .header-right__lower {
      display: none; } }
  .header-right__lower .main-menu {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.38889em;
    display: flex;
    justify-content: space-between;
    height: 70px;
    margin-bottom: -42px; }
    .header-right__lower .main-menu a {
      display: block;
      position: relative;
      height: 100%;
      letter-spacing: 0.4px; }
      .header-right__lower .main-menu a::after {
        display: none;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 0;
        transition: height 250ms ease;
        background: black;
        content: ''; }
        @media only screen and (min-width: 1200px) {
          .header-right__lower .main-menu a::after {
            display: block; } }
      .header-right__lower .main-menu a:hover::after {
        height: 10px; }
    .header-right__lower .main-menu .no-submenu svg {
      display: none;
      opacity: 0; }
  .header-right__lower .active {
    display: block;
    position: relative;
    height: 100%;
    letter-spacing: 0.4px; }
    .header-right__lower .active::after {
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 10px;
      transition: height 250ms ease;
      background: black;
      content: ''; }
  .header-right__lower .submenu .active {
    z-index: -1; }
    .header-right__lower .submenu .active::after {
      display: table;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 5px;
      transition: height 250ms ease;
      background: black;
      content: ''; }

/**
 * Login.
 */
.header__login {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.78571em;
  padding-left: 20px;
  transition: color 200ms;
  color: #6aad40; }
  .header__login svg {
    width: 14px;
    height: 10px;
    margin-left: 5px; }
  .header__login:hover {
    color: #538832; }

/**
 * Language.
 */
.header__language-search {
  display: flex; }
  @media only screen and (max-width: 599px) {
    .header__language-search {
      flex-wrap: wrap;
      justify-content: center;
      margin-right: 20px; } }

.mobile-menu-button {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  text-align: center;
  cursor: pointer; }
  @media only screen and (min-width: 1200px) {
    .mobile-menu-button {
      display: none; } }
  .mobile-menu-button svg {
    display: block;
    width: 30px;
    height: 30px;
    margin: auto; }
  .mobile-menu-button span {
    display: block;
    width: 50px; }
  .mobile-menu-button .menu-option {
    display: none; }
    .mobile-menu-button .menu-option.is-active {
      display: block; }

.mobile-menu {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  position: absolute;
  top: -100px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 400px;
  padding-top: 75px;
  transition: all 350ms ease;
  background: white;
  text-align: center;
  opacity: 0;
  z-index: -1;
  pointer-events: none; }
  @media only screen and (min-width: 1200px) {
    .mobile-menu {
      display: none; } }
  .mobile-menu .main-menu {
    background: white; }
  .mobile-menu .menu-item {
    flex-wrap: wrap;
    justify-content: center;
    margin: 10px auto; }
    .mobile-menu .menu-item svg {
      width: 35px;
      margin-left: 10px;
      transition: all 350ms ease; }
      .mobile-menu .menu-item svg.is-active {
        transform: rotate(180deg); }
  .mobile-menu .sub {
    margin: 25px 0; }
  .mobile-menu .js-has-submenu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .mobile-menu .js-has-submenu a.is-active {
      font-family: 'Futura Std Bold'; }
      .mobile-menu .js-has-submenu a.is-active svg {
        transform: rotate(180deg); }
  .mobile-menu .submenu {
    display: none;
    position: static;
    width: 100%;
    margin: 10px 0;
    padding: 2px 0;
    background: #e8ecef;
    opacity: 1;
    z-index: 12;
    pointer-events: initial; }
    .mobile-menu .submenu a {
      padding: 0; }
      .mobile-menu .submenu a.active {
        font-family: "Futura Std Bold", "futura-pt-bold", "Hind"; }
    .mobile-menu .submenu.is-active {
      display: block; }
  .mobile-menu.is-active {
    top: 90px;
    opacity: 1;
    z-index: 17;
    pointer-events: initial; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .mobile-menu.is-active {
        top: 160px; } }

.mobile-menu .js-has-submenu.active a {
  position: relative; }
  .mobile-menu .js-has-submenu.active a::after {
    position: absolute;
    top: 23px;
    right: 0;
    left: 0;
    width: 90%;
    height: 4px;
    background: black;
    content: ''; }

.top-menu-mobile {
  height: 100%;
  padding-top: 60px;
  background: white; }
  .top-menu-mobile .wrapper {
    max-width: 600px;
    padding: 0 10px; }
  .top-menu-mobile .js-has-submenu a {
    margin-left: 0; }
  .top-menu-mobile .js-has-submenu svg {
    display: none !important; }
  @media only screen and (max-width: 1199px) {
    .top-menu-mobile .top-menu {
      display: flex !important;
      justify-content: space-around;
      width: 100%;
      margin: 5px 0 30px; } }
  .top-menu-mobile .top-menu li {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em;
    display: flex;
    position: relative;
    justify-content: center;
    letter-spacing: 0.3px;
    text-align: center;
    opacity: 0.6; }
    .top-menu-mobile .top-menu li::after {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 1px;
      height: 100%;
      background: #4f585f;
      content: '';
      opacity: 0.6; }
    .top-menu-mobile .top-menu li.last {
      border-right: 0; }
      .top-menu-mobile .top-menu li.last::after {
        display: none; }
    .top-menu-mobile .top-menu li:nth-child(1) {
      width: 21%; }
    .top-menu-mobile .top-menu li:nth-child(2) {
      width: 12%; }
    .top-menu-mobile .top-menu li:nth-child(3) {
      width: 26%; }
    .top-menu-mobile .top-menu li:nth-child(4) {
      width: 40%; }

/* ==========================================================================
   Information
   ========================================================================== */
/**
 *  Main element.
 */
.information {
  position: relative;
  margin-bottom: 85px;
  font-weight: 400;
  z-index: 3; }
  @media only screen and (max-width: 899px) {
    .information {
      margin-bottom: 50px; } }
  .information .heading-1-black,
  .information .opening-hours__content h2 {
    position: relative;
    padding-bottom: 10px;
    padding-bottom: 10px; }
    @media only screen and (max-width: 599px) {
      .information .heading-1-black,
      .information .opening-hours__content h2 {
        display: flex;
        align-items: center;
        cursor: pointer; } }
    .information .heading-1-black::after,
    .information .opening-hours__content h2::after {
      display: none;
      position: absolute;
      right: 0;
      bottom: 0;
      left: -30px;
      width: calc(100% + 60px);
      height: 2px;
      background: white;
      content: ''; }
      @media only screen and (max-width: 599px) {
        .information .heading-1-black::after,
        .information .opening-hours__content h2::after {
          display: block; } }
    .information .heading-1-black svg,
    .information .opening-hours__content h2 svg {
      display: none;
      width: 20px;
      height: 20px;
      margin-left: 10px;
      transition: transform 250ms ease;
      color: black; }
      @media only screen and (max-width: 599px) {
        .information .heading-1-black svg,
        .information .opening-hours__content h2 svg {
          display: block; } }
      .information .heading-1-black svg.is-active,
      .information .opening-hours__content h2 svg.is-active {
        transform: rotate(180deg); }

.information__icon {
  position: absolute;
  top: -30px;
  right: -40px;
  width: 300px;
  height: auto;
  transform: rotate(270deg);
  z-index: 29; }
  @media only screen and (max-width: 899px) {
    .information__icon {
      width: 150px; } }

.information__upper {
  margin-bottom: -100px;
  padding-bottom: 100px;
  background: #ebf0e8; }
  @media only screen and (max-width: 899px) {
    .information__upper {
      position: relative;
      padding-bottom: 50px;
      z-index: 20; } }

.prices {
  flex-wrap: wrap;
  padding-top: 75px; }
  @media only screen and (max-width: 599px) {
    .prices {
      margin-bottom: 40px;
      padding-top: 20px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .prices {
      padding-top: 50px; } }
  @media only screen and (max-width: 599px) {
    .prices h2 {
      font-size: 25px; } }

.information__header {
  width: 100%;
  margin-top: -15px;
  margin-bottom: 40px; }
  @media only screen and (max-width: 599px) {
    .information__header {
      margin-bottom: 0; } }

.prices__text {
  width: 50%; }
  @media only screen and (max-width: 599px) {
    .prices__text {
      width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .prices__text {
      width: 63%;
      padding-right: 30px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .prices__text {
      padding-right: 50px; } }
  @media only screen and (max-width: 599px) {
    .prices__text ul {
      display: none;
      margin-top: 40px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .prices__text ul {
      display: flex;
      flex-wrap: wrap; } }
  @media only screen and (min-width: 600px) {
    .prices__text ul {
      display: block !important; } }
  .prices__text li {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px; }
    @media only screen and (max-width: 1199px) {
      .prices__text li {
        width: 100%; } }
    .prices__text li strong {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.25em;
      display: block;
      position: relative;
      width: 140px;
      font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
      @media only screen and (max-width: 599px) {
        .prices__text li strong {
          width: calc(35% - 3px); } }
      @media only screen and (min-width: 600px) and (max-width: 899px) {
        .prices__text li strong {
          width: calc(20% - 3px); } }
      @media only screen and (min-width: 600px) and (max-width: 1199px) {
        .prices__text li strong {
          width: 90px; } }
      .prices__text li strong::after {
        display: inline-flex;
        position: absolute;
        top: 15px;
        right: 0;
        width: 65px;
        height: 5px;
        margin-left: 5px;
        transform: translateY(-2px);
        border-bottom: 1px dashed black;
        content: ''; }
        @media only screen and (max-width: 1199px) {
          .prices__text li strong::after {
            width: 15px; } }
    .prices__text li p {
      width: calc(76% - 3px);
      padding-right: 95px;
      padding-left: 5px; }
      @media only screen and (max-width: 599px) {
        .prices__text li p {
          width: calc(65% - 3px);
          padding-right: 10px; } }
      @media only screen and (min-width: 600px) and (max-width: 899px) {
        .prices__text li p {
          width: calc(60% - 3px);
          padding-right: 0; } }
      @media only screen and (min-width: 900px) and (max-width: 1199px) {
        .prices__text li p {
          padding-right: 50px; } }
  .prices__text .button-groen {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5em;
    margin-top: 10px;
    padding: 4px 20px 4px 30px; }
    @media only screen and (max-width: 599px) {
      .prices__text .button-groen {
        display: none; } }
    @media only screen and (max-width: 1199px) {
      .prices__text .button-groen {
        justify-content: center;
        width: 100%; } }
    @media only screen and (min-width: 600px) {
      .prices__text .button-groen {
        display: inline-flex !important; } }
    .prices__text .button-groen svg {
      margin-left: 10px; }

.prices__images {
  position: relative;
  width: 50%;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .prices__images {
      display: none;
      width: 100%;
      margin-top: 50px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .prices__images {
      display: flex;
      align-items: center;
      width: 37%; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .prices__images {
      padding-top: 100px; } }
  @media only screen and (min-width: 600px) {
    .prices__images {
      display: flex !important; } }

.prices__image {
  height: 100%; }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .prices__image {
      max-height: 180px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .prices__image {
      max-height: 350px; } }
  @media only screen and (min-width: 600px) {
    .prices__image {
      display: flex !important; } }
  .prices__image img {
    height: 100%; }

.information__lower {
  position: relative;
  margin-top: 100px;
  background: linear-gradient(90deg, #7686c2 50%, white 50%); }
  @media only screen and (max-width: 599px) {
    .information__lower {
      margin-top: 20px;
      z-index: 20; } }
  @media only screen and (max-width: 899px) {
    .information__lower {
      background: linear-gradient(180deg, #ebf0e8 50%, white 50%); } }
  @media only screen and (max-width: 899px) {
    .information__lower .wrapper {
      display: flex;
      flex-direction: column-reverse;
      flex-wrap: wrap; } }

.opening-hours {
  position: absolute;
  top: 0;
  left: 50%;
  width: 50%;
  max-width: 620px;
  height: 100%; }
  @media only screen and (max-width: 899px) {
    .opening-hours {
      position: static;
      width: 100%; } }
  .opening-hours h2 {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.5em;
    margin-bottom: 50px;
    color: black;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }
    @media only screen and (max-width: 599px) {
      .opening-hours h2 {
        font-size: 25px !important; } }
  .opening-hours p {
    margin-bottom: 30px;
    letter-spacing: 0.4px; }
  .opening-hours strong {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.76471em;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
    letter-spacing: 0; }

.opening-hours__content {
  position: relative;
  padding: 0 20px 50px 100px;
  background: #ebf0e8; }
  @media only screen and (max-width: 899px) {
    .opening-hours__content {
      padding: 0; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .opening-hours__content {
      padding: 0 20px 50px 40px; } }
  .opening-hours__content p {
    display: none; }
    @media only screen and (min-width: 600px) {
      .opening-hours__content p {
        display: block !important; } }
  .opening-hours__content::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 100%;
    background: #ebf0e8;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .opening-hours__content::after {
        display: none; } }

.questions {
  width: 50%;
  padding-top: 50px;
  padding-right: 50px;
  color: white; }
  @media only screen and (max-width: 599px) {
    .questions {
      width: calc(100% + 60px) !important;
      margin-top: -50px;
      margin-left: -30px; } }
  @media only screen and (max-width: 899px) {
    .questions {
      position: relative;
      width: 100%;
      padding: 30px;
      background: #7686c2;
      z-index: 21; } }
  .questions .owl-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 30px; }
  .questions.margin-top-50 {
    margin-top: 50px; }

.question-single {
  margin-top: 10px;
  margin-left: 2px;
  overflow: hidden; }

.question-single__question {
  letter-spacing: 0.8px; }

.question-single__back,
.question-single__next {
  display: inline-flex;
  align-items: center;
  color: white;
  opacity: 0.6; }
  @media only screen and (min-width: 1200px) {
    .question-single__back:hover,
    .question-single__next:hover {
      color: #7686c2;
      opacity: 1; } }
  .question-single__back svg,
  .question-single__next svg {
    width: 15px;
    height: 15px;
    margin: 0 5px; }

.question-single__amount {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  margin-top: 5px;
  margin-bottom: 30px;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
  opacity: 0.6; }
  .question-single__amount span {
    font-size: 40px;
    font-size: 4rem;
    line-height: 0.75em;
    margin-right: -6px; }

.question-single__topic {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5em;
  margin: 40px 0 20px;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind'; }

.question-single__answer {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  position: relative;
  width: 100%;
  margin-top: 50px;
  padding: 30px 30px;
  transform-style: preserve-3d;
  transition: all 1s ease;
  background: #51619f;
  letter-spacing: 0.8px;
  text-align: center; }
  @media only screen and (max-width: 899px) {
    .question-single__answer {
      padding: 40px 20px; } }
  .question-single__answer.is-revealed {
    transform: rotateY(179deg); }
    .question-single__answer.is-revealed .answer-reveal {
      display: none;
      opacity: 0; }
    .question-single__answer.is-revealed .answer {
      opacity: 1;
      pointer-events: initial; }
      .question-single__answer.is-revealed .answer img {
        margin-top: 10px; }
      .question-single__answer.is-revealed .answer a {
        text-decoration: underline; }

.answer-reveal {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: all 0.01s 0.5s ease;
  background: #51619f;
  letter-spacing: 0.8px;
  cursor: pointer; }
  .answer-reveal svg {
    width: 60px;
    height: 60px;
    opacity: 0.6; }
  .answer-reveal span {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.75em;
    width: 100%;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
    text-decoration: underline;
    opacity: 0.6; }

.answer {
  transform: rotateY(180deg);
  opacity: 0;
  pointer-events: none; }

.more-info {
  font-size: 20px;
  font-size: 2rem;
  line-height: 2em;
  display: flex;
  position: relative;
  align-items: flex-start;
  padding: 50px 30px;
  background: white; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .more-info {
      padding: 50px 90px 50px 30px; } }
  .more-info.mobile {
    display: flex;
    justify-content: center;
    padding-left: 30%; }
    @media only screen and (max-width: 599px) {
      .more-info.mobile {
        padding: 50px 30px; } }
    @media only screen and (min-width: 900px) {
      .more-info.mobile {
        display: none; } }
  .more-info.desktop {
    display: flex; }
    @media only screen and (max-width: 899px) {
      .more-info.desktop {
        display: none; } }
  .more-info::after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 100%;
    background: white;
    content: '';
    z-index: 20; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .more-info::after {
        width: calc(100% + 30px); } }
  .more-info .button-groen {
    position: relative;
    width: 220px; }
    @media only screen and (max-width: 899px) {
      .more-info .button-groen {
        margin-top: 30px; } }
    .more-info .button-groen svg {
      position: absolute;
      top: 12px;
      right: 5px; }

.more-info__img {
  position: relative; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .more-info__img {
      margin-right: 40px; } }
  .more-info__img img {
    display: block;
    position: relative;
    width: 85px;
    height: 65px;
    margin-right: 30px; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .more-info__img img {
        margin-right: 80px; } }
  .more-info__img::after {
    display: block;
    position: absolute;
    right: 0;
    bottom: 4px;
    left: -30px;
    width: 100%;
    height: 1px;
    /*border-bottom: 1px dashed $color-black-100;*/
    content: ''; }
    @media only screen and (max-width: 599px) {
      .more-info__img::after {
        left: -10px !important;
        width: 100% !important; } }
    @media only screen and (max-width: 899px) {
      .more-info__img::after {
        left: -45px;
        width: calc(100% + 15px);
        height: 150px;
        border-left: 1px dashed black; } }

.more-info__editor {
  letter-spacing: 0.8px; }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .more-info__editor {
      padding-right: 60px; } }

/* ==========================================================================
   Item List
   ========================================================================== */
.teasers--item-list {
  padding: 60px 0 75px; }
  .teasers--item-list.background-color-grey .teaser-inner {
    background-color: white; }
  @media only screen and (min-width: 600px) {
    .teasers--item-list.background-color-grey .teaser-inner__title {
      border-bottom: 1px solid #e8ecef; } }
  .teasers--item-list .teaser-inner {
    margin: 10px 0 0;
    padding: 0 0 30px;
    background: #ebf0e8;
    text-align: center; }
    @media only screen and (max-width: 599px) {
      .teasers--item-list .teaser-inner {
        padding: 0; } }
  .teasers--item-list .teaser-inner__title {
    margin: 15px 20px 0;
    padding: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid white;
    font-weight: 500; }
    @media only screen and (max-width: 599px) {
      .teasers--item-list .teaser-inner__title {
        border: 0; } }
  .teasers--item-list .teaser-inner__image img {
    width: 100%; }
  @media only screen and (min-width: 600px) {
    .teasers--item-list .teaser-inner__link {
      display: inline-flex;
      left: 0;
      margin: auto; } }
  @media only screen and (min-width: 600px) {
    .teasers--item-list .teaser-inner__link svg {
      margin: 0 0 0 10px; } }

/* ==========================================================================
   Language menu
   ========================================================================== */
.language-menu {
  position: relative; }
  .language-menu .current {
    opacity: 0.6; }

.language-menu__item {
  display: none;
  position: absolute; }
  .language-menu__item.is-active {
    display: block;
    position: relative; }
  .language-menu__item.is-not-active {
    height: 26px;
    padding: 0 5px;
    border: 1px solid black;
    background: white;
    z-index: 99; }

.language-menu__item--nl.is-not-active {
  position: absolute;
  top: 22px;
  left: 0; }

/* ==========================================================================
   Login
   ========================================================================== */
.login {
  margin: 70px 0; }
  .login .message {
    display: none; }
  .login .forgot-password {
    margin-top: 10px;
    color: #7686c2; }
  .login .message.forgot-password {
    display: inline-block;
    color: black; }
  .login input[type=submit] {
    justify-content: center;
    width: 100%; }
  .login .login__form-button {
    justify-content: center;
    width: 100%;
    font-family: "Futura Std Light";
    text-align: center;
    text-transform: lowercase; }
    .login .login__form-button svg {
      margin-right: 0; }

.login__form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: -50px; }
  @media only screen and (max-width: 1199px) {
    .login__form {
      margin: -35px; } }

.login__form-column {
  width: 50%;
  padding: 50px; }
  @media only screen and (max-width: 1199px) {
    .login__form-column {
      padding: 35px; } }
  @media only screen and (max-width: 899px) {
    .login__form-column {
      width: 100%; } }

/**
 * Title.
 */
.login__title {
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.6em;
  font-family: "Futura Std Bold", "futura-pt-bold", "Hind"; }
  @media only screen and (max-width: 899px) {
    .login__title {
      margin-bottom: 70px; } }
  @media only screen and (max-width: 599px) {
    .login__title {
      margin-bottom: 50px; } }

.login__form-item {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px; }
  .login__form-item label {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5em;
    margin-bottom: 18px;
    font-family: "Futura Std Bold", "futura-pt-bold", "Hind"; }
  .login__form-item input {
    position: relative;
    width: 100%;
    transition: border-color 200ms;
    border-bottom: 2px solid #c8cee6;
    background: none !important; }
    .login__form-item input:hover, .login__form-item input.is-filled {
      border-color: black; }
    .login__form-item input[type=password] {
      font-family: sans-serif;
      letter-spacing: 2px; }

.login__form-button {
  cursor: pointer; }

/* ==========================================================================
   Magnific Pop-up
   ========================================================================== */
.mfp-bg {
  background: white;
  opacity: 0.8; }

.mfp-close-btn-in .mfp-close {
  margin: 5px;
  font-size: 45px; }

/* ==========================================================================
   News (single).
   ========================================================================== */
/**
 *  Main element.
 */
.news-list-view {
  flex-wrap: wrap;
  margin: 0 -10px;
  padding: 0 0 75px; }
  @media only screen and (max-width: 899px) {
    .news-list-view {
      padding: 0 0 50px; } }
  .news-list-view .article {
    position: relative;
    width: calc(100% / 3 - 20px);
    margin: 10px 10px 50px;
    background: #e8ecef; }
    @media only screen and (max-width: 599px) {
      .news-list-view .article {
        width: 100%;
        margin-bottom: 50px; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .news-list-view .article {
        width: calc(100% / 2 - 20px);
        margin-bottom: 50px; } }
    .news-list-view .article img {
      width: 100% !important;
      height: 250px !important;
      margin-top: -20px;
      padding-right: 20px;
      float: none !important;
      font-family: 'object-fit: cover';
      -o-object-fit: cover;
         object-fit: cover; }
      @media only screen and (min-width: 600px) and (max-width: 899px) {
        .news-list-view .article img {
          max-height: 208px; } }
    .news-list-view .article::before {
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 20px;
      height: 100%;
      background: white;
      content: ''; }
  .news-list-view .teaser-text {
    position: relative;
    padding: 40px; }
    .news-list-view .teaser-text p {
      display: inline; }
    .news-list-view .teaser-text h3 {
      margin-bottom: 15px; }
  .news-list-view .button-groen {
    position: absolute;
    bottom: -20px;
    left: 0;
    background: #b07e4b !important; }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .news-list-view .button-groen {
        right: 20px;
        left: initial; } }
    @media only screen and (min-width: 1200px) {
      .news-list-view .button-groen:hover {
        background: #8c643c !important; } }
  .news-list-view a {
    text-transform: lowercase; }

.article__description {
  /* autoprefixer: ignore next */
  display: box;
  display: -webkit-box;
  flex-wrap: wrap;
  overflow: hidden;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  word-wrap: break-word; }

.news .article .news-img-wrap {
  position: relative;
  width: 100%;
  margin: 0;
  float: none;
  background: transparent; }
  .news .article .news-img-wrap a {
    padding: 0;
    float: none;
    border: 0;
    background: transparent; }

.is-news .default {
  margin: 0; }
  .is-news .default .wrapper {
    padding: 0; }

.page-navigation {
  width: 100%; }

.news-latest {
  position: relative;
  padding: 50px 0;
  z-index: 10; }
  .news-latest .heading-1-black {
    margin-bottom: 50px; }
  .news-latest .news .wrapper {
    position: relative;
    padding: 0; }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .news-latest .article {
      width: 100%; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .news-latest .article:nth-child(2) {
      display: none; } }

.news-latest__readmore {
  position: absolute;
  top: -97px;
  right: 0; }

.news-latest__img {
  position: absolute;
  top: -100px;
  left: 25%;
  width: 275px;
  height: auto;
  transform: scaleX(-1); }
  @media only screen and (max-width: 599px) {
    .news-latest__img {
      top: -50px;
      width: 125px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .news-latest__img {
      width: 200px; } }

.is-news .news-latest__img {
  display: none; }

/* ==========================================================================
   News (single).
   ========================================================================== */
/**
 *  Main element.
 */
@media only screen and (max-width: 599px) {
  .news-single .page-header {
    margin-bottom: 60px; } }

@media only screen and (min-width: 600px) and (max-width: 899px) {
  .news-single .heading-1-white {
    margin-bottom: 120px !important; } }

.news-single .heading-1-black {
  font-size: 50px !important;
  line-height: 70px !important; }

.news-header {
  display: none; }

.news-single-header {
  overflow: hidden; }
  .news-single-header img {
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover;
       object-fit: cover; }

.page-header__title {
  margin-top: -150px; }
  @media only screen and (max-width: 599px) {
    .page-header__title {
      margin-top: -90px;
      padding-bottom: 60px; } }

.news-wrapper {
  font-weight: 300; }
  .news-wrapper .teaser-text {
    display: none; }

.news .article .news-img-wrap img {
  width: 100%;
  height: 500px;
  font-family: 'object-fit: cover';
  -o-object-fit: cover;
     object-fit: cover; }
  @media only screen and (max-width: 599px) {
    .news .article .news-img-wrap img {
      height: 150px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .news .article .news-img-wrap img {
      height: 250px; } }

@media only screen and (min-width: 600px) and (max-width: 899px) {
  .is-news-single .news-img-wrap {
    width: 100% !important; } }

.is-news-single .news-img-wrap:not(:nth-child(1)) {
  padding: 0; }
  .is-news-single .news-img-wrap:not(:nth-child(1)) img {
    margin-top: 30px; }

@media only screen and (max-width: 899px) {
  .is-news-single .news-img-wrap + .page-header__title {
    position: relative; } }

.is-news-single .news-wrapper {
  padding: 0 40px; }
  .is-news-single .news-wrapper::before {
    display: none; }

.is-news-single .news-text-wrap {
  position: relative; }
  .is-news-single .news-text-wrap::before {
    display: block;
    position: absolute;
    top: 0;
    left: -20px;
    width: 2px;
    height: 100%;
    max-height: 200px;
    background: black;
    content: ''; }

/* ==========================================================================
   Notification
   ========================================================================== */
.notification-popup {
  display: none;
  position: relative;
  width: auto;
  max-width: 835px;
  margin: 80px auto;
  padding: 100px;
  background: white;
  box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5); }
  @media only screen and (max-width: 899px) {
    .notification-popup {
      margin: 80px 50px;
      padding: 50px 20px; } }
  .notification-popup.is-active {
    display: block; }
  .notification-popup::before {
    position: absolute;
    top: -52px;
    left: -50px;
    width: 154px;
    height: 120px;
    background: url("../Images/geleedpotigen.svg");
    content: ''; }
  .notification-popup::after {
    position: absolute;
    right: -50px;
    bottom: -49px;
    width: 142px;
    height: 114px;
    background: url("../Images/schimmels.svg");
    content: ''; }

.notification-popup__title {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.33333em;
  margin-bottom: 30px;
  color: black;
  font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
  font-weight: 700;
  letter-spacing: 0.83px;
  text-align: center; }

.notification-popup__content {
  max-width: 600px;
  margin: 0 auto 70px;
  text-align: center; }
  .notification-popup__content h1,
  .notification-popup__content h2,
  .notification-popup__content h3,
  .notification-popup__content h4 {
    color: black;
    font-family: 'Futura Std Bold', 'futura-pt-bold' , 'Hind';
    font-weight: 700;
    letter-spacing: 0.56px; }
  .notification-popup__content h3 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em; }
  .notification-popup__content p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    font-family: 'Futura Std Book';
    font-size: 300;
    letter-spacing: 0.24px; }

.notification-popup__subtitle {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  margin-bottom: 40px;
  font-family: 'Futura Std Book';
  font-weight: 300;
  letter-spacing: 0.56px; }

/* ==========================================================================
   Notification Bullet.
   ========================================================================== */
.notification-bullet {
  align-items: center;
  margin-top: 30px; }

.notification-bullet__image {
  display: flex;
  align-content: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-right: 20px;
  padding: 10px;
  border-radius: 50%;
  background-color: #ebf0e8; }

.notification-bullet__text {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  width: calc(100% - 70px);
  font-family: 'Futura Std Book';
  font-size: 300;
  letter-spacing: 0.24px; }
  .notification-bullet__text a {
    color: #b07e4b;
    text-decoration: underline; }
    .notification-bullet__text a:hover {
      text-decoration: none; }

/* ==========================================================================
   Header (page)
   ========================================================================== */
/**
 *  Main element.
 */
.page-header {
  position: relative;
  width: 100%;
  height: 500px;
  -webkit-animation: slideDown 1750ms ease;
          animation: slideDown 1750ms ease; }
  @media only screen and (max-width: 599px) {
    .page-header {
      height: 150px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .page-header {
      height: 250px; } }
  @media only screen and (min-width: 900px) {
    .page-header.news-single-header {
      height: 430px; } }

.page-header__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .page-header__image img {
    width: 100%;
    height: 100%; }

.page-header__title {
  display: flex;
  position: absolute;
  bottom: 0;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 30px;
  z-index: 3; }
  .page-header__title .heading-1-white {
    font-size: 50px;
    font-size: 5rem;
    line-height: 1.6em;
    margin-bottom: 80px;
    letter-spacing: 0.8px;
    text-shadow: 0 0 20px black; }
    @media only screen and (max-width: 599px) {
      .page-header__title .heading-1-white {
        font-size: 30px;
        font-size: 3rem;
        line-height: 2.66667em;
        margin-bottom: 0 !important; } }
    @media only screen and (max-width: 899px) {
      .page-header__title .heading-1-white {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.33333em;
        margin-bottom: 40px; } }

/* ==========================================================================
   News (single).
   ========================================================================== */
/**
 *  Main element.
 */
.page-navigation {
  display: flex;
  position: relative;
  justify-content: center;
  padding-top: 50px; }
  .page-navigation li {
    padding: 0 5px; }
    .page-navigation li:hover {
      font-weight: 700; }
  .page-navigation .current {
    background: #c8cee6 !important;
    font-weight: 700; }
  .page-navigation svg {
    width: 15px;
    height: 15px;
    margin: 8px 5px 0; }

.page-navigation__parapraph {
  display: none; }

.f3-widget-paginator {
  display: flex; }

/* ==========================================================================
   Search
   ========================================================================== */
.nav__search {
  display: flex;
  align-items: center; }
  @media only screen and (max-width: 599px) {
    .nav__search {
      margin-top: -14px; } }

.search-form__expand {
  display: flex;
  position: relative;
  align-items: center;
  height: 20px;
  padding: 0 0 1px 12px;
  border-left: 1px solid black;
  cursor: pointer; }
  @media only screen and (max-width: 599px) {
    .search-form__expand {
      height: 24px;
      margin-top: 20px; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .search-form__expand {
      margin-right: 20px;
      margin-left: 12px; } }
  .search-form__expand svg {
    width: 13px;
    height: 13px; }
    @media only screen and (max-width: 599px) {
      .search-form__expand svg {
        margin-bottom: 2px; } }

.search-form__input {
  position: absolute;
  top: -70px;
  right: 0;
  left: 0;
  width: 100%;
  height: 45px;
  transition: all 350ms ease;
  border-bottom: 1px solid black;
  background: white;
  opacity: 0;
  z-index: 1;
  pointer-events: none; }
  @media only screen and (max-width: 1199px) {
    .search-form__input {
      position: fixed;
      right: 0;
      left: 0;
      width: 100%;
      height: 55px; } }
  .search-form__input input {
    position: absolute;
    top: 22px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 97%; }
    @media only screen and (max-width: 1199px) {
      .search-form__input input {
        top: 0;
        padding: 0 20px; } }
  .search-form__input.is-active {
    top: -15px;
    opacity: 1;
    z-index: 13;
    pointer-events: initial; }
    @media only screen and (max-width: 599px) {
      .search-form__input.is-active {
        top: 135px;
        padding: 0 20px; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .search-form__input.is-active {
        top: 130px;
        padding: 0 20px; } }

.search-form__submit {
  position: absolute;
  right: 0; }

.search-form__close {
  position: absolute;
  top: 25px;
  right: 0;
  cursor: pointer;
  z-index: 11; }
  @media only screen and (max-width: 1199px) {
    .search-form__close {
      top: 15px;
      right: 20px; } }
  .search-form__close svg {
    width: 18px;
    height: 18px;
    color: black; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .search-form__close svg {
        width: 14px;
        height: 14px; } }

/* ==========================================================================
   Search
   ========================================================================== */
.content-default {
  width: 100%;
  height: 100%; }

.tx-indexedsearch-searchbox,
.tx-indexedsearch-rules,
.tx-indexedsearch-info,
.tx-indexedsearch-icon,
.tx-indexedsearch-percent,
.tx-indexedsearch-description,
.tx-indexedsearch-browsebox {
  display: none; }

.tx-indexedsearch-info-sword {
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.6em;
  width: 100%;
  margin-bottom: 50px;
  padding-top: 40px;
  font-family: 'Futura Std Bold'; }
  @media only screen and (max-width: 899px) {
    .tx-indexedsearch-info-sword {
      font-size: 35px;
      font-size: 3.5rem;
      line-height: 1.28571em; } }

.search-result__wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
  padding-bottom: 70px; }

.tx-indexedsearch-res {
  position: relative;
  width: calc(25% - 20px);
  margin: 10px 10px 25px;
  padding: 20px 30px;
  background: #e8ecef; }
  @media only screen and (max-width: 599px) {
    .tx-indexedsearch-res {
      width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .tx-indexedsearch-res {
      width: calc(100% / 2 - 20px); } }
  .tx-indexedsearch-res .button-primary--green {
    font-size: 19px;
    font-size: 1.9rem;
    line-height: 1.31579em;
    display: flex;
    position: absolute;
    right: 10px;
    bottom: -15px;
    align-items: center;
    padding: 6px 20px; }
    .tx-indexedsearch-res .button-primary--green svg {
      width: 15px;
      height: 15px;
      margin-left: 10px; }

.tx-indexedsearch-title {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5em;
  font-family: 'Futura Std Bold'; }

/* ==========================================================================
   Slideshow
   ========================================================================== */
/**
 *  Main element.
 */
.slideshow {
  position: relative;
  overflow: hidden;
  z-index: 3; }

/**
 *  Slide container.
 */
@media only screen and (max-width: 899px) {
  .slideshow__slides {
    flex-wrap: wrap; } }

/**
 *  Slide.
 */
.slideshow .slide {
  position: relative;
  width: calc(100% / 3);
  height: auto;
  letter-spacing: 0.8px;
  text-align: center;
  -webkit-animation: slideDown 1750ms ease;
          animation: slideDown 1750ms ease; }
  @media only screen and (max-width: 899px) {
    .slideshow .slide {
      display: flex;
      flex-wrap: wrap;
      width: 100%;
      text-align: left; } }
  .slideshow .slide:nth-child(1) .slide-behind {
    background: #fff2e5;
    -webkit-animation-delay: 1000ms;
            animation-delay: 1000ms; }
  .slideshow .slide:nth-child(2) .slide-behind {
    background: #e8ecef;
    -webkit-animation-delay: 1500ms;
            animation-delay: 1500ms; }
  .slideshow .slide:nth-child(3) .slide-behind {
    background: #c8cee6;
    -webkit-animation-delay: 3000ms;
            animation-delay: 3000ms; }
  .slideshow .slide::after {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    transition: opacity 500ms ease;
    background: linear-gradient(transparent, black);
    content: '';
    z-index: 10; }
    @media only screen and (max-width: 1199px) {
      .slideshow .slide::after {
        display: none; } }
  @media only screen and (min-width: 1200px) {
    .slideshow .slide:hover .slide__image {
      transform: translateY(-480px); }
    .slideshow .slide:hover::after,
    .slideshow .slide:hover .slide__title {
      opacity: 0; }
    .slideshow .slide:hover .slide-behind {
      bottom: 0;
      opacity: 1;
      z-index: 20; } }

/**
 *  Slide title.
 */
.slide__title {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.33333em;
  position: absolute;
  right: 0;
  bottom: 35px;
  left: 0;
  width: 100%;
  max-width: 350px;
  margin: auto;
  transition: opacity 500ms ease;
  text-align: center;
  z-index: 11; }
  @media only screen and (max-width: 1199px) {
    .slide__title {
      display: none; } }

/**
 *  Slide image.
 */
.slide__image {
  position: relative; }
  @media only screen and (max-width: 899px) {
    .slide__image {
      width: 50%; } }
  @media only screen and (min-width: 1200px) {
    .slide__image {
      height: 100%;
      transition: transform 500ms ease; } }
  .slide__image img {
    position: relative;
    width: 100%;
    height: 100%;
    font-family: 'object-fit: cover';
    z-index: 10;
    -o-object-fit: cover;
       object-fit: cover; }
    @media only screen and (max-width: 899px) {
      .slide__image img {
        height: 150px; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .slide__image img {
        height: 250px; } }

/**
 *  Content to be revealed.
 */
.slide-behind {
  display: flex;
  position: absolute;
  right: 0;
  bottom: -100%;
  left: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 480px;
  min-height: 480px;
  padding: 0 30px;
  transition: bottom 350ms ease, opacity 350ms ease;
  z-index: -1; }
  @media only screen and (max-width: 899px) {
    .slide-behind {
      display: flex;
      position: relative;
      bottom: 0;
      justify-content: flex-start;
      width: 50%;
      padding: 30px 5px 30px 20px;
      z-index: 20; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .slide-behind {
      position: static;
      padding: 30px; } }
  @media only screen and (max-width: 1199px) {
    .slide-behind {
      height: auto;
      min-height: 0; } }
  .slide-behind a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 15px 30px; }
    @media only screen and (max-width: 599px) {
      .slide-behind a {
        padding: 0px 30px; } }
  @media only screen and (max-width: 1199px) {
    .slide-behind button:hover {
      background: transparent !important; }
      .slide-behind button:hover svg {
        color: black !important; } }

/**
 *  Title of the content behind.
 */
.slide-behind__title {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.33333em;
  max-width: 350px;
  margin-bottom: -55px; }
  @media only screen and (max-width: 599px) {
    .slide-behind__title {
      font-size: 17px !important;
      margin-bottom: 0px; } }
  @media only screen and (max-width: 899px) {
    .slide-behind__title {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.5em;
      max-width: 100%;
      padding-right: 50px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .slide-behind__title {
      margin-bottom: 40px; } }

/**
 *  Editor settings of the content behind.
 */
.slide-behind__editor {
  width: 100%;
  margin-bottom: -35px;
  letter-spacing: 0.8px; }
  @media only screen and (max-width: 1199px) {
    .slide-behind__editor {
      display: none; } }

/**
 *  Link of the content behind.
 */
.slide__link {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  display: flex;
  align-items: center;
  padding: 8px 30px;
  background: transparent;
  text-transform: lowercase; }
  @media only screen and (max-width: 599px) {
    .slide__link {
      position: absolute;
      top: 65px;
      right: 5px;
      width: 25px;
      height: 25px; } }
  @media only screen and (max-width: 899px) {
    .slide__link {
      justify-content: space-between;
      border: 0;
      color: black; } }
  @media only screen and (max-width: 899px) {
    .slide__link span {
      display: none; } }
  .slide__link svg {
    width: 15px;
    height: 15px;
    margin-left: 10px; }
    @media only screen and (max-width: 899px) {
      .slide__link svg {
        position: absolute;
        top: 65px;
        right: 5px;
        width: 25px;
        height: 25px; } }
    @media only screen and (max-width: 599px) {
      .slide__link svg {
        top: 0;
        right: 0; } }
    .slide__link svg:hover {
      background: transparent;
      color: black; }

/* ==========================================================================
   Slideshow
   ========================================================================== */
/**
 *  Main element.
 */
.slider {
  padding-top: 0 !important; }
  .slider .wrapper {
    flex-wrap: wrap;
    align-items: center; }
    @media only screen and (max-width: 899px) {
      .slider .wrapper {
        flex-direction: column-reverse; } }
  .slider .button-transparant {
    margin-top: 10px;
    margin-bottom: 30px; }
  @media only screen and (min-width: 900px) {
    .slider .text-image__image {
      padding-right: 0;
      padding-left: 30px; } }
  @media only screen and (min-width: 900px) {
    .slider .text-image__image__background {
      left: 0; } }
  @media only screen and (min-width: 900px) {
    .slider .text-image__image-title {
      text-align: left; } }

/* ==========================================================================
   Submenu
   ========================================================================== */
/**
 *  Submenu.
 */
.js-has-submenu {
  display: flex;
  position: relative;
  align-items: center; }
  .js-has-submenu > a {
    margin-left: 30px; }
  .js-has-submenu svg {
    position: relative;
    left: -10px;
    width: 35px;
    height: 13px;
    margin-top: 9px;
    margin-left: 5px;
    z-index: 10; }
  @media only screen and (min-width: 1200px) {
    .js-has-submenu:hover .submenu {
      top: 50px;
      opacity: 1;
      z-index: 10;
      pointer-events: initial; } }

.submenu {
  position: absolute;
  top: 20px;
  left: 0;
  padding: 30px;
  transition: all 350ms ease;
  background: white;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  z-index: -1;
  pointer-events: none; }
  .submenu .menu-item {
    display: inline-block;
    width: 100%;
    float: left;
    width: 100%; }
  .submenu a {
    display: table !important;
    position: relative;
    margin: auto;
    padding: 15px 0 5px; }
    .submenu a::after {
      display: block;
      position: absolute;
      right: 0;
      bottom: 0 !important;
      left: 0;
      width: 100%;
      height: 0 !important;
      transition: height 250ms ease;
      background: black;
      content: ''; }
    .submenu a:hover::after {
      height: 5px !important; }

/* ==========================================================================
   Team member
   ========================================================================== */
/**
 *  Main element.
 */
.team-members {
  position: relative;
  padding: 75px 0; }
  @media only screen and (max-width: 899px) {
    .team-members {
      padding: 50px 0; } }

.team-member__loop {
  flex-wrap: wrap;
  margin: -10px; }

.team-member {
  position: relative;
  width: calc(100% / 3 - 20px);
  margin: 10px;
  padding: 20px 0 20px 20px;
  z-index: 10; }
  @media only screen and (max-width: 899px) {
    .team-member {
      width: 100%; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .team-member {
      width: calc(100% / 2 - 20px); } }
  .team-member::after {
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    left: 0;
    background: #e8ecef;
    content: '';
    z-index: -1; }

.team-member__image {
  background: #ebf0e8; }
  .team-member__image img {
    width: 100%;
    height: 250px; }

.team-member__title {
  padding: 40px 30px; }

.team-member__function {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  margin-right: 40px;
  padding: 20px 0; }

.team-member__editor {
  margin-right: 40px;
  padding: 20px 40px 20px 0;
  border-top: 3px solid white; }
  .team-member__editor ul {
    padding: 20px;
    list-style: square; }
  .team-member__editor li {
    margin-bottom: 10px; }

.default + .team-members {
  padding: 0 0 75px; }
  @media only screen and (max-width: 899px) {
    .default + .team-members {
      padding: 0 0 50px; } }

/* ==========================================================================
   Teasers
   ========================================================================== */
/**
 *  Main element.
 */
.teasers {
  position: relative;
  padding-bottom: 75px; }
  @media only screen and (max-width: 899px) {
    .teasers {
      padding-bottom: 50px; } }
  .teasers.image-portrait .teaser-inner__image img {
    height: 425px; }

/**
 *  Main title.
 */
.teasers__header {
  margin-bottom: 15px; }

/**
 *  Loop.
 */
.teasers__loop {
  flex-wrap: wrap;
  margin: 0 -10px; }

/**
 *  Single teaser.
 */
.teaser {
  width: calc(25% - 20px);
  margin: 30px 10px; }
  @media only screen and (max-width: 599px) {
    .teaser {
      width: 100%;
      margin: 0 10px 15px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .teaser {
      width: calc(100% / 2 - 20px); } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .teaser {
      width: calc(100% / 3 - 20px); } }

/**
 *  Single inner.
 */
.teaser-inner {
  position: relative;
  height: 100%;
  margin: 10px 0;
  padding-bottom: 10px;
  background: #ebf0e8; }
  @media only screen and (max-width: 599px) {
    .teaser-inner {
      display: flex;
      align-items: center;
      margin: 5px 0;
      padding-right: 100px;
      padding-bottom: 0; } }

/**
 *  Teaser title.
 */
.teaser-inner__title {
  padding: 20px 20px 0; }
  @media only screen and (max-width: 599px) {
    .teaser-inner__title {
      padding: 15px; } }

/**
 *  Teaser image.
 */
@media only screen and (max-width: 599px) {
  .teaser-inner__image {
    display: none; } }

.teaser-inner__image img {
  width: calc(100% - 20px);
  height: 170px;
  margin-top: -20px;
  -o-object-fit: cover;
     object-fit: cover; }

/**
 *  Link.
 */
.teaser-inner__link {
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.19048em;
  display: table;
  position: absolute;
  right: 0;
  bottom: -20px;
  width: 135px;
  margin-right: 20px;
  margin-left: auto;
  padding: 8px 18px;
  text-transform: lowercase; }
  @media only screen and (max-width: 599px) {
    .teaser-inner__link {
      display: flex;
      position: absolute;
      top: 20px;
      right: 20px;
      width: 30px;
      height: 30px;
      margin-right: 0;
      padding: 0; } }
  @media only screen and (max-width: 599px) {
    .teaser-inner__link span {
      display: none; } }
  .teaser-inner__link svg {
    position: relative;
    top: 2px; }
    @media only screen and (max-width: 599px) {
      .teaser-inner__link svg {
        top: 0;
        width: 25px;
        margin: 0 5px; } }

.background-color-grey + .teasers,
.background-color-green + .teasers,
.page-header + .teasers {
  padding-top: 75px; }
  @media only screen and (max-width: 599px) {
    .background-color-grey + .teasers,
    .background-color-green + .teasers,
    .page-header + .teasers {
      padding-top: 40px; } }

.information + .teasers {
  margin-top: -20px; }

/* ==========================================================================
   Text/image
   ========================================================================== */
/**
 *  Main element.
 */
.text-image,
.text-teasers {
  position: relative;
  flex-wrap: wrap;
  padding: 70px 0;
  font-weight: 700;
  z-index: 10; }
  @media only screen and (max-width: 899px) {
    .text-image,
    .text-teasers {
      padding: 50px 0; } }
  .text-image .owl-stage,
  .text-teasers .owl-stage {
    align-items: center;
    padding-top: 10px; }
  .text-image .owl-dots,
  .text-teasers .owl-dots {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center; }
    @media only screen and (max-width: 899px) {
      .text-image .owl-dots,
      .text-teasers .owl-dots {
        bottom: 30px; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-image .owl-dots,
      .text-teasers .owl-dots {
        position: absolute;
        bottom: calc(28% - 10px); } }
  .text-image .owl-dot,
  .text-teasers .owl-dot {
    width: 10px;
    height: 10px;
    margin: 0 2px;
    transition: all 250ms ease;
    border-radius: 100%;
    background: white !important;
    box-shadow: 0 0 10px black;
    opacity: 0.7; }
    .text-image .owl-dot.active,
    .text-teasers .owl-dot.active {
      width: 13px;
      height: 13px;
      opacity: 1; }
  .text-image .wrapper,
  .text-teasers .wrapper {
    align-items: center; }
  .text-image.order-right .heading-1-black,
  .text-teasers.order-right .heading-1-black {
    margin-left: calc(50% + 45px); }
    @media only screen and (max-width: 899px) {
      .text-image.order-right .heading-1-black,
      .text-teasers.order-right .heading-1-black {
        margin-left: 0; } }

/**
 *  Content.
 */
.text-image__content,
.text-teasers__content {
  width: calc(50% - 45px); }
  @media only screen and (max-width: 899px) {
    .text-image__content,
    .text-teasers__content {
      width: 100%; } }
  .text-image__content a,
  .text-teasers__content a {
    color: #b07e4b;
    text-decoration: underline; }
    .text-image__content a:hover,
    .text-teasers__content a:hover {
      color: #8c643c; }
  .text-image__content .button-bruin,
  .text-teasers__content .button-bruin {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em;
    padding: 6px 20px;
    color: white;
    text-decoration: none; }
    .text-image__content .button-bruin:hover,
    .text-teasers__content .button-bruin:hover {
      color: white; }
  .text-image__content .default__text strong,
  .text-teasers__content .default__text strong {
    display: initial;
    margin-bottom: 0; }
  .text-image__content .button-transparant,
  .text-teasers__content .button-transparant {
    margin-top: 30px;
    text-decoration: none; }
    .text-image__content .button-transparant:hover,
    .text-teasers__content .button-transparant:hover {
      background: #b07e4b;
      color: white; }
  .text-image__content .button-groen,
  .text-teasers__content .button-groen {
    color: white;
    text-decoration: none; }
    @media only screen and (min-width: 1200px) {
      .text-image__content .button-groen:hover,
      .text-teasers__content .button-groen:hover {
        color: white; } }

/**
 *  Images container.
 */
.text-image__images {
  position: relative;
  width: calc(50% - 45px); }
  @media only screen and (max-width: 899px) {
    .text-image__images {
      width: 100%;
      margin-top: 30px; } }

/**
 *  Image title.
 */
.text-image__image-title {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  min-height: 28px;
  margin-top: -4px;
  margin-bottom: 4px;
  padding-top: 8px;
  padding-left: 35px;
  color: #51619f;
  font-weight: 300;
  letter-spacing: 0.8px;
  text-align: right;
  z-index: 11; }

/**
 *  Single image container.
 */
.text-image__image {
  position: relative;
  padding-right: 30px;
  overflow: hidden;
  z-index: 10; }

/**
 *  Image.
 */
.text-image__image-src {
  position: relative;
  width: 100%;
  max-width: 600px;
  z-index: 10; }
  @media only screen and (max-width: 599px) {
    .text-image__image-src {
      max-width: 100%; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .text-image__image-src {
      max-width: 100%; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__image-src {
      max-width: 450px; } }

/**
 *  Image background.
 */
.text-image__image-background {
  position: absolute;
  top: -10px;
  left: 30px;
  width: calc(100% - 30px);
  height: 90%;
  background: #7686c2;
  opacity: 0.4;
  z-index: 0; }
  @media only screen and (max-width: 599px) {
    .text-image__image-background {
      height: 250px;
      opacity: 0.6; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__image-background {
      left: 25px;
      max-width: 100%;
      max-height: 300px; } }

.background-color-white + .text-image.background-color-white {
  padding: 0 0 75px; }
  @media only screen and (max-width: 899px) {
    .background-color-white + .text-image.background-color-white {
      padding: 0 0 50px; } }

/* ==========================================================================
   Text teasers
   ========================================================================== */
.text-teasers {
  background: #e8ecef; }
  @media only screen and (max-width: 599px) {
    .text-teasers {
      padding: 100px 0 75px; } }
  .text-teasers::after {
    display: inline-block;
    position: absolute;
    bottom: -100px;
    left: 20%;
    width: 275px;
    height: 202px;
    transform: scaleX(-1);
    background: url("/fileadmin/user_upload/WEEKDIEREN.svg");
    background-size: cover;
    content: '';
    pointer-events: none; }
    @media only screen and (max-width: 1199px) {
      .text-teasers::after {
        left: 200px; } }
    @media only screen and (max-width: 899px) {
      .text-teasers::after {
        bottom: -50px;
        left: 40px;
        width: 193px;
        height: 142px; } }
  .text-teasers + div {
    padding-top: 200px; }
    @media only screen and (max-width: 899px) {
      .text-teasers + div {
        padding-top: 100px; } }

/**
 *  Loop.
 */
.text-teasers__teasers {
  flex-wrap: wrap;
  align-items: flex-start;
  width: calc(50% - 10px); }
  @media only screen and (max-width: 599px) {
    .text-teasers__teasers {
      display: none; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .text-teasers__teasers {
      justify-content: space-between;
      width: 100%;
      margin-top: 80px; } }

/**
 *  Main title.
 */
@media only screen and (max-width: 599px) {
  .text-teasers__title {
    margin: 10px 0 20px; } }

/**
 *  Single teaser.
 */
.text-teaser {
  width: calc(50% - 10px);
  max-width: 250px;
  margin: 0 20px 20px; }
  @media only screen and (max-width: 899px) {
    .text-teaser {
      margin: auto 0 70px; } }

/**
 *  Inner.
 */
.text-teaser-inner {
  text-align: center; }
  .text-teaser-inner img {
    display: block;
    width: 60px;
    height: 60px;
    margin: auto auto 10px; }

/**
 *  Content.
 */
.text-teasers__content {
  letter-spacing: 0.4px; }
  @media only screen and (max-width: 599px) {
    .text-teasers__content {
      padding-left: 0; } }
  @media only screen and (max-width: 599px) {
    .text-teasers__content p:not(.has-link) {
      display: none; } }
  .text-teasers__content .button-groen {
    color: white;
    text-decoration: none; }
    @media only screen and (max-width: 599px) {
      .text-teasers__content .button-groen {
        display: flex;
        justify-content: center; } }
    .text-teasers__content .button-groen:hover {
      color: white !important; }
  @media only screen and (max-width: 599px) {
    .text-teasers__content::before {
      display: none; } }

.text-teaser-inner__title {
  font-weight: 300; }

/**
 *  Additional rules.
 */
.background-color-white + .text-teasers.background-color-white {
  padding-top: 0; }

/* ==========================================================================
   Tripe Column
   ========================================================================== */
/**
 *  Main element.
 */
.triple-column {
  padding: 100px 0;
  background: #e8ecef; }
  @media only screen and (max-width: 899px) {
    .triple-column {
      padding: 50px 0; } }
  .triple-column .wrapper {
    flex-wrap: wrap;
    justify-content: space-between; }
  .triple-column + .wrapper > .google-maps {
    margin-top: 100px; }

.triple-column__item {
  flex-wrap: wrap; }
  @media only screen and (max-width: 899px) {
    .triple-column__item {
      width: 100%;
      margin-bottom: 50px; }
      .triple-column__item:nth-last-child(1) {
        margin-bottom: 0; } }

.triple-column__header {
  display: flex;
  align-items: center;
  margin-bottom: 10px; }
  .triple-column__header img {
    width: 20px;
    height: 20px;
    margin-right: 15px; }
  .triple-column__header .editor__title {
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 1.42857em;
    font-weight: bold; }

.triple-column__editor a {
  transition: color 250ms ease;
  color: #b07e4b;
  text-decoration: underline; }
  .triple-column__editor a:hover {
    color: #8c643c; }

.triple-column__editor a.button-groen {
  transition: background 250ms ease;
  color: white;
  text-decoration: none; }

.triple-column__editor a.button-bruin {
  transition: background 250ms ease;
  color: white;
  text-decoration: none; }

/* ==========================================================================
   Intranet
   ========================================================================== */
.intranet {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  padding-top: 100px;
  /**
   * Header.
   */
  /**
   * Header logo.
   */
  /**
   * Header collapse.
   */
  /**
   * Content.
   */
  /**
   * News: Single.
   */ }
  .intranet .header {
    position: absolute;
    width: 290px;
    height: 100%;
    background-color: #ebf0e8; }
    .intranet .header.is-collapsed {
      width: 50px; }
      @media only screen and (min-width: 600px) {
        .intranet .header.is-collapsed {
          width: 94px; } }
      .intranet .header.is-collapsed + .content {
        width: calc(100% - 50px);
        margin-left: 50px; }
        @media only screen and (min-width: 600px) {
          .intranet .header.is-collapsed + .content {
            width: calc(100% - 94px);
            margin-left: 94px; } }
      .intranet .header.is-collapsed .intranet-menu__logout::before, .intranet .header.is-collapsed .intranet-menu__logout::after {
        right: 20px;
        left: 20px;
        width: calc(100% - 40px); }
        @media only screen and (max-width: 599px) {
          .intranet .header.is-collapsed .intranet-menu__logout::before, .intranet .header.is-collapsed .intranet-menu__logout::after {
            right: 10px;
            left: 10px;
            width: calc(100% - 20px); } }
      .intranet .header.is-collapsed .logout-button__text,
      .intranet .header.is-collapsed .intranet-menu .top-menu li > a {
        transition: 100ms 1ms;
        font-size: 0; }
        .intranet .header.is-collapsed .logout-button__text::before, .intranet .header.is-collapsed .logout-button__text::after,
        .intranet .header.is-collapsed .intranet-menu .top-menu li > a::before,
        .intranet .header.is-collapsed .intranet-menu .top-menu li > a::after {
          right: 20px;
          left: 20px;
          width: calc(100% - 40px); }
          @media only screen and (max-width: 599px) {
            .intranet .header.is-collapsed .logout-button__text::before, .intranet .header.is-collapsed .logout-button__text::after,
            .intranet .header.is-collapsed .intranet-menu .top-menu li > a::before,
            .intranet .header.is-collapsed .intranet-menu .top-menu li > a::after {
              right: 10px;
              left: 10px;
              width: calc(100% - 20px); } }
      .intranet .header.is-collapsed .header-logo {
        height: 54px;
        padding: 0 20px;
        transition: height 100ms 1ms; }
        @media only screen and (max-width: 599px) {
          .intranet .header.is-collapsed .header-logo {
            padding: 0; } }
        .intranet .header.is-collapsed .header-logo img {
          width: 260px;
          height: auto; }
          @media only screen and (max-width: 599px) {
            .intranet .header.is-collapsed .header-logo img {
              width: 240px; } }
      .intranet .header.is-collapsed .header-logo__slogan {
        transition: 100ms 1ms;
        font-size: 0; }
  .intranet .header-logo {
    margin-bottom: 100px;
    padding: 0 30px;
    transition: height 100ms 850ms;
    overflow: hidden; }
    .intranet .header-logo img {
      width: 230px;
      max-width: none; }
  .intranet .header-logo__slogan {
    margin-top: 5px;
    transition: 100ms 850ms;
    font-size: 17px; }
  .intranet .header__collapse {
    display: flex;
    position: absolute;
    top: 300px;
    left: 290px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 30px;
    transition: left 850ms;
    background-color: #ebf0e8;
    cursor: pointer;
    z-index: 1; }
    .intranet .header__collapse svg {
      width: 10px;
      height: 17px;
      transform: scaleX(-1);
      transition: transform 400ms; }
    .intranet .header__collapse.is-active {
      left: 50px; }
      @media only screen and (min-width: 600px) {
        .intranet .header__collapse.is-active {
          left: 94px; } }
      .intranet .header__collapse.is-active svg {
        transform: scaleX(1); }
  .intranet .content {
    width: calc(100% - 290px);
    margin-left: 290px;
    transition: margin-left 850ms ease;
    background-color: white;
    z-index: 99; }
  .intranet .content-default {
    height: auto; }
    @media only screen and (min-width: 1200px) {
      .intranet .content-default {
        margin-left: 125px; } }
    .intranet .content-default + .news .news-list__teaser {
      display: none; }
  .intranet .default:nth-child(2) {
    padding-top: 0; }
  @media only screen and (max-width: 599px) {
    .intranet .default__title h1,
    .intranet .default__title h2 {
      font-size: 30px;
      font-size: 3rem;
      line-height: 1.2em; } }
  .intranet .news {
    max-width: 800px;
    margin-top: 0;
    margin-right: auto;
    margin-left: auto; }
    @media only screen and (min-width: 1200px) {
      .intranet .news {
        margin-left: 125px; } }
  @media (max-width: 730px) {
    .intranet .news-head {
      flex-wrap: wrap; } }
  .intranet .news-list__teaser {
    display: inline-block;
    position: relative;
    width: 100%;
    margin-bottom: 50px;
    padding-left: 15px; }
    .intranet .news-list__teaser::before {
      display: inline-block;
      position: absolute;
      top: 10px;
      left: 0;
      width: 2px;
      height: calc(100% - 20px);
      max-height: 200px;
      background-color: black;
      content: ''; }
  .intranet .news-list-view .article {
    width: calc(100% / 2 - 20px); }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .intranet .news-list-view .article {
        display: flex;
        align-items: center; } }
    @media only screen and (max-width: 1199px) {
      .intranet .news-list-view .article {
        width: calc(100% / 1 - 20px); } }
  .intranet .news-list-view .article:nth-last-child(1) {
    margin: 10px 10px 50px !important; }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .intranet .news-list-view .news-img-wrap,
    .intranet .news-list-view .teaser-text {
      width: 50%; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .intranet .news-list-view .teaser-text {
      padding: 40px 0; } }
  .intranet .news-list-view .news-title {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5em;
    margin-bottom: 20px;
    font-family: "Futura Std Bold", "futura-pt-bold", "Hind";
    font-weight: 700; }
    @media only screen and (max-width: 1199px) {
      .intranet .news-list-view .news-title {
        margin-bottom: 0; } }
  .intranet .news-list-view .date,
  .intranet .news-list-view .teaser-text p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    font-family: "Futura Std Book", "futura-pt-bold", "Hind";
    font-weight: 400; }
    @media only screen and (max-width: 1199px) {
      .intranet .news-list-view .date,
      .intranet .news-list-view .teaser-text p {
        display: none; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .intranet .news-list-view .button-groen {
      right: 20px;
      left: auto; } }
  .intranet .news-single .button-tertiary--brown svg {
    margin-left: 0; }
  .intranet .news-single .page-header__title {
    position: relative;
    justify-content: flex-start;
    margin: 50px 0;
    padding: 0px; }
    @media only screen and (max-width: 599px) {
      .intranet .news-single .page-header__title {
        margin: 50px 0 0; } }
  .intranet .news-single .article:last-child {
    margin-bottom: 50px;
    padding-bottom: 50px; }
  .intranet .news-single .news-single__teaser {
    margin-bottom: 50px; }
  .intranet .news-single .news-img-wrap {
    margin-bottom: 50px; }

/**
 * Menu.
 */
.intranet-menu__logout {
  display: inline-block;
  position: relative;
  width: 100%;
  padding: 20px 30px;
  transition: color 200ms;
  color: #7686c2;
  font-family: "Futura Std Bold", "futura-pt-bold", "Hind";
  font-size: 16px;
  text-transform: lowercase; }
  @media only screen and (max-width: 599px) {
    .intranet-menu__logout {
      padding: 20px 10px; } }
  .intranet-menu__logout::before, .intranet-menu__logout::after {
    display: inline-block;
    position: absolute;
    right: 30px;
    left: 30px;
    width: calc(100% - 60px);
    height: 1px;
    transition: background-color 200ms;
    background-color: #c5c1d6;
    content: ''; }
  .intranet-menu__logout::before {
    top: 0; }
  .intranet-menu__logout::after {
    bottom: 0; }
  .intranet-menu__logout svg {
    width: 21px;
    height: 21px;
    margin-right: 10px; }
  .intranet-menu__logout .logout-button__text {
    display: flex;
    align-items: center;
    transition: all 100ms 850ms, color 200ms; }
  .intranet-menu__logout:hover {
    color: #51619f; }
    .intranet-menu__logout:hover::before, .intranet-menu__logout:hover::after {
      background-color: #51619f; }

.intranet-menu .top-menu {
  display: block !important; }

.intranet-menu .top-menu li > a {
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  padding: 20px 30px;
  transition: all 100ms 850ms, color 200ms;
  font-family: "Futura Std Book", "futura-pt-bold", "Hind";
  font-size: 16px;
  text-transform: lowercase; }
  @media only screen and (max-width: 599px) {
    .intranet-menu .top-menu li > a {
      padding: 20px 10px; } }
  .intranet-menu .top-menu li > a::after {
    display: inline-block;
    position: absolute;
    right: 30px;
    bottom: 0;
    left: 30px;
    width: calc(100% - 60px);
    height: 1px;
    transition: background-color 200ms;
    background-color: #c5c1d6;
    content: ''; }
  .intranet-menu .top-menu li > a svg {
    width: 24px;
    height: 21px;
    margin-right: 10px; }
  .intranet-menu .top-menu li > a:hover {
    color: #51619f; }

.intranet-menu .top-menu li.active > a {
  background-color: #dadfd5; }

/* ==========================================================================
   Color
   ========================================================================== */
/**
 * Color utility classes.
 */
/**
       * `color` black-100 color utility.
       */
.color-black-100 {
  color: black; }

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

/**
       * `color` rgba(0, 0, 0, 0.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` white-100 color utility.
       */
.color-white-100 {
  color: white; }

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

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

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

/**
       * `color` #6aad40-200 color utility.
       */
.color-green-200 {
  color: #6aad40; }

/**
       * `background-color` #6aad40-200 color utility.
       */
.background-color-green-200 {
  background-color: #6aad40; }

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

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

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

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

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

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

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

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

/**
       * `color` #b07e4b-100 color utility.
       */
.color-brown-100 {
  color: #b07e4b; }

/**
       * `background-color` #b07e4b-100 color utility.
       */
.background-color-brown-100 {
  background-color: #b07e4b; }

/**
       * `color` #9a956e-200 color utility.
       */
.color-brown-200 {
  color: #9a956e; }

/**
       * `background-color` #9a956e-200 color utility.
       */
.background-color-brown-200 {
  background-color: #9a956e; }

/**
       * `color` #c8cee6-100 color utility.
       */
.color-purple-100 {
  color: #c8cee6; }

/**
       * `background-color` #c8cee6-100 color utility.
       */
.background-color-purple-100 {
  background-color: #c8cee6; }

/**
       * `color` #7686c2-200 color utility.
       */
.color-purple-200 {
  color: #7686c2; }

/**
       * `background-color` #7686c2-200 color utility.
       */
.background-color-purple-200 {
  background-color: #7686c2; }

/**
       * `color` #51619f-300 color utility.
       */
.color-purple-300 {
  color: #51619f; }

/**
       * `background-color` #51619f-300 color utility.
       */
.background-color-purple-300 {
  background-color: #51619f; }

/**
       * `color` #a21984-400 color utility.
       */
.color-purple-400 {
  color: #a21984; }

/**
       * `background-color` #a21984-400 color utility.
       */
.background-color-purple-400 {
  background-color: #a21984; }

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

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

/**
       * `color` #ee3214-300 color utility.
       */
.color-orange-300 {
  color: #ee3214; }

/**
       * `background-color` #ee3214-300 color utility.
       */
.background-color-orange-300 {
  background-color: #ee3214; }

/**
       * `color` #df8c19-400 color utility.
       */
.color-orange-400 {
  color: #df8c19; }

/**
       * `background-color` #df8c19-400 color utility.
       */
.background-color-orange-400 {
  background-color: #df8c19; }

/**
       * `color` #0067ac-300 color utility.
       */
.color-blue-300 {
  color: #0067ac; }

/**
       * `background-color` #0067ac-300 color utility.
       */
.background-color-blue-300 {
  background-color: #0067ac; }

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

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

/**
       * `color` red-300 color utility.
       */
.color-red-300 {
  color: red; }

/**
       * `background-color` red-300 color utility.
       */
.background-color-red-300 {
  background-color: red; }

/* ==========================================================================
   Object Fit
   ========================================================================== */
/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 */
/**
   * `object-fit` fill utility class.
   */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  -o-object-fit: fill;
     object-fit: fill; }

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

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

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

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

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

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: -webkit-sticky;
  position: sticky; }

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Futura Std Light"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Futura Std Light"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Futura Std Light"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Futura Std Light"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Futura Std Light"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1.2em; }

.text-xs-h2 {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.33333em; }

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

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

.text-xs-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

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

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

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.2em; }
  .text-sm-h2 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em; }
  .text-sm-h3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em; }
  .text-sm-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-sm-h5 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-sm-h6 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-sm-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.66667em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.2em; }
  .text-md-h2 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em; }
  .text-md-h3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em; }
  .text-md-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-md-h5 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-md-h6 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-md-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.66667em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.2em; }
  .text-lg-h2 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em; }
  .text-lg-h3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em; }
  .text-lg-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-lg-h5 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-lg-h6 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-lg-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.66667em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.2em; }
  .text-xl-h2 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em; }
  .text-xl-h3 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.21429em; }
  .text-xl-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em; }
  .text-xl-h5 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6em; }
  .text-xl-h6 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.77778em; }
  .text-xl-p {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.66667em; } }

/**
 * 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; }

/* ==========================================================================
   Z-index
   ========================================================================== */
/**
 * 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsIi4uL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3RpbWVwaWNrZXIvanF1ZXJ5LnRpbWVwaWNrZXIuY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ25pZmljLXBvcHVwL3NyYy9jc3MvbWFpbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ25pZmljLXBvcHVwL3NyYy9jc3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsInRvb2xzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwidG9vbHMvX2V4dGVuZHMuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsInRvb2xzL19mdW5jdGlvbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19hbmltYXRpb25zLnNjc3MiLCJvYmplY3RzL19idXR0b25zLnNjc3MiLCJvYmplY3RzL19jb250YWluZXIuc2NzcyIsInNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzIiwib2JqZWN0cy9fY29udGVudC1jb25zdHJhaW50LnNjc3MiLCJvYmplY3RzL19mbGV4LnNjc3MiLCJvYmplY3RzL19oZWFkaW5nLnNjc3MiLCJvYmplY3RzL19zZWN0aW9uLnNjc3MiLCJvYmplY3RzL193cmFwcGVyLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fY2UtaW1hZ2VzLnNjc3MiLCJjb21wb25lbnRzL19jZS10ZXh0cGljLnNjc3MiLCJjb21wb25lbnRzL19jbXMtb3V0cHV0LnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LnNjc3MiLCJjb21wb25lbnRzL19jb2xsZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19jb2xsZWN0aW9uLWRhdGFiYXNlLnNjc3MiLCJjb21wb25lbnRzL19kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2dvb2dsZS1tYXBzLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2luZm9ybWF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19pdGVtLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2xhbmd1YWdlLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLnNjc3MiLCJjb21wb25lbnRzL19tZnAuc2NzcyIsImNvbXBvbmVudHMvX25ld3MtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvX25vdGlmaWNhdGlvbi1wb3B1cC5zY3NzIiwiY29tcG9uZW50cy9fbm90aWZpY2F0aW9uLWJ1bGxldC5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVzaG93LnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX3N1Ym1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3RlYW0tbWVtYmVyLnNjc3MiLCJjb21wb25lbnRzL190ZWFzZXJzLnNjc3MiLCJjb21wb25lbnRzL190ZXh0LWltYWdlLnNjc3MiLCJjb21wb25lbnRzL190ZXh0LXRlYXNlcnMuc2NzcyIsImNvbXBvbmVudHMvX3RyaXBsZS1jb2x1bW4uc2NzcyIsImNvbXBvbmVudHMvX2ludHJhbmV0LnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIiwic2V0dGluZ3MvX3otaW5kZXguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUNFLCtCQUErQjtFQUMvQix3Q0FBd0MsRUFBQTs7QUFHMUM7RUFDRSw4QkFBOEI7RUFDOUIsdUNBQXVDLEVBQUE7O0FBR3pDO0VBQ0UsOEJBQThCO0VBQzlCLHVDQUF1QyxFQUFBOztBQ2dFekM7RUFDRSxpQkF0RStCLEVBQUE7O0FBeUVqQztFQUNFLG1CQXZFK0IsRUFBQTs7QUNkakMsMkVBQUE7QUFFQTsrRUNrQitFO0FEZi9FOzs7RUNtQkU7QURkRjtFQUNFLGlCQUFpQjtFQUFFLE1BQUE7RUFDbkIsOEJBQThCO0VBQUUsTUFBQSxFQUFPOztBQUd6QzsrRUNpQitFO0FEZC9FOztFQ2lCRTtBRGJGO0VBQ0UsU0FBUyxFQUFBOztBQUdYOztFQ2VFO0FEWEY7RUFDRSxjQUFjLEVBQUE7O0FBR2hCOzs7RUNjRTtBRFRGO0VBQ0UsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQUdsQjsrRUNVK0U7QURQL0U7OztFQ1dFO0FETkY7RUFDRSx1QkFBdUI7RUFBRSxNQUFBO0VBQ3pCLFNBQVM7RUFBRSxNQUFBO0VBQ1gsaUJBQWlCO0VBQUUsTUFBQSxFQUFPOztBQUc1Qjs7O0VDWUU7QURQRjtFQUNFLGlDQUFpQztFQUFFLE1BQUE7RUFDbkMsY0FB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QUE7RUFTeEI7O1VwQis5RUU7RW9CMzlFRjtJQUNFLHNCUmpENEIsRUFBQTtFUTRCaEM7O1FwQm8vRUU7RW9CaC9FRjtJQUNFLGNBQWM7SUFDZCxnQlJsQzhCO0lRbUM5QixlQUF3QixFQUFBO0VBU3hCOztVcEIyK0VFO0VvQnYrRUY7SUFDRSxzQlJqRDRCLEVBQUE7RVE0QmhDOztRcEJnZ0ZFO0VvQjUvRUY7SUFDRSxjQUFjO0lBQ2QsVVJsQzhCO0lRbUM5QixlQUF3QixFQUFBO0VBU3hCOztVcEJ1L0VFO0VvQm4vRUY7SUFDRSxnQlJqRDRCLEVBQUE7RVE0QmhDOztRcEI0Z0ZFO0VvQnhnRkY7SUFDRSxjQUFjO0lBQ2QsZ0JSbEM4QjtJUW1DOUIsZUFBd0IsRUFBQTtFQVN4Qjs7VXBCbWdGRTtFb0IvL0VGO0lBQ0Usc0JSakQ0QixFQUFBO0VRNEJoQzs7UXBCd2hGRTtFb0JwaEZGO0lBQ0UsY0FBYztJQUNkLGdCUmxDOEI7SVFtQzlCLGVBQXdCLEVBQUE7RUFTeEI7O1VwQitnRkU7RW9CM2dGRjtJQUNFLHNCUmpENEIsRUFBQTtFUTRCaEM7O1FwQm9pRkU7RW9CaGlGRjtJQUNFLGNBQWM7SUFDZCxVUmxDOEI7SVFtQzlCLGVBQXdCLEVBQUE7RUFTeEI7O1VwQjJoRkU7RW9CdmhGRjtJQUNFLGdCUmpENEIsRUFBQTtFUTRCaEM7O1FwQmdqRkU7RW9CNWlGRjtJQUNFLGNBQWM7SUFDZCxnQlJsQzhCO0lRbUM5QixlQUF3QixFQUFBO0VBU3hCOztVcEJ1aUZFO0VvQm5pRkY7SUFDRSxzQlJqRDRCLEVBQUE7RVE0QmhDOztRcEI0akZFO0VvQnhqRkY7SUFDRSxjQUFjO0lBQ2QsZ0JSbEM4QjtJUW1DOUIsZUFBd0IsRUFBQTtFQVN4Qjs7VXBCbWpGRTtFb0IvaUZGO0lBQ0Usc0JSakQ0QixFQUFBO0VRNEJoQzs7UXBCd2tGRTtFb0Jwa0ZGO0lBQ0UsY0FBYztJQUNkLFdSbEM4QjtJUW1DOUIsZUFBd0IsRUFBQTtFQXVCMUI7O1FwQmlqRkU7RW9CN2lGRjtJQUNFLG9CQVBtQixFQUFBO0VBRXJCOztRcEJz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RGF0Qjs7UTFEa3RPRTtBMEQ5c09GO0VBQ0UsWTVEZnlCLEVBQUE7O0E0RFUzQjs7UTFEd3RPRTtBMERwdE9GO0VBQ0UsdUI1RGZ5QixFQUFBOztBNERVM0I7O1ExRDh0T0U7QTBEMXRPRjtFQUNFLGM1RFp5QixFQUFBOztBNERPM0I7O1ExRG91T0U7QTBEaHVPRjtFQUNFLHlCNURaeUIsRUFBQTs7QTRETzNCOztRMUQwdU9FO0EwRHR1T0Y7RUFDRSxjNURYd0IsRUFBQTs7QTRETTFCOztRMURndk9FO0EwRDV1T0Y7RUFDRSx5QjVEWHdCLEVBQUE7O0E0RE0xQjs7UTFEc3ZPRTtBMERsdk9GO0VBQ0UsYzVEVnNCLEVBQUE7O0E0REt4Qjs7UTFENHZPRTtBMER4dk9GO0VBQ0UseUI1RFZzQixFQUFBOztBNERLeEI7O1ExRGt3T0U7QTBEOXZPRjtFQUNFLGM1RFB5QixFQUFBOztBNERFM0I7O1ExRHd3T0U7QTBEcHdPRjtFQUNFLHlCNURQeUIsRUFBQTs7QTRERTNCOztRMUQ4d09FO0EwRDF3T0Y7RUFDRSxjNUROeUIsRUFBQTs7QTREQzNCOztRMURveE9FO0EwRGh4T0Y7RUFDRSx5QjVETnlCLEVBQUE7O0E0REMzQjs7UTFEMHhPRTtBMER0eE9GO0VBQ0UsYzVETHNCLEVBQUE7O0E0REF4Qjs7UTFEZ3lPRTtBMEQ1eE9GO0VBQ0UseUI1RExzQixFQUFBOztBNERBeEI7O1ExRHN5T0U7QTBEbHlPRjtFQUNFLGM1REZ3QixFQUFBOztBNERIMUI7O1ExRDR5T0U7QTBEeHlPRjtFQUNFLHlCNURGd0IsRUFBQTs7QTRESDFCOztRMURrek9FO0EwRDl5T0Y7RUFDRSxjNUREeUIsRUFBQTs7QTRESjNCOztRMUR3ek9FO0EwRHB6T0Y7RUFDRSx5QjVERHlCLEVBQUE7O0E0REozQjs7UTFEOHpPRTtBMEQxek9GO0VBQ0UsYzVERXlCLEVBQUE7O0E0RFAzQjs7UTFEbzBPRTtBMERoME9GO0VBQ0UseUI1REV5QixFQUFBOztBNERQM0I7O1ExRDAwT0U7QTBEdDBPRjtFQUNFLGM1REd5QixFQUFBOztBNERSM0I7O1ExRGcxT0U7QTBENTBPRjtFQUNFLHlCNURHeUIsRUFBQTs7QTREUjNCOztRMURzMU9FO0EwRGwxT0Y7RUFDRSxjNURJdUIsRUFBQTs7QTREVHpCOztRMUQ0MU9FO0EwRHgxT0Y7RUFDRSx5QjVESXVCLEVBQUE7O0E0RFR6Qjs7UTFEazJPRTtBMEQ5MU9GO0VBQ0UsYzVES3dCLEVBQUE7O0E0RFYxQjs7UTFEdzJPRTtBMERwMk9GO0VBQ0UseUI1REt3QixFQUFBOztBNERWMUI7O1ExRDgyT0U7QTBEMTJPRjtFQUNFLGM1RFF5QixFQUFBOztBNERiM0I7O1ExRG8zT0U7QTBEaDNPRjtFQUNFLHlCNURReUIsRUFBQTs7QTREYjNCOztRMUQwM09FO0EwRHQzT0Y7RUFDRSxjNURTdUIsRUFBQTs7QTREZHpCOztRMURnNE9FO0EwRDUzT0Y7RUFDRSx5QjVEU3VCLEVBQUE7O0E0RGR6Qjs7UTFEczRPRTtBMERsNE9GO0VBQ0UsYzVEVXdCLEVBQUE7O0E0RGYxQjs7UTFENDRPRTtBMER4NE9GO0VBQ0UseUI1RFV3QixFQUFBOztBNERmMUI7O1ExRGs1T0U7QTBEOTRPRjtFQUNFLGM1RGF1QixFQUFBOztBNERsQnpCOztRMUR3NU9FO0EwRHA1T0Y7RUFDRSx5QjVEYXVCLEVBQUE7O0E0RGxCekI7O1ExRDg1T0U7QTBEMTVPRjtFQUNFLGM1RGdCeUIsRUFBQTs7QTREckIzQjs7UTFEbzZPRTtBMERoNk9GO0VBQ0UseUI1RGdCeUIsRUFBQTs7QTREckIzQjs7UTFEMDZPRTtBMER0Nk9GO0VBQ0UsVTVEaUJxQixFQUFBOztBNER0QnZCOztRMURnN09FO0EwRDU2T0Y7RUFDRSxxQjVEaUJxQixFQUFBOztBNkQzQzdCOzsrRTNEMjhPK0U7QTJEdjhPL0U7Ozs7RTNENDhPRTtBMkRuOE9BOztJM0RzOE9FO0EyRGw4T0Y7RUFDRSxnQ0FBcUM7RUFBRSxNQUFBO0VBQ3ZDLG1CQUFZO0tBQVosZ0JBQVksRUFBQTs7QUFOZDs7STNEODhPRTtBMkQxOE9GO0VBQ0UsbUNBQXFDO0VBQUUsTUFBQTtFQUN2QyxzQkFBWTtLQUFaLG1CQUFZLEVBQUE7O0FBTmQ7O0kzRHM5T0U7QTJEbDlPRjtFQUNFLGlDQUFxQztFQUFFLE1BQUE7RUFDdkMsb0JBQVk7S0FBWixpQkFBWSxFQUFBOztBQU5kOztJM0Q4OU9FO0EyRDE5T0Y7RUFDRSxnQ0FBcUM7RUFBRSxNQUFBO0VBQ3ZDLG1CQUFZO0tBQVosZ0JBQVksRUFBQTs7QUFOZDs7STNEcytPRTtBMkRsK09GO0VBQ0Usc0NBQXFDO0VBQUUsTUFBQTtFQUN2Qyx5QkFBWTtLQUFaLHNCQUFZLEVBQUE7O0FDbkJoQjs7K0U1RDIvTytFO0E0RHYvTy9FOztFNUQwL09FO0E0RHIvT0E7RUFDRSxnQkFGa0IsRUFBQTs7QUFDcEI7RUFDRSxrQkFGNEIsRUFBQTs7QUFDOUI7RUFDRSxrQkFGc0MsRUFBQTs7QUFDeEM7RUFDRSxlQUY2QyxFQUFBOztBQUMvQztFQUNFLHdCQUZxRDtFQUVyRCxnQkFGcUQsRUFBQTs7QUNSekQ7OytFN0RnaFArRTtBNkQ1Z1AvRTs7RTdEK2dQRTtBNkR4Z1BJO0VBQ0UsK0JoRVN1QixFQUFBOztBY29IM0I7RWtEOUhFO0lBQ0UsK0JoRVN1QixFQUFBLEVnRVJ4Qjs7QWxENEdIO0VrRDlHRTtJQUNFLCtCaEVTdUIsRUFBQSxFZ0VSeEI7O0FsRGdHSDtFa0RsR0U7SUFDRSwrQmhFU3VCLEVBQUEsRWdFUnhCOztBbEQ0Rkg7RWtEOUZFO0lBQ0UsK0JoRVN1QixFQUFBLEVnRVJ4Qjs7QUFNUDs7RTdEc2hQRTtBNkQvZ1BJO0VsRDBCRixlZHJCUTtFY3NCUixpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QWtEaEM5QztFbEQwQkYsZWRwQlE7RWNxQlIsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0FrRGhDOUM7RWxEMEJGLGVkbkJRO0Vjb0JSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBa0RoQzlDO0VsRDBCRixlZGxCUTtFY21CUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QWtEaEM5QztFbEQwQkYsZWRqQlE7RWNrQlIsZUM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QWtEaEM5QztFbEQwQkYsZWRoQlE7RWNpQlIsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0FrRGhDOUM7RWxEMEJGLGVkZk87RWNnQlAsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0FBK0VoRDtFa0QvR0U7SWxEMEJGLGVkckJRO0ljc0JSLGlCQzlCK0I7SURtQy9CLGtCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkcEJRO0ljcUJSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkbkJRO0ljb0JSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkbEJRO0ljbUJSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkakJRO0lja0JSLGVDOUIrQjtJRG1DL0Isa0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRoQlE7SWNpQlIsaUJDOUIrQjtJRG1DL0Isc0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRmTztJY2dCUCxpQkM5QitCO0lEbUMvQixzQkFBZ0QsRUFBQSxFa0Q5QjdDOztBbEQ2Rkg7RWtEL0ZFO0lsRDBCRixlZHJCUTtJY3NCUixpQkM5QitCO0lEbUMvQixrQkFBZ0QsRUFBQTtFa0RoQzlDO0lsRDBCRixlZHBCUTtJY3FCUixpQkM5QitCO0lEbUMvQixzQkFBZ0QsRUFBQTtFa0RoQzlDO0lsRDBCRixlZG5CUTtJY29CUixpQkM5QitCO0lEbUMvQixzQkFBZ0QsRUFBQTtFa0RoQzlDO0lsRDBCRixlZGxCUTtJY21CUixpQkM5QitCO0lEbUMvQixzQkFBZ0QsRUFBQTtFa0RoQzlDO0lsRDBCRixlZGpCUTtJY2tCUixlQzlCK0I7SURtQy9CLGtCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkaEJRO0ljaUJSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkZk87SWNnQlAsaUJDOUIrQjtJRG1DL0Isc0JBQWdELEVBQUEsRWtEOUI3Qzs7QWxEaUZIO0VrRG5GRTtJbEQwQkYsZWRyQlE7SWNzQlIsaUJDOUIrQjtJRG1DL0Isa0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRwQlE7SWNxQlIsaUJDOUIrQjtJRG1DL0Isc0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRuQlE7SWNvQlIsaUJDOUIrQjtJRG1DL0Isc0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRsQlE7SWNtQlIsaUJDOUIrQjtJRG1DL0Isc0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRqQlE7SWNrQlIsZUM5QitCO0lEbUMvQixrQkFBZ0QsRUFBQTtFa0RoQzlDO0lsRDBCRixlZGhCUTtJY2lCUixpQkM5QitCO0lEbUMvQixzQkFBZ0QsRUFBQTtFa0RoQzlDO0lsRDBCRixlZGZPO0ljZ0JQLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBLEVrRDlCN0M7O0FsRDZFSDtFa0QvRUU7SWxEMEJGLGVkckJRO0ljc0JSLGlCQzlCK0I7SURtQy9CLGtCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkcEJRO0ljcUJSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkbkJRO0ljb0JSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkbEJRO0ljbUJSLGlCQzlCK0I7SURtQy9CLHNCQUFnRCxFQUFBO0VrRGhDOUM7SWxEMEJGLGVkakJRO0lja0JSLGVDOUIrQjtJRG1DL0Isa0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRoQlE7SWNpQlIsaUJDOUIrQjtJRG1DL0Isc0JBQWdELEVBQUE7RWtEaEM5QztJbEQwQkYsZWRmTztJY2dCUCxpQkM5QitCO0lEbUMvQixzQkFBZ0QsRUFBQSxFa0Q5QjdDOztBQU1QOztFN0RxcVBFO0E2RDlwUEk7RUFDRSxnQkFGb0IsRUFBQTs7QUFDdEI7RUFDRSxpQkFGMkIsRUFBQTs7QUFDN0I7RUFDRSxrQkFGbUMsRUFBQTs7QWxEaUd2QztFa0RoR0U7SUFDRSxnQkFGb0IsRUFB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Q0UseUJBRmdELEVBQUE7RUFDbEQ7SUFDRSxvQkFGc0QsRUFBQTtFQUN4RDtJQUNFLDBCQUZrRSxFQUFBLEVBR25FOztBbEQ0Qkg7RWtEOUJFO0lBQ0UsMEJBRjBCLEVBQUE7RUFDNUI7SUFDRSx5QkFGcUMsRUFBQTtFQUN2QztJQUNFLHlCQUZnRCxFQUFBO0VBQ2xEO0lBQ0Usb0JBRnNELEVBQUE7RUFDeEQ7SUFDRSwwQkFGa0UsRUFBQSxFQUduRTs7QUM3RVA7OytFOURxNlArRTtBOEQ5NVA3RTtFQUNFLGtCQUFlLEVBQUE7O0FBRGpCO0VBQ0Usa0JBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUNSbkI7OytFL0R5OFArRTtBK0RyOFAvRTs7RS9EdzhQRTtBK0RuOFBBO0VBQ0UsVUNGSyxFQUFBOztBRENQO0VBQ0UsV0NETSxFQUFBOztBREFSO0VBQ0UsV0NBTSxFQUFBOztBRERSO0VBQ0UsV0NDTSxFQUFBOztBREZSO0VBQ0UsV0NFTSxFQUFBOztBREhSO0VBQ0UsV0NHTSxFQUFBOztBREpSO0VBQ0UsV0NJTSxFQUFBOztBRExSO0VBQ0UsV0NLTSxFQUFBOztBRE5SO0VBQ0UsV0NNTSxFQUFBOztBRFBSO0VBQ0UsV0NPTSxFQUFBOztBRFJSO0VBQ0UsWUNRTyxFQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVHlwb2dyYXBoeVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIExpZ2h0JztcclxuICBzcmM6IHVybCgnLi4vRm9udHMvRnV0dXJhU3RkLUxpZ2h0Lm90ZicpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCc7XHJcbiAgc3JjOiB1cmwoJy4uL0ZvbnRzL0Z1dHVyYVN0ZC1Cb2xkLm90ZicpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9vayc7XHJcbiAgc3JjOiB1cmwoJy4uL0ZvbnRzL0Z1dHVyYVN0ZC1Cb29rLm90ZicpO1xyXG59XHJcblxyXG4vLyBGb250IGZhbWlseSBtYXAuXHJcbiRmb250LWZhbWlseTogKFxyXG4gICdkZWZhdWx0JzogJ0Z1dHVyYSBTdGQgTGlnaHQnXHJcbik7XHJcblxyXG4kZm9udC1mYW1pbHktYm9sZDogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcblxyXG4kZm9udC1mYW1pbHktYm9vazogJ0Z1dHVyYSBTdGQgQm9vaycsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcblxyXG5cclxuLy8gRm9udCBzaXplIG1hcC5cclxuJGZvbnQtc2l6ZTogKFxyXG4gICdoMSc6IDI1cHgsXHJcbiAgJ2gyJzogMTVweCxcclxuICAnaDMnOiAxNHB4LFxyXG4gICdoNCc6IDIycHgsXHJcbiAgJ2g1JzogMjBweCxcclxuICAnaDYnOiAxOHB4LFxyXG4gICdwJzogMThweFxyXG4pO1xyXG5cclxuXHJcbi8vIExpbmUgaGVpZ2h0IG1hcC5cclxuJGxpbmUtaGVpZ2h0OiAoXHJcbiAgJ2gxJzogMzBweCxcclxuICAnaDInOiAyMHB4LFxyXG4gICdoMyc6IDE3cHgsXHJcbiAgJ2g0JzogMzJweCxcclxuICAnaDUnOiAzMnB4LFxyXG4gICdoNic6IDMycHgsXHJcbiAgJ3AnOiAzMHB4XHJcbik7XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIENvbG9yXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBDb2xvciBtYXAuXHJcbiRjb2xvcnM6IChcclxuICAnYmxhY2snOiAoXHJcbiAgICAnMTAwJzogcmdiYSgwLCAwLCAwLCAxKSxcclxuICAgICc1MCc6IHJnYmEoMCwgMCwgMCwgMC41KVxyXG4gICksXHJcbiAgJ3doaXRlJzogKFxyXG4gICAgJzEwMCc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSlcclxuICApLFxyXG4gICdncmVlbic6IChcclxuICAgICcxMDAnOiByZ2JhKDIzNSwgMjQwLCAyMzIsIDEpLFxyXG4gICAgJzIwMCc6IHJnYmEoMTA2LCAxNzMsIDY0LCAxKSxcclxuICAgICc0MDAnOiByZ2JhKDAsIDExMiwgNjAsIDEpXHJcbiAgKSxcclxuICAnZ3JleSc6IChcclxuICAgICcxMDAnOiByZ2JhKDIzNSwgMjQwLCAyMzIsIDEpLFxyXG4gICAgJzIwMCc6IHJnYmEoMjMyLCAyMzYsIDIzOSwgMSksXHJcbiAgICAnMzAwJzogcmdiYSg3OSwgODgsIDk1LCAxKSxcclxuICApLFxyXG4gICdicm93bic6IChcclxuICAgICcxMDAnOiByZ2JhKDE3NiwgMTI2LCA3NSwgMSksXHJcbiAgICAnMjAwJzogcmdiYSgxNTQsIDE0OSwgMTEwLCAxKVxyXG4gICksXHJcbiAgJ3B1cnBsZSc6IChcclxuICAgICcxMDAnOiByZ2JhKDIwMCwgMjA2LCAyMzAsIDEpLFxyXG4gICAgJzIwMCc6IHJnYmEoMTE4LCAxMzQsIDE5NCwgMSksXHJcbiAgICAnMzAwJzogcmdiYSg4MSwgOTcsIDE1OSwgMSksXHJcbiAgICAnNDAwJzogcmdiYSgxNjIsIDI1LCAxMzIsIDEpXHJcbiAgKSxcclxuICAnb3JhbmdlJzogKFxyXG4gICAgJzEwMCc6IHJnYmEoMjU1LCAyNDIsIDIyOSwgMSksXHJcbiAgICAnMzAwJzogcmdiYSgyMzgsIDUwLCAyMCwgMSksXHJcbiAgICAnNDAwJzogcmdiYSgyMjMsIDE0MCwgMjUsIDEpXHJcbiAgKSxcclxuICAnYmx1ZSc6IChcclxuICAgICczMDAnOiByZ2JhKDAsIDEwMywgMTcyLCAxKVxyXG4gICksXHJcbiAgJ3JlZCc6IChcclxuICAgICcxMDAnOiByZ2JhKDI1MiwgMjE0LCAyMDgsIDEpLFxyXG4gICAgJzMwMCc6IHJnYmEoMjU1LCAwLCAwLCAxKVxyXG4gIClcclxuKTtcclxuXHJcbi8vIENvbG9yIHNob3J0aGFuZCB2YXJpYWJsZXMuXHJcbiRjb2xvci1ibGFjay0xMDA6ICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcbiRjb2xvci1ibGFjay01MDogICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICc1MCcpO1xyXG5cclxuJGNvbG9yLXdoaXRlLTEwMDogICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICcxMDAnKTtcclxuXHJcbiRjb2xvci1ncmVlbi0xMDA6ICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMTAwJyk7XHJcbiRjb2xvci1ncmVlbi0yMDA6ICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMjAwJyk7XHJcbiRjb2xvci1ncmVlbi00MDA6ICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnNDAwJyk7XHJcblxyXG4kY29sb3ItZ3JleS0yMDA6ICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMjAwJyk7XHJcbiRjb2xvci1ncmV5LTMwMDogICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICczMDAnKTtcclxuXHJcbiRjb2xvci1icm93bi0xMDA6ICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdicm93bicpLCAnMTAwJyk7XHJcbiRjb2xvci1icm93bi0yMDA6ICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdicm93bicpLCAnMjAwJyk7XHJcblxyXG4kY29sb3ItcHVycGxlLTEwMDogIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncHVycGxlJyksICcxMDAnKTtcclxuJGNvbG9yLXB1cnBsZS0yMDA6ICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3B1cnBsZScpLCAnMjAwJyk7XHJcbiRjb2xvci1wdXJwbGUtMzAwOiAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdwdXJwbGUnKSwgJzMwMCcpO1xyXG4kY29sb3ItcHVycGxlLTQwMDogIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncHVycGxlJyksICc0MDAnKTtcclxuXHJcbiRjb2xvci1vcmFuZ2UtMTAwOiAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdvcmFuZ2UnKSwgJzEwMCcpO1xyXG4kY29sb3Itb3JhbmdlLTMwMDogIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICczMDAnKTtcclxuJGNvbG9yLW9yYW5nZS00MDA6ICBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ29yYW5nZScpLCAnNDAwJyk7XHJcblxyXG4kY29sb3ItYmx1ZS0zMDA6ICAgIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmx1ZScpLCAnMzAwJyk7XHJcblxyXG4kY29sb3ItcmVkLTEwMDogICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwMCcpO1xyXG4kY29sb3ItcmVkLTMwMDogICAgbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzMwMCcpO1xyXG5cclxuXHJcblxyXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGNsYXNzZXMuXHJcbi5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5IHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMTAwO1xyXG59XHJcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICovXHJcblxyXG5tYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gIGhlaWdodDogMDsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgTGlnaHQnO1xuICBzcmM6IHVybChcIi4uL0ZvbnRzL0Z1dHVyYVN0ZC1MaWdodC5vdGZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJztcbiAgc3JjOiB1cmwoXCIuLi9Gb250cy9GdXR1cmFTdGQtQm9sZC5vdGZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb29rJztcbiAgc3JjOiB1cmwoXCIuLi9Gb250cy9GdXR1cmFTdGQtQm9vay5vdGZcIik7IH1cblxuLmJhY2tncm91bmQtY29sb3Itd2hpdGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5IHtcbiAgYmFja2dyb3VuZDogI2ViZjBlODsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXHJcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxyXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxyXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cclxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxyXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzY1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udWktdGltZXBpY2tlci13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTUwcHg7XG4gIHdpZHRoOiA2LjVlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDUyO1xuICBtYXJnaW46IDA7IH1cblxuLnVpLXRpbWVwaWNrZXItd3JhcHBlci51aS10aW1lcGlja2VyLXdpdGgtZHVyYXRpb24ge1xuICB3aWR0aDogMTNlbTsgfVxuXG4udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbi51aS10aW1lcGlja2VyLXN0ZXAtMzAsXG4udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbi51aS10aW1lcGlja2VyLXN0ZXAtNjAge1xuICB3aWR0aDogMTFlbTsgfVxuXG4udWktdGltZXBpY2tlci1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi51aS10aW1lcGlja2VyLWR1cmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgY29sb3I6ICM4ODg7IH1cblxuLnVpLXRpbWVwaWNrZXItbGlzdDpob3ZlciAudWktdGltZXBpY2tlci1kdXJhdGlvbiB7XG4gIGNvbG9yOiAjODg4OyB9XG5cbi51aS10aW1lcGlja2VyLWxpc3QgbGkge1xuICBwYWRkaW5nOiAzcHggMCAzcHggNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiAjMDAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7IH1cblxuLnVpLXRpbWVwaWNrZXItbGlzdDpob3ZlciAudWktdGltZXBpY2tlci1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbmxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQsXG4udWktdGltZXBpY2tlci1saXN0IGxpOmhvdmVyLFxuLnVpLXRpbWVwaWNrZXItbGlzdCAudWktdGltZXBpY2tlci1zZWxlY3RlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxOTgwRUM7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbmxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQgLnVpLXRpbWVwaWNrZXItZHVyYXRpb24sXG4udWktdGltZXBpY2tlci1saXN0IGxpOmhvdmVyIC51aS10aW1lcGlja2VyLWR1cmF0aW9uIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLnVpLXRpbWVwaWNrZXItbGlzdCBsaS51aS10aW1lcGlja2VyLWRpc2FibGVkLFxuLnVpLXRpbWVwaWNrZXItbGlzdCBsaS51aS10aW1lcGlja2VyLWRpc2FibGVkOmhvdmVyLFxuLnVpLXRpbWVwaWNrZXItbGlzdCBsaS51aS10aW1lcGlja2VyLXNlbGVjdGVkLnVpLXRpbWVwaWNrZXItZGlzYWJsZWQge1xuICBjb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1kaXNhYmxlZDpob3Zlcixcbi51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1zZWxlY3RlZC51aS10aW1lcGlja2VyLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44OyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLCAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAtNTRweDsgfVxuICAubWZwLWFycm93OmhvdmVyLCAubWZwLWFycm93OmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgIHRvcDogOHB4OyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxuICAubWZwLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWFycm93LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4ubWZwLWZpZ3VyZSB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZ3JvdW5kOiAjNDQ0OyB9XG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBjb2xvcjogI0JEQkRCRDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cbiAgLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNGM0YzRjM7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqLyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlcixcbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQ7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGN1cnNvcjogZ3JhYjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHtcbiAgei1pbmRleDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgLyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqLyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcbiAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44OyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG5cbi5tZnAtcHJlbG9hZGVyIGEge1xuICBjb2xvcjogI0NDQzsgfVxuXG4ubWZwLXByZWxvYWRlciBhOmhvdmVyIHtcbiAgY29sb3I6ICNGRkY7IH1cblxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5idXR0b24ubWZwLWNsb3NlLCBidXR0b24ubWZwLWFycm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTA0NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cblxuLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC1jbG9zZTphY3RpdmUge1xuICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWZwLWFycm93OmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC01NHB4OyB9XG5cbi5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XG5cbi5tZnAtYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICB0b3A6IDhweDsgfVxuXG4ubWZwLWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gIG9wYWNpdHk6IDAuNzsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi5tZnAtYXJyb3ctbGVmdDphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzFweDsgfVxuXG4ubWZwLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4ubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgbWFyZ2luLWxlZnQ6IDM5cHg7IH1cblxuLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDkwMHB4OyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG5cbi5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbmltZy5tZnAtaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLm1mcC1maWd1cmU6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDQwcHg7XG4gIGJvdHRvbTogNDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAtMTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICM0NDQ7IH1cblxuLm1mcC1maWd1cmUgc21hbGwge1xuICBjb2xvcjogI0JEQkRCRDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cblxuLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cclxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGluZ3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZWFkaW5nLTMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5oZWFkaW5nLTMge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhc2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cbmh0bWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDYyLjUlO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjY2NjdlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBTdGQgTGlnaHRcIiwgXCJmdXR1cmEtcHRcIiwgXCJmdXR1cmEtcHQtY29uZGVuc2VkXCIsIFwiZnV0dXJhLXB0LWJvbGRcIiwgXCJIaW5kXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmFtaWx5OiAnZnV0dXJhLXB0Jywgc2Fucy1zZXJpZjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLyogMSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLyogMiAqL1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgYm9keS5pcy1hY3RpdmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUmVzZXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxyXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcclxuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cclxuICovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxyXG4gKi9cbmJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogMSAqL1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmhyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXHJcbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxucCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxyXG4gKi9cbnRhYmxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAvKiAxICovIH1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBBbmltYXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5Aa2V5ZnJhbWVzIHNsaWRlRG93biB7XG4gIDAlIHtcbiAgICB0b3A6IC0yMDBweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnV0dG9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbixcbi5idXR0b24tZ3JvZW4sXG4uc3R5bGUtZ3JlZW4ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogN3B4IDIwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZTtcbiAgYmFja2dyb3VuZDogIzZhYWQ0MDtcbiAgY29sb3I6IHdoaXRlO1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7IH1cbiAgLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbiBzdmcsXG4gIC5idXR0b24tZ3JvZW4gc3ZnLFxuICAuc3R5bGUtZ3JlZW4gc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYnV0dG9uLXByaW1hcnktLWdyZWVuOmhvdmVyLFxuICAgIC5idXR0b24tZ3JvZW46aG92ZXIsXG4gICAgLnN0eWxlLWdyZWVuOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1Mzg4MzI7IH0gfVxuICAuYnV0dG9uLXByaW1hcnktLWdyZWVuLnRpY2tldHMsXG4gIC5idXR0b24tZ3JvZW4udGlja2V0cyxcbiAgLnN0eWxlLWdyZWVuLnRpY2tldHMge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tZ3JlZW4ge1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2YWFkNDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogIzZhYWQ0MDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OyB9XG4gIC5idXR0b24tc2Vjb25kYXJ5LS1ncmVlbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzZhYWQ0MDtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmJ1dHRvbi1wcmltYXJ5LS1icm93bixcbi5zdHlsZS1icm93bixcbi5idXR0b24tYnJ1aW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IwN2U0YjtcbiAgYmFja2dyb3VuZDogI2IwN2U0YjtcbiAgY29sb3I6IHdoaXRlO1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7IH1cbiAgLmJ1dHRvbi1wcmltYXJ5LS1icm93biBzdmcsXG4gIC5zdHlsZS1icm93biBzdmcsXG4gIC5idXR0b24tYnJ1aW4gc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYnV0dG9uLXByaW1hcnktLWJyb3duOmhvdmVyLFxuICAgIC5zdHlsZS1icm93bjpob3ZlcixcbiAgICAuYnV0dG9uLWJydWluOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4YzY0M2M7IH0gfVxuXG4uYnV0dG9uLXNlY29uZGFyeS0tYnJvd24sXG4uYnV0dG9uLXRyYW5zcGFyYW50IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMDdlNGI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2IwN2U0YjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OyB9XG4gIC5idXR0b24tc2Vjb25kYXJ5LS1icm93biBzdmcsXG4gIC5idXR0b24tdHJhbnNwYXJhbnQgc3ZnIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYnV0dG9uLXNlY29uZGFyeS0tYnJvd246aG92ZXIsXG4gICAgLmJ1dHRvbi10cmFuc3BhcmFudDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjA3ZTRiO1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH0gfVxuXG4uYnV0dG9uLXNlY29uZGFyeS0td2hpdGUge1xuICBwYWRkaW5nOiAzcHggMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM3Njg2YzI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDsgfVxuICAuYnV0dG9uLXNlY29uZGFyeS0td2hpdGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiAjNzY4NmMyOyB9XG5cbi5idXR0b24tdGVydGlhcnktLWJyb3duIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICNiMDdlNGI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5idXR0b24tdGVydGlhcnktLWJyb3duIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gIC5idXR0b24tdGVydGlhcnktLWJyb3duOmhvdmVyIHtcbiAgICBjb2xvcjogIzdhNTgzNDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250YWluZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAyNHB4ICsgNDBweCk7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgQ29uc3RyYWludFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xuLmNvbnRlbnQtY29uc3RyYWludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuY29udGVudC1jb25zdHJhaW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jb250ZW50LWNvbnN0cmFpbnQge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuY29udGVudC1jb25zdHJhaW50IHtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRmxleFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEV4YW1wbGUgb2YgYSBmbGV4IGJhc2VkIGNvbHVtbiBncmlkIGxheW91dCBpbiBwcmFjdGljZTpcclxuICpcclxuICogPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogPC9kaXY+XHJcbiAqXHJcbiAqIFRoaXMgZXhhbXBsZSB3aWxsIGNyZWF0ZSBhIHJvdyB3aXRoIHR3byBjb2x1bW5zIGVhY2ggZmlsbGluZyBoYWxmIHRoZSB3aWR0aFxyXG4gKiBvZiB0aGUgcm93IG9uIGFsbCBtZWRpYSwgYnV0IHdpbGwgY29udmVydCB0byBhIGZ1bGwgd2lkdGggY29sdW1uIG9uIHRoZVxyXG4gKiBzbWFsbCBgLXNtYCBicmVha3BvaW50IGFsaWFzLCB3aGljaCBpcyBtb2JpbGUgb25seS4gUmVmZXIgdG9cclxuICogYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYCBmb3IgYWxsIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiAqL1xuLyoqXHJcbiAqIEZsZXggb2JqZWN0LlxyXG4gKlxyXG4gKiBUaXA6IFVzZSBmbGV4IG9uIGEgY29sdW1uIHRvIG1ha2UgdGhlIGJveCB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGNvbHVtbi5cclxuICovXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtMTBweDsgfVxuXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cbi5ib3gge1xuICBmbGV4OiAxOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGZsZXgtZW5kYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtZmxleC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQteHMtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC14cy1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLmZpcnN0LXhzIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLmxhc3QteHMge1xuICBvcmRlcjogMTsgfVxuXG4vKipcclxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5yZXZlcnNlLXhzIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS0xIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tNyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXNtLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS05IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXNtLTEwIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtc20tMTEge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1zbS0xMiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tc20tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXNtLWZsZXgtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1zbS1mbGV4LWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1zbS1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktc20tc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktc20tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktc20tc3BhY2UtYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXNtLXNwYWNlLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktc20tc3BhY2UtZXZlbmx5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgZmxleC1lbmRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXNtLWZsZXgtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5ibGVlZC1zbS1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5ibGVlZC1zbS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAvKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5maXJzdC1zbSB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAubGFzdC1zbSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5yZXZlcnNlLXNtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtMSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC0yIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtMyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTQge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC01IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtNiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTcge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC04IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1tZC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtOSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1tZC0xMCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LW1kLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbWQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbWQtMTIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLW1kLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1tZC1mbGV4LXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbWQtZmxleC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbWQtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LW1kLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LW1kLXNwYWNlLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1tZC1zcGFjZS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LW1kLXNwYWNlLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGZsZXgtZW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1tZC1mbGV4LWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAvKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYmxlZWQtbWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYmxlZWQtbWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAuZmlyc3QtbWQge1xuICAgIG9yZGVyOiAtMTsgfVxuICAvKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLmxhc3QtbWQge1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAucmV2ZXJzZS1tZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAvKipcclxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTEge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctMiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTMge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy00IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctNSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTYge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy03IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctOCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQtbGctOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTkge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wtbGctMTAge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC1sZy0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC1sZy0xMSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LWxnLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLWxnLTEyIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbGctc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi1sZy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24tbGctZmxleC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLWxnLWZsZXgtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLWxnLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1sZy1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1sZy1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1sZy1zcGFjZS1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktbGctc3BhY2UtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS1sZy1zcGFjZS1ldmVubHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBmbGV4LWVuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmp1c3RpZnktbGctZmxleC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmJsZWVkLWxnLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAvKipcclxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmJsZWVkLWxnLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLmZpcnN0LWxnIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICovXG4gIC5sYXN0LWxnIHtcbiAgICBvcmRlcjogMTsgfVxuICAvKipcclxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLnJldmVyc2UtbGcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtMSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtNiB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTcge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbiAgLm9mZnNldC14bC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtOSB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAvKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuY29sLXhsLTExIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4gIC5vZmZzZXQteGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5jb2wteGwtMTIge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbiAgLmFsaWduLXhsLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5hbGlnbi14bC1mbGV4LXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24teGwtZmxleC1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAvKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYWxpZ24teGwtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXhsLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXhsLXNwYWNlLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAvKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS14bC1zcGFjZS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4gIC5qdXN0aWZ5LXhsLXNwYWNlLWV2ZW5seSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cbiAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGZsZXgtZW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuanVzdGlmeS14bC1mbGV4LWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAvKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYmxlZWQteGwtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuICAuYmxlZWQteGwtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAuZmlyc3QteGwge1xuICAgIG9yZGVyOiAtMTsgfVxuICAvKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbiAgLmxhc3QteGwge1xuICAgIG9yZGVyOiAxOyB9XG4gIC8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuICAucmV2ZXJzZS14bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR3JpZFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIERlZmF1bHQgaGVhZGluZ3MuXHJcbiAqL1xuLmhlYWRpbmctMS1ibGFjayB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5oZWFkaW5nLTEtd2hpdGUge1xuICBmb250LXNpemU6IDQwcHg7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJzsgfVxuXG4uaGVhZGluZy0yLWJsYWNrIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcsICdIaW5kJzsgfVxuXG4uaGVhZGluZy0yLXdoaXRlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcsICdIaW5kJzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBXcmFwcGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVGhlIHdyYXBwZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xuLmNlLXRleHRwaWMtZWxlbWVudCxcbi53cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEyNDBweCArIDQwcHgpO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jZS10ZXh0cGljLWVsZW1lbnQsXG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNlLXRleHRwaWMtZWxlbWVudCxcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNlLXRleHRwaWMtZWxlbWVudCxcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuXG4ud3JhcHBlci0tc21hbGwge1xuICBtYXgtd2lkdGg6IDY1MHB4OyB9XG5cbi53cmFwcGVyLS1tZWRpdW0ge1xuICBtYXgtd2lkdGg6IDg2MXB4OyB9XG5cbi53cmFwcGVyLS13aWRlIHtcbiAgbWF4LXdpZHRoOiAxMDY5cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnJlYWRjcnVtYnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi5icmVhZGNydW1icyB7XG4gIGNvbG9yOiAjYjA3ZTRiO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDVweCAxMHB4IDAgI2Y4ZjhmODsgfVxuXG4uYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiA1cHggMCA3cHg7IH1cbiAgLmJyZWFkY3J1bWIgc3ZnIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgLmJyZWFkY3J1bWI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiA1cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjYjA3ZTRiO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmJyZWFkY3J1bWI6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQvaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi5jZS1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cblxuLyoqXHJcbiAqICBJbWFnZSB3cmFwcGVyLlxyXG4gKi9cbi5jZS1pbWFnZS13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA4MDBweDsgfVxuXG4vKipcclxuICogIEFkZGl0aW9uYWwgcnVsZXMuXHJcbiAqL1xuLmNlLXRleHRwaWMtZWxlbWVudCArIC5jZS1pbWFnZS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNlLXRleHRwaWMtZWxlbWVudCArIC5jZS1pbWFnZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQvaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi5jZS10ZXh0cGljLWVsZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jZS10ZXh0cGljLWVsZW1lbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9IH1cbiAgLmNlLXRleHRwaWMtZWxlbWVudCBoMSxcbiAgLmNlLXRleHRwaWMtZWxlbWVudCBoMixcbiAgLmNlLXRleHRwaWMtZWxlbWVudCBoMyxcbiAgLmNlLXRleHRwaWMtZWxlbWVudCBoNCxcbiAgLmNlLXRleHRwaWMtZWxlbWVudCBoNSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuY2UtdGV4dHBpYy1lbGVtZW50IGgxLFxuICAgICAgLmNlLXRleHRwaWMtZWxlbWVudCBoMixcbiAgICAgIC5jZS10ZXh0cGljLWVsZW1lbnQgaDMsXG4gICAgICAuY2UtdGV4dHBpYy1lbGVtZW50IGg0LFxuICAgICAgLmNlLXRleHRwaWMtZWxlbWVudCBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMmVtOyB9IH1cblxuLyoqXHJcbiAqICBUZXh0cGljIGVsZW1lbnQuXHJcbiAqL1xuLmNlLXRleHRwaWMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLmNlLXRleHRwaWMgYTpub3QoLmJ1dHRvbi1ncm9lbik6bm90KC5idXR0b24tYnJ1aW4pIHtcbiAgICBjb2xvcjogI2IwN2U0YjsgfVxuICAgIC5jZS10ZXh0cGljIGE6bm90KC5idXR0b24tZ3JvZW4pOm5vdCguYnV0dG9uLWJydWluKTo6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCAuY2Utcm93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1yb3cge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuY2UtdGV4dHBpYy5jZS1yaWdodC5jZS1pbnRleHQgLmNlLXJvdyB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1ib2R5dGV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCAuY2UtZ2FsbGVyeS5oYXMtbXVsdGlwbGUtaW1hZ2VzW2RhdGEtY2UtY29sdW1ucz0nMSddIHtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCAuY2UtZ2FsbGVyeS5oYXMtbXVsdGlwbGUtaW1hZ2VzW2RhdGEtY2UtY29sdW1ucz0nMSddIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1nYWxsZXJ5Lmhhcy1tdWx0aXBsZS1pbWFnZXNbZGF0YS1jZS1jb2x1bW5zPScxJ10gKyAuY2UtYm9keXRleHQge1xuICAgICAgICB3aWR0aDogaW5pdGlhbDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1nYWxsZXJ5Lmhhcy1tdWx0aXBsZS1pbWFnZXNbZGF0YS1jZS1jb2x1bW5zPScxJ10gKyAuY2UtYm9keXRleHQge1xuICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7IH0gfVxuICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCAuY2UtY29sdW1uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCAuY2UtY29sdW1uIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1jb2x1bW4gaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1ib2R5dGV4dCB7XG4gICAgICB3aWR0aDogaW5pdGlhbDsgfVxuICAgIC5jZS10ZXh0cGljLmNlLXJpZ2h0LmNlLWludGV4dCAuY2UtY29sdW1uIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLmNlLXRleHRwaWMuY2UtcmlnaHQuY2UtaW50ZXh0IC5jZS1jb2x1bW4gLmltYWdlIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAuY2UtdGV4dHBpYy5jZS1sZWZ0LmNlLWludGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5jZS10ZXh0cGljLmNlLWxlZnQuY2UtaW50ZXh0IC5jZS1yb3cge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5jZS10ZXh0cGljLmNlLWxlZnQuY2UtaW50ZXh0IC5jZS1nYWxsZXJ5IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNlLXRleHRwaWMuY2UtbGVmdC5jZS1pbnRleHQgLmNlLWNvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jZS10ZXh0cGljLmNlLWxlZnQuY2UtaW50ZXh0IC5jZS1jb2x1bW4gLmltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuY2UtdGV4dHBpYy5jZS1sZWZ0LmNlLWludGV4dC5jZS1ub3dyYXAge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLmNlLXRleHRwaWMuY2UtbGVmdC5jZS1pbnRleHQuY2Utbm93cmFwIC5jZS1nYWxsZXJ5IHtcbiAgICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICAgLmNlLXRleHRwaWMuY2UtbGVmdC5jZS1pbnRleHQuY2Utbm93cmFwIC5jZS1ib2R5dGV4dCB7XG4gICAgICAgIHdpZHRoOiA3MCU7IH1cbiAgLmNlLXRleHRwaWMuY2UtY2VudGVyLmNlLWFib3ZlIC5jZS1nYWxsZXJ5IC5jZS1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNlLXRleHRwaWMuY2UtbGVmdC5jZS1hYm92ZSAuY2UtZ2FsbGVyeSAuY2UtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY2UtdGV4dHBpYy5jZS1yaWdodC5jZS1hYm92ZSAuY2UtZ2FsbGVyeSAuY2UtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmNlLXRleHRwaWMuY2UtY2VudGVyLmNlLWJlbG93IC5jZS1nYWxsZXJ5IC5jZS1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNlLXRleHRwaWMuY2UtbGVmdC5jZS1iZWxvdyAuY2UtZ2FsbGVyeSAuY2UtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuY2UtdGV4dHBpYy5jZS1yaWdodC5jZS1iZWxvdyAuY2UtZ2FsbGVyeSAuY2UtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmNlLXRleHRwaWM6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi8qKlxyXG4gKiAgRWRpdG9yIHNldHRpbmdzLlxyXG4gKi9cbi5jZS1ib2R5dGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICAuY2UtYm9keXRleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJzsgfVxuICAuY2UtYm9keXRleHQgaDIge1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICBmb250LXNpemU6IDMuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMjM1M2VtO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJzsgfVxuICAuY2UtYm9keXRleHQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NTgzM2VtO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJzsgfVxuICAuY2UtYm9keXRleHQgdWwge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBsaXN0LXN0eWxlOiBkaXNjOyB9XG4gIC5jZS1ib2R5dGV4dCBvbCB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cbiAgLmNlLWJvZHl0ZXh0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuY2UtYm9keXRleHQgLm1hcmdpbi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyoqXHJcbiAqICBSb3dcclxuICovXG4uY2Utcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgLTEwcHg7IH1cblxuLyoqXHJcbiAqICBDb2x1bW4gc2V0dGluZ3MuXHJcbiAqL1xuLmNlLWNvbHVtbiB7XG4gIG1hcmdpbjogMTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNlLWNvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5jZS1jb2x1bW4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY2UtY29sdW1uIC5pbWFnZS1jYXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNlLWNvbHVtbiBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvbnRhaW4nO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLyoqXHJcbiAqICBHYWxsZXJ5XHJcbiAqL1xuLmNlLWNlbnRlciAuY2UtZ2FsbGVyeSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2UtcmlnaHQgLmNlLWdhbGxlcnkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNlLXJpZ2h0IC5jZS1nYWxsZXJ5Lmhhcy1zaW5nbGUtaW1hZ2UgLmNlLWNvbHVtbiB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uY2UtZ2FsbGVyeSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgLmNlLWdhbGxlcnlbZGF0YS1jZS1jb2x1bW5zPScyJ10ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNlLWdhbGxlcnlbZGF0YS1jZS1jb2x1bW5zPScyJ10gLmNlLWNvbHVtbiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAuY2UtZ2FsbGVyeVtkYXRhLWNlLWNvbHVtbnM9JzInXSAuY2UtY29sdW1uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAuY2UtZ2FsbGVyeVtkYXRhLWNlLWNvbHVtbnM9JzInXSAuY2UtY29sdW1uIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jZS1nYWxsZXJ5Lmhhcy1zaW5nbGUtaW1hZ2UgLmNlLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcbiAqICBBZGRpdGlvbmFsIHJ1bGVzLlxyXG4gKi9cbi5jZS10ZXh0cGljICsgLmNlLXRleHRwaWMtaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4uY2UtdGV4dHBpYy1lbGVtZW50ICsgLmNlLXRleHRwaWMge1xuICBtYXJnaW4tdG9wOiAtMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jZS10ZXh0cGljLWVsZW1lbnQgKyAuY2UtdGV4dHBpYyB7XG4gICAgICBtYXJnaW4tdG9wOiAtNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENNUyBPdXRwdXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBFdmVyeSBjb25jZWl2YWJsZSBIVE1MIGVsZW1lbnQgd2l0aGluIGEgYC5jbXMtb3V0cHV0YCB3cmFwcGVyLlxyXG4gKlxyXG4gKiAxLiBFeGNsdWRlIGxhc3QgY2hpbGRzLlxyXG4gKi9cbi5jbXMtb3V0cHV0ID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAvKiAxICovIH1cblxuLmNtcy1vdXRwdXQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxuLmNtcy1vdXRwdXQgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7IH1cblxuLmNtcy1vdXRwdXQgcCA+IGEge1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLmNtcy1vdXRwdXQgcCA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRhY3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi5jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIG1hcmdpbjogYXV0byBhdXRvIDE1MHB4O1xuICBwYWRkaW5nOiAxMDBweDtcbiAgYmFja2dyb3VuZDogI2ViZjBlODsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbnRhY3Qge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuXG4uY29udGFjdF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTE7IH1cblxuLmNvbnRhY3RfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmNvbnRhY3RfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NTBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3RfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLmNvbnRhY3RfX2NvbnRlbnQgLmZsZXgge1xuICAgIG1hcmdpbjogNDBweCAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmNvbnRhY3RfX2NvbnRlbnQgLmZsZXgge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAgIC5jb250YWN0X19jb250ZW50IC5mbGV4IHAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5jb250YWN0X19jb250ZW50IC5mbGV4IHAge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNvbnRhY3RfX2NvbnRlbnQgLm1haWwgc3ZnLFxuICAuY29udGFjdF9fY29udGVudCAuY2FsbCBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5jb250YWN0X19jb250ZW50IC5jYWxsIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4uY29udGFjdC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IC0zMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3QtaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jb250YWN0LWltYWdlIHtcbiAgICAgIGhlaWdodDogNjAlOyB9IH1cbiAgLmNvbnRhY3QtaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMjk1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXInO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmNvbnRhY3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC04MHB4OyB9IH1cblxuLmNvbnRhY3QtaW1hZ2VfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uY29udGFjdC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEwMHB4O1xuICBib3R0b206IC0xMjBweDtcbiAgd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IDMyMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNTVkZWcpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuY29udGFjdC1pY29uIHtcbiAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgIGJvdHRvbTogLTYwcHg7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBoZWlnaHQ6IDE1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtaWNvbiB7XG4gICAgICByaWdodDogLTYwcHg7XG4gICAgICBib3R0b206IC03MHB4O1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfSB9XG4gIC5jb250YWN0LWljb24gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29sbGVjdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLmNvbGxlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDYwcHggMDtcbiAgYmFja2dyb3VuZDogI2ViZjBlODtcbiAgei1pbmRleDogMTE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jb2xsZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG4gIC5jb2xsZWN0aW9uIC53cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29sbGVjdGlvbiAub3dsLWl0ZW0uYWN0aXZlOm50aC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29sbGVjdGlvbiAub3dsLWNhcm91c2VsIC5vd2wtbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC04NXB4O1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogI2M4Y2VlNjtcbiAgICBjb2xvcjogIzc2ODZjMjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYge1xuICAgICAgICByaWdodDogMzBweDsgfSB9XG4gICAgLmNvbGxlY3Rpb24gLm93bC1jYXJvdXNlbCAub3dsLW5hdiBzdmcge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBjb2xvcjogIzUxNjE5ZjsgfVxuICAgIC5jb2xsZWN0aW9uIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LFxuICAgIC5jb2xsZWN0aW9uIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMCAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtczsgfVxuICAgICAgLmNvbGxlY3Rpb24gLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsXG4gICAgICAuY29sbGVjdGlvbiAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNmJlZGU7IH1cbiAgLmNvbGxlY3Rpb24gLm93bC1wcmV2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBjb2xvcjogIzUxNjE5ZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jb2xsZWN0aW9uIC5vd2wtbmV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgY29sb3I6ICM1MTYxOWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29sbGVjdGlvbl9faGVhZGVyIHtcbiAgd2lkdGg6IDI1JTtcbiAgbWF4LXdpZHRoOiAzMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb25fX2hlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuLmNvbGxlY3Rpb25fX2xvb3Age1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDc1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb25fX2xvb3Age1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xuICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb2xsZWN0aW9uX19sb29wIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMjBweCk7XG4gICAgICBtYXJnaW4tbGVmdDogLTYwcHg7IH0gfVxuXG4uY29sbGVjdGlvbi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDMwcHg7IH0gfVxuICAuY29sbGVjdGlvbi1pdGVtIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDM1MG1zIGVhc2U7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1pdGVtIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogOTVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbGxlY3Rpb24taXRlbTpob3ZlciBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gICAgLmNvbGxlY3Rpb24taXRlbTpob3ZlciAuY29sbGVjdGlvbi1pdGVtX19hbW91bnQge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmNvbGxlY3Rpb24taXRlbV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29sbGVjdGlvbi1pdGVtX19hbW91bnQge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAtNzBweCAwIDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA1NTBtcyBlYXNlO1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XG4gIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29sbGVjdGlvbi1pdGVtX19hbW91bnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG5cbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xsZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXG4uY29sbGVjdGlvbi1kYXRhYmFzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTAwcHggMDtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5jb2xsZWN0aW9uLWRhdGFiYXNlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzRmNTg1ZjtcbiAgICBjb250ZW50OiAnJztcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgei1pbmRleDogLTE7IH1cblxuLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2hlYWRlciAuaGVhZGluZy0xLXdoaXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb2xsZWN0aW9uLWRhdGFiYXNlX19oZWFkZXIgLmhlYWRpbmctMS13aGl0ZSB7XG4gICAgICBtYXgtd2lkdGg6IDM4MHB4OyB9IH1cblxuLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2xpbmsge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC44cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29sbGVjdGlvbi1kYXRhYmFzZV9fbGluayB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2xpbmsuZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWRhdGFiYXNlX19saW5rLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2xpbmsubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2xpbmsubW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2xpbmsubW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuXG4uY29sbGVjdGlvbi1kYXRhYmFzZV9fdGl0bGUtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIHJpZ2h0OiAzMHB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxNjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX3RpdGxlLWljb24ge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX3RpdGxlLWljb24ge1xuICAgICAgdG9wOiAtODVweDtcbiAgICAgIGhlaWdodDogMTMwcHg7IH0gfVxuXG4uY29sbGVjdGlvbi1kYXRhYmFzZV9fYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uY29sbGVjdGlvbi1kYXRhYmFzZV9fd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tZGF0YWJhc2VfX3dyYXBwZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpOyB9IH1cblxuLmNvbGxlY3Rpb24tZGF0YWJhc2UtaXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1yaWdodDogMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tZGF0YWJhc2UtaXRlbSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogNDAwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbGxlY3Rpb24tZGF0YWJhc2UtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2ltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiA3NXB4O1xuICBib3JkZXI6IDNweCBzb2xpZCB3aGl0ZTtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2ltYWdlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDsgfSB9XG4gIC5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgaGVpZ2h0OiAyMzBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIGhlaWdodDogMTYwcHg7IH0gfVxuICAuY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19pbWFnZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2ltYWdlOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTUwJTtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLmNvbGxlY3Rpb24tZGF0YWJhc2UtaXRlbV9faW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMzVweDsgfSB9XG5cbi5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2VkaXRvciB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2VkaXRvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7IH0gfVxuICAuY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19lZGl0b3IgaDEsXG4gIC5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2VkaXRvciBoMixcbiAgLmNvbGxlY3Rpb24tZGF0YWJhc2UtaXRlbV9fZWRpdG9yIGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OyB9XG4gIC5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW1fX2VkaXRvciBwIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19lZGl0b3IgcCB7XG4gICAgICAgIG1heC13aWR0aDogMjEwcHg7IH0gfVxuICAuY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19lZGl0b3IgLmJ1dHRvbi1ncm9lbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM2YWFkNDA7IH1cbiAgICAuY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19lZGl0b3IgLmJ1dHRvbi1ncm9lbiBzdmcge1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0L2ltYWdlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXG4uZGVmYXVsdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiA2MHB4IDAgNzVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRlZmF1bHQge1xuICAgICAgcGFkZGluZzogNTBweCAwOyB9IH1cbiAgLmRlZmF1bHQub3JkZXItbGVmdCAud3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAuZGVmYXVsdC5vcmRlci1yaWdodCAud3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5kZWZhdWx0IC53cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5kZWZhdWx0IC5idXR0b24tYnJ1aW4sXG4gIC5kZWZhdWx0IC5idXR0b24tZ3JvZW4ge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jb250ZW50LWRlZmF1bHQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIC5jb250ZW50LWRlZmF1bHQgLmRlZmF1bHRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5jb250ZW50LWRlZmF1bHQgLmRlZmF1bHRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07IH0gfVxuICAuY29udGVudC1kZWZhdWx0IC5kZWZhdWx0X19jb250ZW50IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbnRlbnQtZGVmYXVsdCAuZGVmYXVsdF9fY29udGVudCBhIHtcbiAgICBjb2xvcjogI2IwN2U0YjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5jb250ZW50LWRlZmF1bHQgLmRlZmF1bHRfX2NvbnRlbnQgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyoqXHJcbiAqICBNYWluIHRpdGxlLlxyXG4gKi9cbi5kZWZhdWx0X190aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5kZWZhdWx0X190aXRsZSBoMSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnOyB9XG4gIC5kZWZhdWx0X190aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMyMzUzZW07XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnOyB9XG4gIC5kZWZhdWx0X190aXRsZSBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ODMzZW07XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnOyB9XG5cbi8qKlxyXG4gKiAgQ29udGVudC5cclxuICovXG4uZGVmYXVsdF9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY2NjY3ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRlZmF1bHRfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZGVmYXVsdF9fY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07XG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnOyB9XG4gIC5kZWZhdWx0X19jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjg1NzFlbTtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7IH1cbiAgLmRlZmF1bHRfX2NvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJzsgfVxuICAuZGVmYXVsdF9fY29udGVudCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAuZGVmYXVsdF9fY29udGVudCBwOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmRlZmF1bHRfX2NvbnRlbnQgYSBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsgfVxuICAuZGVmYXVsdF9fY29udGVudDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5kZWZhdWx0X19jb250ZW50IC5idXR0b24tcHJpbWFyeS0tYnJvd24ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmc6IDRweCAyMHB4OyB9XG4gIC5kZWZhdWx0X19jb250ZW50IC5idXR0b24tc2Vjb25kYXJ5LS1icm93biB7XG4gICAgcGFkZGluZzogNHB4IDIwcHg7XG4gICAgY29sb3I6ICNiMDdlNGIgIWltcG9ydGFudDsgfVxuICAgIC5kZWZhdWx0X19jb250ZW50IC5idXR0b24tc2Vjb25kYXJ5LS1icm93bjpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAuZGVmYXVsdF9fY29udGVudCAuYnV0dG9uLWdyb2VuLFxuICAuZGVmYXVsdF9fY29udGVudCAuYnV0dG9uLWJydWluIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgcGFkZGluZzogNHB4IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmRlZmF1bHRfX2NvbnRlbnQgLmJ1dHRvbi1ncm9lbixcbiAgICAgIC5kZWZhdWx0X19jb250ZW50IC5idXR0b24tYnJ1aW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICAuZGVmYXVsdF9fY29udGVudCAuYnV0dG9uLWdyb2VuIHN2ZyxcbiAgICAuZGVmYXVsdF9fY29udGVudCAuYnV0dG9uLWJydWluIHN2ZyB7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi8qKlxyXG4gKiAgRWRpdG9yIHNldHRpbmdzLlxyXG4gKi9cbi5kZWZhdWx0X190ZXh0IHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4OyB9XG5cbi5nb29nbGUtbWFwcyArIC5kZWZhdWx0IHtcbiAgcGFkZGluZzogMCAwIDc1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5nb29nbGUtbWFwcyArIC5kZWZhdWx0IHtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXG4uZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzlhOTU2ZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb290ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuXG4vKipcclxuICogIFVwcGVyIHBhcnQuXHJcbiAqL1xuLmZvb3Rlci11cHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIC00NXB4O1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb290ZXItdXBwZXIge1xuICAgICAgcGFkZGluZzogMTAwcHggMCAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItdXBwZXIge1xuICAgICAgbWFyZ2luOiAwIC0yNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5mb290ZXItdXBwZXIge1xuICAgICAgcGFkZGluZzogMTAwcHggMCA0MHB4OyB9IH1cblxuLyoqXHJcbiAqICBDb2x1bW4gc2V0dGluZ3MuXHJcbiAqL1xuLmZvb3Rlci11cHBlcl9fY29sdW1uIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSA5MHB4KTtcbiAgbWFyZ2luOiAwIDQ1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItdXBwZXJfX2NvbHVtbiB7XG4gICAgICBtYXJnaW46IDAgMjBweCA0MHB4OyB9IH1cbiAgLmZvb3Rlci11cHBlcl9fY29sdW1uIC5lZGl0b3JfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgU3RkIEJvbGRcIiwgXCJmdXR1cmEtcHQtYm9sZFwiLCBcIkhpbmRcIjsgfVxuICAgIC5mb290ZXItdXBwZXJfX2NvbHVtbiAuZWRpdG9yX190aXRsZSBpbWcge1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLmZvb3Rlci11cHBlcl9fY29sdW1uIC5lZGl0b3JfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsgfVxuICAuZm9vdGVyLXVwcGVyX19jb2x1bW4gYTpub3QoLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbik6bm90KC5idXR0b24pIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiAjYjA3ZTRiO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuZm9vdGVyLXVwcGVyX19jb2x1bW4gYTpub3QoLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbik6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM4YzY0M2M7IH0gfVxuXG4vKipcclxuICogIEZpcnN0IGNvbHVtbiAobGVmdCkuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuZmlyc3QtY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMjBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmZpcnN0LWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmZpcnN0LWNvbHVtbiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4uZmlyc3QtY29sdW1uIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5maXJzdC1jb2x1bW4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZpcnN0LWNvbHVtbiBsaSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmZpcnN0LWNvbHVtbiBsaSBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhbGMoMzAlIC0gM3B4KTtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgU3RkIEJvbGRcIiwgXCJmdXR1cmEtcHQtYm9sZFwiLCBcIkhpbmRcIjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmZpcnN0LWNvbHVtbiBsaSBzdHJvbmcge1xuICAgICAgICB3aWR0aDogY2FsYygzNSUgLSAzcHgpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5maXJzdC1jb2x1bW4gbGkgc3Ryb25nIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gM3B4KTsgfSB9XG4gICAgLmZpcnN0LWNvbHVtbiBsaSBzdHJvbmc6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrO1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLmZpcnN0LWNvbHVtbiBsaSBwIHtcbiAgICB3aWR0aDogY2FsYyg3MCUgLSAzcHgpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmZpcnN0LWNvbHVtbiBsaSBwIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjUlIC0gM3B4KTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuZmlyc3QtY29sdW1uIGxpIHAge1xuICAgICAgICB3aWR0aDogY2FsYyg4MCUgLSAzcHgpOyB9IH1cblxuLmZpcnN0LWNvbHVtbiAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6ICM2YWFkNDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuZmlyc3QtY29sdW1uIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZpcnN0LWNvbHVtbiAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAuZmlyc3QtY29sdW1uIC5idXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMjNweDtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuZmlyc3QtY29sdW1uIC5idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzUzODgzMjtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfSB9XG5cbi8qKlxyXG4gKiAgU2Vjb25kIGNvbHVtbiAobWlkZGxlKS5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5zZWNvbmQtY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuc2Vjb25kLWNvbHVtbiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5zZWNvbmQtY29sdW1uIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA5MHB4KTsgfSB9XG5cbi5zZWNvbmQtY29sdW1uIGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi8qKlxyXG4gKiBHb29nbGUgbWFwcy5cclxuICovXG4uZ29vZ2xlLW1hcHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi8qKlxyXG4gKiAgU29jaWFsIE1lZGlhLlxyXG4gKi9cbi5zb2NpYWwtbWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zb2NpYWwtbWVkaWEgLmVkaXRvcl9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zb2NpYWwtbWVkaWEgc3ZnIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5zb2NpYWwtbWVkaWEgc3ZnOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM2YWFkNDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50aGlyZC1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC50aGlyZC1jb2x1bW4ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDYwcHgpOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudGhpcmQtY29sdW1uIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA5MHB4KTsgfSB9XG5cbi8qKlxyXG4gKiAgTmV3c2xldHRlciBibG9jay5cclxuICovXG4uZm9vdGVyLW5ld3NsZXR0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogNTBweCAwO1xuICBiYWNrZ3JvdW5kOiAjNzY4NmMyO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItbmV3c2xldHRlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5mb290ZXItbmV3c2xldHRlciB7XG4gICAgICBtYXJnaW46IDAgNTBweDsgfSB9XG4gIC5mb290ZXItbmV3c2xldHRlciAud3JhcHBlciB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyIC5mbGV4IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyIC5wbGFudHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogODBweDtcbiAgICBib3R0b206IC0xNHB4O1xuICAgIHdpZHRoOiAyMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5mb290ZXItbmV3c2xldHRlciAucGxhbnRzIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgd2lkdGg6IDgwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5mb290ZXItbmV3c2xldHRlciAucGxhbnRzIHtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogLTlweDtcbiAgICAgICAgd2lkdGg6IDEzMHB4OyB9IH1cblxuLyoqXHJcbiAqICBOZXdzbGV0dGVyIGhlYWRlci5cclxuICovXG4uZm9vdGVyLW5ld3NsZXR0ZXJfX2hlYWRlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxyXG4gKiAgTmV3c2xldHRlciBibG9jayBjb2x1bW4gKGxlZnQpLlxyXG4gKi9cbi5mb290ZXItbmV3c2xldHRlcl9fbGVmdCB7XG4gIHdpZHRoOiA1NSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2xlZnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyX19sZWZ0IC5oZWFkaW5nLTEtd2hpdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLyoqXHJcbiAqICBOZXdzbGV0dGVyIGJsb2NrIGNvbHVtbiAocmlnaHQpLlxyXG4gKi9cbi5mb290ZXItbmV3c2xldHRlcl9fcmlnaHQge1xuICB3aWR0aDogNDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5mb290ZXItbmV3c2xldHRlcl9fcmlnaHQge1xuICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gIC5mb290ZXItbmV3c2xldHRlcl9fcmlnaHQgaDMsXG4gIC5mb290ZXItbmV3c2xldHRlcl9fcmlnaHQgbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb290ZXItbmV3c2xldHRlcl9fcmlnaHQgLnBvd2VybWFpbF9sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICM1MTYxOWY7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19yaWdodCBpbnB1dFt0eXBlPSd0ZXh0J106OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IC5idXR0b24tcHJpbWFyeS0tZ3JlZW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyX19yaWdodCAucG93ZXJtYWlsX3N1Ym1pdCB7XG4gICAgcGFkZGluZzogN3B4IDAgN3B4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc3VibWl0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc3VibWl0IHN2ZyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IC5wYXJzbGV5LXJlcXVpcmVkIHtcbiAgICBjb2xvcjogcmVkOyB9XG5cbi8qKlxyXG4gKiAgTmV3c2xldHRlciBibG9jayBlZGl0b3IuXHJcbiAqL1xuLmZvb3Rlci1uZXdzbGV0dGVyX19lZGl0b3Ige1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2VkaXRvciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cblxuLyoqXHJcbiAqICBMb3dlciBwYXJ0IG9mIHRoZSBmb290ZXIuXHJcbiAqL1xuLmZvb3Rlci1sb3dlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjRweDsgfVxuICAuZm9vdGVyLWxvd2VyIC5saW5rcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5mb290ZXItbG93ZXIgLmxpbmtzIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG4gICAgLmZvb3Rlci1sb3dlciAubGlua3MgYSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGNvbG9yOiAjYjA3ZTRiO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5mb290ZXItbG93ZXIgLmxpbmtzIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzhjNjQzYzsgfVxuICAuZm9vdGVyLWxvd2VyIC5jb21wYW55IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5mb290ZXItbG93ZXIgLmNvbXBhbnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuZm9vdGVyLWxvd2VyIC5jb21wYW55IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmZvb3Rlci1sb3dlciAubWFkZWJ5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmZvb3Rlci1sb3dlciAubWFkZWJ5IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5mb290ZXItbG93ZXIgLm1hZGVieSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4vKipcclxuICogIExvd2VyIHBhcnQgY29sdW1uIHNldHRpbmdzLlxyXG4gKi9cbi5mb290ZXItbG93ZXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cblxuLmpzLXNjcm9sbC11cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IC00MHB4O1xuICBib3R0b206IDEzMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6ICNjOGNlZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogOTk5O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmpzLXNjcm9sbC11cCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmpzLXNjcm9sbC11cCBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjb2xvcjogIzc2ODZjMjsgfVxuICAuanMtc2Nyb2xsLXVwLmlzLXZpc2libGUge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9ybVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLnBvd2VybWFpbF9mb3JtXzQsXG4ucG93ZXJtYWlsX2Zvcm1fNixcbi5wb3dlcm1haWxfZm9ybV83LFxuLnBvd2VybWFpbF9mb3JtXzgge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wb3dlcm1haWxfZm9ybV80LFxuICAgIC5wb3dlcm1haWxfZm9ybV82LFxuICAgIC5wb3dlcm1haWxfZm9ybV83LFxuICAgIC5wb3dlcm1haWxfZm9ybV84IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wb3dlcm1haWxfZm9ybV80LFxuICAgIC5wb3dlcm1haWxfZm9ybV82LFxuICAgIC5wb3dlcm1haWxfZm9ybV83LFxuICAgIC5wb3dlcm1haWxfZm9ybV84IHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucG93ZXJtYWlsX2Zvcm1fNCxcbiAgICAucG93ZXJtYWlsX2Zvcm1fNixcbiAgICAucG93ZXJtYWlsX2Zvcm1fNyxcbiAgICAucG93ZXJtYWlsX2Zvcm1fOCB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuICAucG93ZXJtYWlsX2Zvcm1fNCAubGVmdC1jb2x1bW4sXG4gIC5wb3dlcm1haWxfZm9ybV82IC5sZWZ0LWNvbHVtbixcbiAgLnBvd2VybWFpbF9mb3JtXzcgLmxlZnQtY29sdW1uLFxuICAucG93ZXJtYWlsX2Zvcm1fOCAubGVmdC1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAucG93ZXJtYWlsX2Zvcm1fNCAubGVmdC1jb2x1bW4gLmxlZnQtY29sdW1uLFxuICAgIC5wb3dlcm1haWxfZm9ybV82IC5sZWZ0LWNvbHVtbiAubGVmdC1jb2x1bW4sXG4gICAgLnBvd2VybWFpbF9mb3JtXzcgLmxlZnQtY29sdW1uIC5sZWZ0LWNvbHVtbixcbiAgICAucG93ZXJtYWlsX2Zvcm1fOCAubGVmdC1jb2x1bW4gLmxlZnQtY29sdW1uIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA3NXB4IDA7IH1cblxuLmZvcm0gbGVnZW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9ybSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cblxuLmZvcm0gLmZsZXgge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IC01MHB4OyB9XG5cbi5mb3JtIC5sZWZ0LWNvbHVtbixcbi5mb3JtIC5yaWdodC1jb2x1bW4ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxMDBweCk7XG4gIG1hcmdpbjogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvcm0gLmxlZnQtY29sdW1uLFxuICAgIC5mb3JtIC5yaWdodC1jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5mb3JtIC5wb3dlcm1haWxfZmllbGQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi5mb3JtIC5wb3dlcm1haWxfZmllbGQgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgYmxhY2s7IH1cblxuLmZvcm0gLnBvd2VybWFpbF9maWVsZCBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveDsgfVxuXG4uZm9ybSAucG93ZXJtYWlsX2ZpZWxkIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvOyB9XG5cbi5mb3JtIC5wb3dlcm1haWxfZmllbGQgc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyOiAzcHggc29saWQgYmxhY2s7IH1cblxuLmZvcm0gLnBvd2VybWFpbF9maWVsZCB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE1MHB4O1xuICBwYWRkaW5nOiA5cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrOyB9XG5cbi5mb3JtIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mb3JtIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc2VsZWN0IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA5cHg7XG4gICAgYm90dG9tOiAxMnB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZm9ybSAucG93ZXJtYWlsX3N1Ym1pdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogd2hpdGU7IH1cblxuLmZvcm0gLnBvd2VybWFpbF9maWVsZHdyYXBfdmVyc3R1dXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IC0xNXB4OyB9XG4gIC5mb3JtIC5wb3dlcm1haWxfZmllbGR3cmFwX3ZlcnN0dXVyIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTdweDtcbiAgICByaWdodDogNDAlO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLnBhcnNsZXktcmVxdWlyZWQsXG4ucGFyc2xleS1jdXN0b20tZXJyb3ItbWVzc2FnZSB7XG4gIGNvbG9yOiByZWQ7IH1cblxuLnBhcnNsZXktZXJyb3Ige1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgcmVkICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTWFwc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLmNvbnRlbnQgLmdvb2dsZS1tYXBzIC5saXN0LWxpc3RfX2xvY2F0aW9uIC53cmFwcGVyIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5jb250ZW50IC5nb29nbGUtbWFwcyAubGlzdC1saXN0X19sb2NhdGlvbiAuZ29vZ2xlLW1hcHMge1xuICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250ZW50IC5nb29nbGUtbWFwcyAubGlzdC1saXN0X19sb2NhdGlvbiAuZ29vZ2xlLW1hcHMge1xuICAgICAgaGVpZ2h0OiAzNTBweCAhaW1wb3J0YW50OyB9IH1cblxuLmZvb3RlciAubGlzdC1saXN0X19sb2NhdGlvbiAuZ29vZ2xlLW1hcHMge1xuICBoZWlnaHQ6IDM1MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0yMDBweDtcbiAgcGFkZGluZzogMzBweCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgODUwbXMgZWFzZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmhlYWRlciAud3JhcHBlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLmhlYWRlci5pcy1sb2FkZWQge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDIwOyB9XG4gIC5oZWFkZXIgLmNvbnRlbnQtZGVmYXVsdCxcbiAgLmhlYWRlciAuZGVmYXVsdCxcbiAgLmhlYWRlciAuZGVmYXVsdF9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyIC5jb250ZW50LWRlZmF1bHQ6OmJlZm9yZSwgLmhlYWRlciAuY29udGVudC1kZWZhdWx0OjphZnRlcixcbiAgICAuaGVhZGVyIC5kZWZhdWx0OjpiZWZvcmUsXG4gICAgLmhlYWRlciAuZGVmYXVsdDo6YWZ0ZXIsXG4gICAgLmhlYWRlciAuZGVmYXVsdF9fY29udGVudDo6YmVmb3JlLFxuICAgIC5oZWFkZXIgLmRlZmF1bHRfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKipcclxuICogIExlZnQuXHJcbiAqL1xuLmhlYWRlci1sZWZ0IHtcbiAgd2lkdGg6IDMwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmhlYWRlci1sZWZ0IHtcbiAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyLWxlZnQge1xuICAgICAgd2lkdGg6IDQ1JTsgfSB9XG5cbi8qKlxyXG4gKiAgTG9nb1xyXG4gKi9cbi5oZWFkZXItbG9nbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDg0cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA1NXB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA2NXB4OyB9IH1cblxuLyoqXHJcbiAqICBTbG9nYW4uXHJcbiAqL1xuLmhlYWRlci1sb2dvX19zbG9nYW4ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBjb2xvcjogIzZhYWQ0MDtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5oZWFkZXItbG9nb19fc2xvZ2FuIHtcbiAgICAgIG1pbi13aWR0aDogMjI1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICBmb250LXNpemU6IDExLjRweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXItbG9nb19fc2xvZ2FuIHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaGVhZGVyLWxvZ29fX3Nsb2dhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLyoqXHJcbiAqICBSaWdodCBwYXJ0LlxyXG4gKi9cbi5oZWFkZXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA2NSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5oZWFkZXItcmlnaHQge1xuICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA1NSU7IH0gfVxuXG4vKipcclxuICogIFJpZ2h0IHBhcnQgKHVwcGVyKS5cclxuICovXG4uaGVhZGVyLXJpZ2h0X191cHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0X191cHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5oZWFkZXItcmlnaHRfX3VwcGVyIC50b3AtbWVudSBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzg1NzFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBsZXR0ZXItc3BhY2luZzogMC43cHg7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5oZWFkZXItcmlnaHRfX3VwcGVyIC50b3AtbWVudSBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5oZWFkZXItcmlnaHRfX3VwcGVyIC50b3AtbWVudSBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlci1yaWdodF9fdXBwZXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaGVhZGVyLXJpZ2h0X191cHBlcjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1yaWdodF9fdXBwZXIgLmJlY29tZS1mcmllbmQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1N2VtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZzogMXB4IDEwcHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaGVhZGVyLXJpZ2h0X191cHBlciAuYmVjb21lLWZyaWVuZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEzNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5oZWFkZXItcmlnaHRfX3VwcGVyIC5iZWNvbWUtZnJpZW5kIHN2ZyB7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIGhlaWdodDogMTNweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7IH1cbiAgLmhlYWRlci1yaWdodF9fdXBwZXIgLnRpY2tldHMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1N2VtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDJweCA2cHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaGVhZGVyLXJpZ2h0X191cHBlciAudGlja2V0cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEzNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgIC5oZWFkZXItcmlnaHRfX3VwcGVyIC50aWNrZXRzIC5mYS10aWNrZXQtYWx0IHtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH1cbiAgICAuaGVhZGVyLXJpZ2h0X191cHBlciAudGlja2V0cyAuZmEtY2hldnJvbi1kb3VibGUtcmlnaHQge1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4OyB9XG5cbi50b3AtbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudG9wLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgLnRvcC1tZW51IC5sYXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAqICBIZWFkZXIgbGlua3MuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGVhZGVyLXJpZ2h0X19saW5rcyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbi5oZWFkZXItcmlnaHRfX2xpbmtzIC5oZWFkZXJfX2xvZ2luIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaGVhZGVyLXJpZ2h0X19saW5rcyBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk3cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0X19saW5rcyBwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSBhbmQgKG1pbi13aWR0aDogNjk3cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0X19saW5rcyBwIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4uaGVhZGVyLXJpZ2h0X19saW5rcy5pcy1tb2JpbGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS40Mjg1N2VtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgei1pbmRleDogOTk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY5N3B4KSB7XG4gICAgLmhlYWRlci1yaWdodF9fbGlua3MuaXMtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjk3cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0X19saW5rcy5pcy1tb2JpbGUgcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nOiAxM3B4OyB9IH1cbiAgLmhlYWRlci1yaWdodF9fbGlua3MuaXMtbW9iaWxlIHA6bnRoLWNoaWxkKDIpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgLmhlYWRlci1yaWdodF9fbGlua3MuaXMtbW9iaWxlIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICAuaGVhZGVyLXJpZ2h0X19saW5rcy5pcy1tb2JpbGUgYS50aWNrZXRzIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMDsgfVxuICAuaGVhZGVyLXJpZ2h0X19saW5rcy5pcy1tb2JpbGUgc3ZnIHtcbiAgICB3aWR0aDogMTNweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTNweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG5cbi8qKlxyXG4gKiAgTGFuZ3VhZ2UgbWVudVxyXG4gKi9cbi5oZWFkZXItcmlnaHRfX2xhbmd1YWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMzVweCAwIDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0X19sYW5ndWFnZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAyMnB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5oZWFkZXItcmlnaHRfX2xhbmd1YWdlIHtcbiAgICAgIG1hcmdpbjogMCAzMHB4OyB9IH1cbiAgLmhlYWRlci1yaWdodF9fbGFuZ3VhZ2Ugc3ZnIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICBvcGFjaXR5OiAwLjY7IH1cblxuLyoqXHJcbiAqICBNYWluIG1lbnUgKGxvd2VyIHBhcnQpLlxyXG4gKi9cbi5oZWFkZXItcmlnaHRfX2xvd2VyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaGVhZGVyLXJpZ2h0X19sb3dlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1yaWdodF9fbG93ZXIgLm1haW4tbWVudSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM4ODg5ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC00MnB4OyB9XG4gICAgLmhlYWRlci1yaWdodF9fbG93ZXIgLm1haW4tbWVudSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4OyB9XG4gICAgICAuaGVhZGVyLXJpZ2h0X19sb3dlciAubWFpbi1tZW51IGE6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXMgZWFzZTtcbiAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgLmhlYWRlci1yaWdodF9fbG93ZXIgLm1haW4tbWVudSBhOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAuaGVhZGVyLXJpZ2h0X19sb3dlciAubWFpbi1tZW51IGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4OyB9XG4gICAgLmhlYWRlci1yaWdodF9fbG93ZXIgLm1haW4tbWVudSAubm8tc3VibWVudSBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhlYWRlci1yaWdodF9fbG93ZXIgLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7IH1cbiAgICAuaGVhZGVyLXJpZ2h0X19sb3dlciAuYWN0aXZlOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDI1MG1zIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5oZWFkZXItcmlnaHRfX2xvd2VyIC5zdWJtZW51IC5hY3RpdmUge1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLmhlYWRlci1yaWdodF9fbG93ZXIgLnN1Ym1lbnUgLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDI1MG1zIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi8qKlxyXG4gKiBMb2dpbi5cclxuICovXG4uaGVhZGVyX19sb2dpbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc4NTcxZW07XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG4gIGNvbG9yOiAjNmFhZDQwOyB9XG4gIC5oZWFkZXJfX2xvZ2luIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLmhlYWRlcl9fbG9naW46aG92ZXIge1xuICAgIGNvbG9yOiAjNTM4ODMyOyB9XG5cbi8qKlxyXG4gKiBMYW5ndWFnZS5cclxuICovXG4uaGVhZGVyX19sYW5ndWFnZS1zZWFyY2gge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuaGVhZGVyX19sYW5ndWFnZS1zZWFyY2gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuXG4ubW9iaWxlLW1lbnUtYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzg4ODllbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubW9iaWxlLW1lbnUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9iaWxlLW1lbnUtYnV0dG9uIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAubW9iaWxlLW1lbnUtYnV0dG9uIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1MHB4OyB9XG4gIC5tb2JpbGUtbWVudS1idXR0b24gLm1lbnUtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1vYmlsZS1tZW51LWJ1dHRvbiAubWVudS1vcHRpb24uaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM4ODg5ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBwYWRkaW5nLXRvcDogNzVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vYmlsZS1tZW51IC5tYWluLW1lbnUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC5tb2JpbGUtbWVudSAubWVudS1pdGVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgICAubW9iaWxlLW1lbnUgLm1lbnUtaXRlbSBzdmcge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlOyB9XG4gICAgICAubW9iaWxlLW1lbnUgLm1lbnUtaXRlbSBzdmcuaXMtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAubW9iaWxlLW1lbnUgLnN1YiB7XG4gICAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgLm1vYmlsZS1tZW51IC5qcy1oYXMtc3VibWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubW9iaWxlLW1lbnUgLmpzLWhhcy1zdWJtZW51IGEuaXMtYWN0aXZlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJzsgfVxuICAgICAgLm1vYmlsZS1tZW51IC5qcy1oYXMtc3VibWVudSBhLmlzLWFjdGl2ZSBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5tb2JpbGUtbWVudSAuc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGJhY2tncm91bmQ6ICNlOGVjZWY7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5tb2JpbGUtbWVudSAuc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5tb2JpbGUtbWVudSAuc3VibWVudSBhLmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBTdGQgQm9sZFwiLCBcImZ1dHVyYS1wdC1ib2xkXCIsIFwiSGluZFwiOyB9XG4gICAgLm1vYmlsZS1tZW51IC5zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9iaWxlLW1lbnUuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDkwcHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxNztcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5tb2JpbGUtbWVudS5pcy1hY3RpdmUge1xuICAgICAgICB0b3A6IDE2MHB4OyB9IH1cblxuLm1vYmlsZS1tZW51IC5qcy1oYXMtc3VibWVudS5hY3RpdmUgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubW9iaWxlLW1lbnUgLmpzLWhhcy1zdWJtZW51LmFjdGl2ZSBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjNweDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgY29udGVudDogJyc7IH1cblxuLnRvcC1tZW51LW1vYmlsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC50b3AtbWVudS1tb2JpbGUgLndyYXBwZXIge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC50b3AtbWVudS1tb2JpbGUgLmpzLWhhcy1zdWJtZW51IGEge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC50b3AtbWVudS1tb2JpbGUgLmpzLWhhcy1zdWJtZW51IHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRvcC1tZW51LW1vYmlsZSAudG9wLW1lbnUge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogNXB4IDAgMzBweDsgfSB9XG4gIC50b3AtbWVudS1tb2JpbGUgLnRvcC1tZW51IGxpIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgIC50b3AtbWVudS1tb2JpbGUgLnRvcC1tZW51IGxpOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICM0ZjU4NWY7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgIC50b3AtbWVudS1tb2JpbGUgLnRvcC1tZW51IGxpLmxhc3Qge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gICAgICAudG9wLW1lbnUtbW9iaWxlIC50b3AtbWVudSBsaS5sYXN0OjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudG9wLW1lbnUtbW9iaWxlIC50b3AtbWVudSBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgd2lkdGg6IDIxJTsgfVxuICAgIC50b3AtbWVudS1tb2JpbGUgLnRvcC1tZW51IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogMTIlOyB9XG4gICAgLnRvcC1tZW51LW1vYmlsZSAudG9wLW1lbnUgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHdpZHRoOiAyNiU7IH1cbiAgICAudG9wLW1lbnUtbW9iaWxlIC50b3AtbWVudSBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgd2lkdGg6IDQwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBJbmZvcm1hdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLmluZm9ybWF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA4NXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB6LWluZGV4OiAzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIC5pbmZvcm1hdGlvbiAuaGVhZGluZy0xLWJsYWNrLFxuICAuaW5mb3JtYXRpb24gLm9wZW5pbmctaG91cnNfX2NvbnRlbnQgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5pbmZvcm1hdGlvbiAuaGVhZGluZy0xLWJsYWNrLFxuICAgICAgLmluZm9ybWF0aW9uIC5vcGVuaW5nLWhvdXJzX19jb250ZW50IGgyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9IH1cbiAgICAuaW5mb3JtYXRpb24gLmhlYWRpbmctMS1ibGFjazo6YWZ0ZXIsXG4gICAgLmluZm9ybWF0aW9uIC5vcGVuaW5nLWhvdXJzX19jb250ZW50IGgyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAtMzBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAuaW5mb3JtYXRpb24gLmhlYWRpbmctMS1ibGFjazo6YWZ0ZXIsXG4gICAgICAgIC5pbmZvcm1hdGlvbiAub3BlbmluZy1ob3Vyc19fY29udGVudCBoMjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuaW5mb3JtYXRpb24gLmhlYWRpbmctMS1ibGFjayBzdmcsXG4gICAgLmluZm9ybWF0aW9uIC5vcGVuaW5nLWhvdXJzX19jb250ZW50IGgyIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIC5pbmZvcm1hdGlvbiAuaGVhZGluZy0xLWJsYWNrIHN2ZyxcbiAgICAgICAgLmluZm9ybWF0aW9uIC5vcGVuaW5nLWhvdXJzX19jb250ZW50IGgyIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLmluZm9ybWF0aW9uIC5oZWFkaW5nLTEtYmxhY2sgc3ZnLmlzLWFjdGl2ZSxcbiAgICAgIC5pbmZvcm1hdGlvbiAub3BlbmluZy1ob3Vyc19fY29udGVudCBoMiBzdmcuaXMtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uaW5mb3JtYXRpb25fX2ljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMwcHg7XG4gIHJpZ2h0OiAtNDBweDtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIHotaW5kZXg6IDI5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaW5mb3JtYXRpb25fX2ljb24ge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuLmluZm9ybWF0aW9uX191cHBlciB7XG4gIG1hcmdpbi1ib3R0b206IC0xMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZWJmMGU4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaW5mb3JtYXRpb25fX3VwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgei1pbmRleDogMjA7IH0gfVxuXG4ucHJpY2VzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLXRvcDogNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnByaWNlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJpY2VzIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wcmljZXMgaDIge1xuICAgICAgZm9udC1zaXplOiAyNXB4OyB9IH1cblxuLmluZm9ybWF0aW9uX19oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5pbmZvcm1hdGlvbl9faGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4ucHJpY2VzX190ZXh0IHtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnByaWNlc19fdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcmljZXNfX3RleHQge1xuICAgICAgd2lkdGg6IDYzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnByaWNlc19fdGV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wcmljZXNfX3RleHQgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnByaWNlc19fdGV4dCB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5wcmljZXNfX3RleHQgdWwge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIC5wcmljZXNfX3RleHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnByaWNlc19fdGV4dCBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAucHJpY2VzX190ZXh0IGxpIHN0cm9uZyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgLnByaWNlc19fdGV4dCBsaSBzdHJvbmcge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDNweCk7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5wcmljZXNfX3RleHQgbGkgc3Ryb25nIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygyMCUgLSAzcHgpOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgLnByaWNlc19fdGV4dCBsaSBzdHJvbmcge1xuICAgICAgICAgIHdpZHRoOiA5MHB4OyB9IH1cbiAgICAgIC5wcmljZXNfX3RleHQgbGkgc3Ryb25nOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGJsYWNrO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgIC5wcmljZXNfX3RleHQgbGkgc3Ryb25nOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTVweDsgfSB9XG4gICAgLnByaWNlc19fdGV4dCBsaSBwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc2JSAtIDNweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA5NXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgLnByaWNlc19fdGV4dCBsaSBwIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg2NSUgLSAzcHgpO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5wcmljZXNfX3RleHQgbGkgcCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gM3B4KTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgLnByaWNlc19fdGV4dCBsaSBwIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cbiAgLnByaWNlc19fdGV4dCAuYnV0dG9uLWdyb2VuIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDRweCAyMHB4IDRweCAzMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnByaWNlc19fdGV4dCAuYnV0dG9uLWdyb2VuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcmljZXNfX3RleHQgLmJ1dHRvbi1ncm9lbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLnByaWNlc19fdGV4dCAuYnV0dG9uLWdyb2VuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG4gICAgLnByaWNlc19fdGV4dCAuYnV0dG9uLWdyb2VuIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4ucHJpY2VzX19pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wcmljZXNfX2ltYWdlcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByaWNlc19faW1hZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDM3JTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucHJpY2VzX19pbWFnZXMge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5wcmljZXNfX2ltYWdlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH0gfVxuXG4ucHJpY2VzX19pbWFnZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJpY2VzX19pbWFnZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucHJpY2VzX19pbWFnZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAucHJpY2VzX19pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH0gfVxuICAucHJpY2VzX19pbWFnZSBpbWcge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uaW5mb3JtYXRpb25fX2xvd2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNzY4NmMyIDUwJSwgd2hpdGUgNTAlKTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmluZm9ybWF0aW9uX19sb3dlciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgei1pbmRleDogMjA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmluZm9ybWF0aW9uX19sb3dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZWJmMGU4IDUwJSwgd2hpdGUgNTAlKTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaW5mb3JtYXRpb25fX2xvd2VyIC53cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ub3BlbmluZy1ob3VycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA1MCU7XG4gIG1heC13aWR0aDogNjIwcHg7XG4gIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm9wZW5pbmctaG91cnMge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm9wZW5pbmctaG91cnMgaDIge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXNpemU6IDRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5vcGVuaW5nLWhvdXJzIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7IH0gfVxuICAub3BlbmluZy1ob3VycyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDsgfVxuICAub3BlbmluZy1ob3VycyBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NjQ3MWVtO1xuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG4ub3BlbmluZy1ob3Vyc19fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAyMHB4IDUwcHggMTAwcHg7XG4gIGJhY2tncm91bmQ6ICNlYmYwZTg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5vcGVuaW5nLWhvdXJzX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm9wZW5pbmctaG91cnNfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAyMHB4IDUwcHggNDBweDsgfSB9XG4gIC5vcGVuaW5nLWhvdXJzX19jb250ZW50IHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAub3BlbmluZy1ob3Vyc19fY29udGVudCBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIC5vcGVuaW5nLWhvdXJzX19jb250ZW50OjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZWJmMGU4O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm9wZW5pbmctaG91cnNfX2NvbnRlbnQ6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5xdWVzdGlvbnMge1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucXVlc3Rpb25zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnF1ZXN0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzY4NmMyO1xuICAgICAgei1pbmRleDogMjE7IH0gfVxuICAucXVlc3Rpb25zIC5vd2wtbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5xdWVzdGlvbnMubWFyZ2luLXRvcC01MCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuXG4ucXVlc3Rpb24tc2luZ2xlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucXVlc3Rpb24tc2luZ2xlX19xdWVzdGlvbiB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDsgfVxuXG4ucXVlc3Rpb24tc2luZ2xlX19iYWNrLFxuLnF1ZXN0aW9uLXNpbmdsZV9fbmV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5xdWVzdGlvbi1zaW5nbGVfX2JhY2s6aG92ZXIsXG4gICAgLnF1ZXN0aW9uLXNpbmdsZV9fbmV4dDpob3ZlciB7XG4gICAgICBjb2xvcjogIzc2ODZjMjtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAucXVlc3Rpb24tc2luZ2xlX19iYWNrIHN2ZyxcbiAgLnF1ZXN0aW9uLXNpbmdsZV9fbmV4dCBzdmcge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW46IDAgNXB4OyB9XG5cbi5xdWVzdGlvbi1zaW5nbGVfX2Ftb3VudCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcbiAgb3BhY2l0eTogMC42OyB9XG4gIC5xdWVzdGlvbi1zaW5nbGVfX2Ftb3VudCBzcGFuIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG5cbi5xdWVzdGlvbi1zaW5nbGVfX3RvcGljIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luOiA0MHB4IDAgMjBweDtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnOyB9XG5cbi5xdWVzdGlvbi1zaW5nbGVfX2Fuc3dlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM4ODg5ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICM1MTYxOWY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucXVlc3Rpb24tc2luZ2xlX19hbnN3ZXIge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4OyB9IH1cbiAgLnF1ZXN0aW9uLXNpbmdsZV9fYW5zd2VyLmlzLXJldmVhbGVkIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTc5ZGVnKTsgfVxuICAgIC5xdWVzdGlvbi1zaW5nbGVfX2Fuc3dlci5pcy1yZXZlYWxlZCAuYW5zd2VyLXJldmVhbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5xdWVzdGlvbi1zaW5nbGVfX2Fuc3dlci5pcy1yZXZlYWxlZCAuYW5zd2VyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgICAgLnF1ZXN0aW9uLXNpbmdsZV9fYW5zd2VyLmlzLXJldmVhbGVkIC5hbnN3ZXIgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLnF1ZXN0aW9uLXNpbmdsZV9fYW5zd2VyLmlzLXJldmVhbGVkIC5hbnN3ZXIgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5hbnN3ZXItcmV2ZWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMDFzIDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogIzUxNjE5ZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmFuc3dlci1yZXZlYWwgc3ZnIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIC5hbnN3ZXItcmV2ZWFsIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgb3BhY2l0eTogMC42OyB9XG5cbi5hbnN3ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm1vcmUtaW5mbyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubW9yZS1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggOTBweCA1MHB4IDMwcHg7IH0gfVxuICAubW9yZS1pbmZvLm1vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5tb3JlLWluZm8ubW9iaWxlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAubW9yZS1pbmZvLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9yZS1pbmZvLmRlc2t0b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAubW9yZS1pbmZvLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vcmUtaW5mbzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogMjA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5tb3JlLWluZm86OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9IH1cbiAgLm1vcmUtaW5mbyAuYnV0dG9uLWdyb2VuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIyMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm1vcmUtaW5mbyAuYnV0dG9uLWdyb2VuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gICAgLm1vcmUtaW5mbyAuYnV0dG9uLWdyb2VuIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICByaWdodDogNXB4OyB9XG5cbi5tb3JlLWluZm9fX2ltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm1vcmUtaW5mb19faW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDBweDsgfSB9XG4gIC5tb3JlLWluZm9fX2ltZyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODVweDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAubW9yZS1pbmZvX19pbWcgaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4OyB9IH1cbiAgLm1vcmUtaW5mb19faW1nOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogNHB4O1xuICAgIGxlZnQ6IC0zMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIC8qYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkY29sb3ItYmxhY2stMTAwOyovXG4gICAgY29udGVudDogJyc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAubW9yZS1pbmZvX19pbWc6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogLTEwcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm1vcmUtaW5mb19faW1nOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IC00NXB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTVweCk7XG4gICAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkIGJsYWNrOyB9IH1cblxuLm1vcmUtaW5mb19fZWRpdG9yIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5tb3JlLWluZm9fX2VkaXRvciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSXRlbSBMaXN0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGVhc2Vycy0taXRlbS1saXN0IHtcbiAgcGFkZGluZzogNjBweCAwIDc1cHg7IH1cbiAgLnRlYXNlcnMtLWl0ZW0tbGlzdC5iYWNrZ3JvdW5kLWNvbG9yLWdyZXkgLnRlYXNlci1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC50ZWFzZXJzLS1pdGVtLWxpc3QuYmFja2dyb3VuZC1jb2xvci1ncmV5IC50ZWFzZXItaW5uZXJfX3RpdGxlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VmOyB9IH1cbiAgLnRlYXNlcnMtLWl0ZW0tbGlzdCAudGVhc2VyLWlubmVyIHtcbiAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xuICAgIGJhY2tncm91bmQ6ICNlYmYwZTg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnRlYXNlcnMtLWl0ZW0tbGlzdCAudGVhc2VyLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC50ZWFzZXJzLS1pdGVtLWxpc3QgLnRlYXNlci1pbm5lcl9fdGl0bGUge1xuICAgIG1hcmdpbjogMTVweCAyMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC50ZWFzZXJzLS1pdGVtLWxpc3QgLnRlYXNlci1pbm5lcl9fdGl0bGUge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAudGVhc2Vycy0taXRlbS1saXN0IC50ZWFzZXItaW5uZXJfX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC50ZWFzZXJzLS1pdGVtLWxpc3QgLnRlYXNlci1pbm5lcl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnRlYXNlcnMtLWl0ZW0tbGlzdCAudGVhc2VyLWlubmVyX19saW5rIHN2ZyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMYW5ndWFnZSBtZW51XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGFuZ3VhZ2UtbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubGFuZ3VhZ2UtbWVudSAuY3VycmVudCB7XG4gICAgb3BhY2l0eTogMC42OyB9XG5cbi5sYW5ndWFnZS1tZW51X19pdGVtIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5sYW5ndWFnZS1tZW51X19pdGVtLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sYW5ndWFnZS1tZW51X19pdGVtLmlzLW5vdC1hY3RpdmUge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB6LWluZGV4OiA5OTsgfVxuXG4ubGFuZ3VhZ2UtbWVudV9faXRlbS0tbmwuaXMtbm90LWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMnB4O1xuICBsZWZ0OiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExvZ2luXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubG9naW4ge1xuICBtYXJnaW46IDcwcHggMDsgfVxuICAubG9naW4gLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxvZ2luIC5mb3Jnb3QtcGFzc3dvcmQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgY29sb3I6ICM3Njg2YzI7IH1cbiAgLmxvZ2luIC5tZXNzYWdlLmZvcmdvdC1wYXNzd29yZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAubG9naW4gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubG9naW4gLmxvZ2luX19mb3JtLWJ1dHRvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBMaWdodFwiO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gICAgLmxvZ2luIC5sb2dpbl9fZm9ybS1idXR0b24gc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ubG9naW5fX2Zvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogLTUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubG9naW5fX2Zvcm0ge1xuICAgICAgbWFyZ2luOiAtMzVweDsgfSB9XG5cbi5sb2dpbl9fZm9ybS1jb2x1bW4ge1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiA1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmxvZ2luX19mb3JtLWNvbHVtbiB7XG4gICAgICBwYWRkaW5nOiAzNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2dpbl9fZm9ybS1jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKipcclxuICogVGl0bGUuXHJcbiAqL1xuLmxvZ2luX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgZm9udC1zaXplOiA1cmVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBTdGQgQm9sZFwiLCBcImZ1dHVyYS1wdC1ib2xkXCIsIFwiSGluZFwiOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubG9naW5fX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmxvZ2luX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuLmxvZ2luX19mb3JtLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmxvZ2luX19mb3JtLWl0ZW0gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBCb2xkXCIsIFwiZnV0dXJhLXB0LWJvbGRcIiwgXCJIaW5kXCI7IH1cbiAgLmxvZ2luX19mb3JtLWl0ZW0gaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXM7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjOGNlZTY7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmxvZ2luX19mb3JtLWl0ZW0gaW5wdXQ6aG92ZXIsIC5sb2dpbl9fZm9ybS1pdGVtIGlucHV0LmlzLWZpbGxlZCB7XG4gICAgICBib3JkZXItY29sb3I6IGJsYWNrOyB9XG4gICAgLmxvZ2luX19mb3JtLWl0ZW0gaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xuICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4OyB9XG5cbi5sb2dpbl9fZm9ybS1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTWFnbmlmaWMgUG9wLXVwXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWZwLWJnIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgbWFyZ2luOiA1cHg7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIChzaW5nbGUpLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLm5ld3MtbGlzdC12aWV3IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgLTEwcHg7XG4gIHBhZGRpbmc6IDAgMCA3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmV3cy1saXN0LXZpZXcge1xuICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuICAubmV3cy1saXN0LXZpZXcgLmFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgIG1hcmdpbjogMTBweCAxMHB4IDUwcHg7XG4gICAgYmFja2dyb3VuZDogI2U4ZWNlZjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5uZXdzLWxpc3QtdmlldyAuYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAubmV3cy1saXN0LXZpZXcgLmFydGljbGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgICAubmV3cy1saXN0LXZpZXcgLmFydGljbGUgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcic7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5uZXdzLWxpc3QtdmlldyAuYXJ0aWNsZSBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDIwOHB4OyB9IH1cbiAgICAubmV3cy1saXN0LXZpZXcgLmFydGljbGU6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLm5ld3MtbGlzdC12aWV3IC50ZWFzZXItdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDQwcHg7IH1cbiAgICAubmV3cy1saXN0LXZpZXcgLnRlYXNlci10ZXh0IHAge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLm5ld3MtbGlzdC12aWV3IC50ZWFzZXItdGV4dCBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5uZXdzLWxpc3QtdmlldyAuYnV0dG9uLWdyb2VuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNiMDdlNGIgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm5ld3MtbGlzdC12aWV3IC5idXR0b24tZ3JvZW4ge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogaW5pdGlhbDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5uZXdzLWxpc3QtdmlldyAuYnV0dG9uLWdyb2VuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzhjNjQzYyAhaW1wb3J0YW50OyB9IH1cbiAgLm5ld3MtbGlzdC12aWV3IGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLmFydGljbGVfX2Rlc2NyaXB0aW9uIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpbmUtY2xhbXA6IDM7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5uZXdzIC5hcnRpY2xlIC5uZXdzLWltZy13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBmbG9hdDogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLm5ld3MgLmFydGljbGUgLm5ld3MtaW1nLXdyYXAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmlzLW5ld3MgLmRlZmF1bHQge1xuICBtYXJnaW46IDA7IH1cbiAgLmlzLW5ld3MgLmRlZmF1bHQgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnBhZ2UtbmF2aWdhdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5uZXdzLWxhdGVzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNTBweCAwO1xuICB6LWluZGV4OiAxMDsgfVxuICAubmV3cy1sYXRlc3QgLmhlYWRpbmctMS1ibGFjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAubmV3cy1sYXRlc3QgLm5ld3MgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxhdGVzdCAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubmV3cy1sYXRlc3QgLmFydGljbGU6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubmV3cy1sYXRlc3RfX3JlYWRtb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05N3B4O1xuICByaWdodDogMDsgfVxuXG4ubmV3cy1sYXRlc3RfX2ltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIGxlZnQ6IDI1JTtcbiAgd2lkdGg6IDI3NXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5ld3MtbGF0ZXN0X19pbWcge1xuICAgICAgdG9wOiAtNTBweDtcbiAgICAgIHdpZHRoOiAxMjVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxhdGVzdF9faW1nIHtcbiAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbi5pcy1uZXdzIC5uZXdzLWxhdGVzdF9faW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIChzaW5nbGUpLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubmV3cy1zaW5nbGUgLnBhZ2UtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uZXdzLXNpbmdsZSAuaGVhZGluZy0xLXdoaXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweCAhaW1wb3J0YW50OyB9IH1cblxuLm5ld3Mtc2luZ2xlIC5oZWFkaW5nLTEtYmxhY2sge1xuICBmb250LXNpemU6IDUwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDcwcHggIWltcG9ydGFudDsgfVxuXG4ubmV3cy1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uZXdzLXNpbmdsZS1oZWFkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uZXdzLXNpbmdsZS1oZWFkZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAtMTUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogLTkwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG5cbi5uZXdzLXdyYXBwZXIge1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5uZXdzLXdyYXBwZXIgLnRlYXNlci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5uZXdzIC5hcnRpY2xlIC5uZXdzLWltZy13cmFwIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwMHB4O1xuICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyJztcbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5uZXdzIC5hcnRpY2xlIC5uZXdzLWltZy13cmFwIGltZyB7XG4gICAgICBoZWlnaHQ6IDE1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MgLmFydGljbGUgLm5ld3MtaW1nLXdyYXAgaW1nIHtcbiAgICAgIGhlaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmlzLW5ld3Mtc2luZ2xlIC5uZXdzLWltZy13cmFwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLmlzLW5ld3Mtc2luZ2xlIC5uZXdzLWltZy13cmFwOm5vdCg6bnRoLWNoaWxkKDEpKSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmlzLW5ld3Mtc2luZ2xlIC5uZXdzLWltZy13cmFwOm5vdCg6bnRoLWNoaWxkKDEpKSBpbWcge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuaXMtbmV3cy1zaW5nbGUgLm5ld3MtaW1nLXdyYXAgKyAucGFnZS1oZWFkZXJfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4uaXMtbmV3cy1zaW5nbGUgLm5ld3Mtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgNDBweDsgfVxuICAuaXMtbmV3cy1zaW5nbGUgLm5ld3Mtd3JhcHBlcjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1uZXdzLXNpbmdsZSAubmV3cy10ZXh0LXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLW5ld3Mtc2luZ2xlIC5uZXdzLXRleHQtd3JhcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5vdGlmaWNhdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5vdGlmaWNhdGlvbi1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogODM1cHg7XG4gIG1hcmdpbjogODBweCBhdXRvO1xuICBwYWRkaW5nOiAxMDBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubm90aWZpY2F0aW9uLXBvcHVwIHtcbiAgICAgIG1hcmdpbjogODBweCA1MHB4O1xuICAgICAgcGFkZGluZzogNTBweCAyMHB4OyB9IH1cbiAgLm5vdGlmaWNhdGlvbi1wb3B1cC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ub3RpZmljYXRpb24tcG9wdXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTUycHg7XG4gICAgbGVmdDogLTUwcHg7XG4gICAgd2lkdGg6IDE1NHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vSW1hZ2VzL2dlbGVlZHBvdGlnZW4uc3ZnXCIpO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5ub3RpZmljYXRpb24tcG9wdXA6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC01MHB4O1xuICAgIGJvdHRvbTogLTQ5cHg7XG4gICAgd2lkdGg6IDE0MnB4O1xuICAgIGhlaWdodDogMTE0cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vSW1hZ2VzL3NjaGltbWVscy5zdmdcIik7XG4gICAgY29udGVudDogJyc7IH1cblxuLm5vdGlmaWNhdGlvbi1wb3B1cF9fdGl0bGUge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjgzcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubm90aWZpY2F0aW9uLXBvcHVwX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ub3RpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQgaDEsXG4gIC5ub3RpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQgaDIsXG4gIC5ub3RpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQgaDMsXG4gIC5ub3RpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQgaDQge1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41NnB4OyB9XG4gIC5ub3RpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTsgfVxuICAubm90aWZpY2F0aW9uLXBvcHVwX19jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVlbTtcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9vayc7XG4gICAgZm9udC1zaXplOiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjRweDsgfVxuXG4ubm90aWZpY2F0aW9uLXBvcHVwX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9vayc7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjU2cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTm90aWZpY2F0aW9uIEJ1bGxldC5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ub3RpZmljYXRpb24tYnVsbGV0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4ubm90aWZpY2F0aW9uLWJ1bGxldF9faW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjBlODsgfVxuXG4ubm90aWZpY2F0aW9uLWJ1bGxldF9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb29rJztcbiAgZm9udC1zaXplOiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI0cHg7IH1cbiAgLm5vdGlmaWNhdGlvbi1idWxsZXRfX3RleHQgYSB7XG4gICAgY29sb3I6ICNiMDdlNGI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubm90aWZpY2F0aW9uLWJ1bGxldF9fdGV4dCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXIgKHBhZ2UpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXG4ucGFnZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwMHB4O1xuICBhbmltYXRpb246IHNsaWRlRG93biAxNzUwbXMgZWFzZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMTUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAyNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAucGFnZS1oZWFkZXIubmV3cy1zaW5nbGUtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNDMwcHg7IH0gfVxuXG4ucGFnZS1oZWFkZXJfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnBhZ2UtaGVhZGVyX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4ucGFnZS1oZWFkZXJfX3RpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMzBweDtcbiAgei1pbmRleDogMzsgfVxuICAucGFnZS1oZWFkZXJfX3RpdGxlIC5oZWFkaW5nLTEtd2hpdGUge1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMjBweCBibGFjazsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wYWdlLWhlYWRlcl9fdGl0bGUgLmhlYWRpbmctMS13aGl0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi42NjY2N2VtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wYWdlLWhlYWRlcl9fdGl0bGUgLmhlYWRpbmctMS13aGl0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zMzMzM2VtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTmV3cyAoc2luZ2xlKS5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi5wYWdlLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICAucGFnZS1uYXZpZ2F0aW9uIGxpIHtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAgIC5wYWdlLW5hdmlnYXRpb24gbGk6aG92ZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucGFnZS1uYXZpZ2F0aW9uIC5jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjYzhjZWU2ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucGFnZS1uYXZpZ2F0aW9uIHN2ZyB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbjogOHB4IDVweCAwOyB9XG5cbi5wYWdlLW5hdmlnYXRpb25fX3BhcmFwcmFwaCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmYzLXdpZGdldC1wYWdpbmF0b3Ige1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNlYXJjaFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5hdl9fc2VhcmNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdl9fc2VhcmNoIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNHB4OyB9IH1cblxuLnNlYXJjaC1mb3JtX19leHBhbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMCAwIDFweCAxMnB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGJsYWNrO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5zZWFyY2gtZm9ybV9fZXhwYW5kIHtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnNlYXJjaC1mb3JtX19leHBhbmQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7IH0gfVxuICAuc2VhcmNoLWZvcm1fX2V4cGFuZCBzdmcge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5zZWFyY2gtZm9ybV9fZXhwYW5kIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsgfSB9XG5cbi5zZWFyY2gtZm9ybV9faW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTcwcHg7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuc2VhcmNoLWZvcm1fX2lucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1NXB4OyB9IH1cbiAgLnNlYXJjaC1mb3JtX19pbnB1dCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjJweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogOTclOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5zZWFyY2gtZm9ybV9faW5wdXQgaW5wdXQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gIC5zZWFyY2gtZm9ybV9faW5wdXQuaXMtYWN0aXZlIHtcbiAgICB0b3A6IC0xNXB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTM7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuc2VhcmNoLWZvcm1fX2lucHV0LmlzLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogMTM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnNlYXJjaC1mb3JtX19pbnB1dC5pcy1hY3RpdmUge1xuICAgICAgICB0b3A6IDEzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuXG4uc2VhcmNoLWZvcm1fX3N1Ym1pdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7IH1cblxuLnNlYXJjaC1mb3JtX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNXB4O1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zZWFyY2gtZm9ybV9fY2xvc2Uge1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuICAuc2VhcmNoLWZvcm1fX2Nsb3NlIHN2ZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5zZWFyY2gtZm9ybV9fY2xvc2Ugc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNlYXJjaFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbnRlbnQtZGVmYXVsdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnR4LWluZGV4ZWRzZWFyY2gtc2VhcmNoYm94LFxuLnR4LWluZGV4ZWRzZWFyY2gtcnVsZXMsXG4udHgtaW5kZXhlZHNlYXJjaC1pbmZvLFxuLnR4LWluZGV4ZWRzZWFyY2gtaWNvbixcbi50eC1pbmRleGVkc2VhcmNoLXBlcmNlbnQsXG4udHgtaW5kZXhlZHNlYXJjaC1kZXNjcmlwdGlvbixcbi50eC1pbmRleGVkc2VhcmNoLWJyb3dzZWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnR4LWluZGV4ZWRzZWFyY2gtaW5mby1zd29yZCB7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgZm9udC1zaXplOiA1cmVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudHgtaW5kZXhlZHNlYXJjaC1pbmZvLXN3b3JkIHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjg1NzFlbTsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0X193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgLTEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9XG5cbi50eC1pbmRleGVkc2VhcmNoLXJlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMjBweCk7XG4gIG1hcmdpbjogMTBweCAxMHB4IDI1cHg7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgYmFja2dyb3VuZDogI2U4ZWNlZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnR4LWluZGV4ZWRzZWFyY2gtcmVzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50eC1pbmRleGVkc2VhcmNoLXJlcyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDIwcHgpOyB9IH1cbiAgLnR4LWluZGV4ZWRzZWFyY2gtcmVzIC5idXR0b24tcHJpbWFyeS0tZ3JlZW4ge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMTU3OWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGJvdHRvbTogLTE1cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2cHggMjBweDsgfVxuICAgIC50eC1pbmRleGVkc2VhcmNoLXJlcyAuYnV0dG9uLXByaW1hcnktLWdyZWVuIHN2ZyB7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi50eC1pbmRleGVkc2VhcmNoLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNsaWRlc2hvd1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLnNsaWRlc2hvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMzsgfVxuXG4vKipcclxuICogIFNsaWRlIGNvbnRhaW5lci5cclxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5zbGlkZXNob3dfX3NsaWRlcyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLyoqXHJcbiAqICBTbGlkZS5cclxuICovXG4uc2xpZGVzaG93IC5zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbmltYXRpb246IHNsaWRlRG93biAxNzUwbXMgZWFzZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvdyAuc2xpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5zbGlkZXNob3cgLnNsaWRlOm50aC1jaGlsZCgxKSAuc2xpZGUtYmVoaW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmMmU1O1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTAwMG1zOyB9XG4gIC5zbGlkZXNob3cgLnNsaWRlOm50aC1jaGlsZCgyKSAuc2xpZGUtYmVoaW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlY2VmO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwMG1zOyB9XG4gIC5zbGlkZXNob3cgLnNsaWRlOm50aC1jaGlsZCgzKSAuc2xpZGUtYmVoaW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzhjZWU2O1xuICAgIGFuaW1hdGlvbi1kZWxheTogMzAwMG1zOyB9XG4gIC5zbGlkZXNob3cgLnNsaWRlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgYmxhY2spO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3cgLnNsaWRlOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5zbGlkZXNob3cgLnNsaWRlOmhvdmVyIC5zbGlkZV9faW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00ODBweCk7IH1cbiAgICAuc2xpZGVzaG93IC5zbGlkZTpob3Zlcjo6YWZ0ZXIsXG4gICAgLnNsaWRlc2hvdyAuc2xpZGU6aG92ZXIgLnNsaWRlX190aXRsZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnNsaWRlc2hvdyAuc2xpZGU6aG92ZXIgLnNsaWRlLWJlaGluZCB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMjA7IH0gfVxuXG4vKipcclxuICogIFNsaWRlIHRpdGxlLlxyXG4gKi9cbi5zbGlkZV9fdGl0bGUge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAzNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuc2xpZGVfX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKipcclxuICogIFNsaWRlIGltYWdlLlxyXG4gKi9cbi5zbGlkZV9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZV9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnNsaWRlX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTsgfSB9XG4gIC5zbGlkZV9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXInO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlX19pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDE1MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuc2xpZGVfX2ltYWdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMjUwcHg7IH0gfVxuXG4vKipcclxuICogIENvbnRlbnQgdG8gYmUgcmV2ZWFsZWQuXHJcbiAqL1xuLnNsaWRlLWJlaGluZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogLTEwMCU7XG4gIGxlZnQ6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ4MHB4O1xuICBtaW4taGVpZ2h0OiA0ODBweDtcbiAgcGFkZGluZzogMCAzMHB4O1xuICB0cmFuc2l0aW9uOiBib3R0b20gMzUwbXMgZWFzZSwgb3BhY2l0eSAzNTBtcyBlYXNlO1xuICB6LWluZGV4OiAtMTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlLWJlaGluZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDMwcHggNXB4IDMwcHggMjBweDtcbiAgICAgIHotaW5kZXg6IDIwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zbGlkZS1iZWhpbmQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zbGlkZS1iZWhpbmQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5zbGlkZS1iZWhpbmQgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAzMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnNsaWRlLWJlaGluZCBhIHtcbiAgICAgICAgcGFkZGluZzogMHB4IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zbGlkZS1iZWhpbmQgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zbGlkZS1iZWhpbmQgYnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyB9IH1cblxuLyoqXHJcbiAqICBUaXRsZSBvZiB0aGUgY29udGVudCBiZWhpbmQuXHJcbiAqL1xuLnNsaWRlLWJlaGluZF9fdGl0bGUge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTtcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogLTU1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5zbGlkZS1iZWhpbmRfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZS1iZWhpbmRfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnNsaWRlLWJlaGluZF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG5cbi8qKlxyXG4gKiAgRWRpdG9yIHNldHRpbmdzIG9mIHRoZSBjb250ZW50IGJlaGluZC5cclxuICovXG4uc2xpZGUtYmVoaW5kX19lZGl0b3Ige1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogLTM1cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zbGlkZS1iZWhpbmRfX2VkaXRvciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXHJcbiAqICBMaW5rIG9mIHRoZSBjb250ZW50IGJlaGluZC5cclxuICovXG4uc2xpZGVfX2xpbmsge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuc2xpZGVfX2xpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2NXB4O1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZV9fbGluayB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogYmxhY2s7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlX19saW5rIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zbGlkZV9fbGluayBzdmcge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZV9fbGluayBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjVweDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnNsaWRlX19saW5rIHN2ZyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIC5zbGlkZV9fbGluayBzdmc6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU2xpZGVzaG93XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXG4uc2xpZGVyIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuc2xpZGVyIC53cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXIgLndyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuICAuc2xpZGVyIC5idXR0b24tdHJhbnNwYXJhbnQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnNsaWRlciAudGV4dC1pbWFnZV9faW1hZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuc2xpZGVyIC50ZXh0LWltYWdlX19pbWFnZV9fYmFja2dyb3VuZCB7XG4gICAgICBsZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5zbGlkZXIgLnRleHQtaW1hZ2VfX2ltYWdlLXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTdWJtZW51XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogIFN1Ym1lbnUuXHJcbiAqL1xuLmpzLWhhcy1zdWJtZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5qcy1oYXMtc3VibWVudSA+IGEge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gIC5qcy1oYXMtc3VibWVudSBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuanMtaGFzLXN1Ym1lbnU6aG92ZXIgLnN1Ym1lbnUge1xuICAgICAgdG9wOiA1MHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH0gfVxuXG4uc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zdWJtZW51IC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3VibWVudSBhIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMTVweCAwIDVweDsgfVxuICAgIC5zdWJtZW51IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDI1MG1zIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLnN1Ym1lbnUgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA1cHggIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZWFtIG1lbWJlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xuLnRlYW0tbWVtYmVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNzVweCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGVhbS1tZW1iZXJzIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG5cbi50ZWFtLW1lbWJlcl9fbG9vcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMTBweDsgfVxuXG4udGVhbS1tZW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZWFtLW1lbWJlciB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGVhbS1tZW1iZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gIC50ZWFtLW1lbWJlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2U4ZWNlZjtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTsgfVxuXG4udGVhbS1tZW1iZXJfX2ltYWdlIHtcbiAgYmFja2dyb3VuZDogI2ViZjBlODsgfVxuICAudGVhbS1tZW1iZXJfX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNTBweDsgfVxuXG4udGVhbS1tZW1iZXJfX3RpdGxlIHtcbiAgcGFkZGluZzogNDBweCAzMHB4OyB9XG5cbi50ZWFtLW1lbWJlcl9fZnVuY3Rpb24ge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuLnRlYW0tbWVtYmVyX19lZGl0b3Ige1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDIwcHggNDBweCAyMHB4IDA7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCB3aGl0ZTsgfVxuICAudGVhbS1tZW1iZXJfX2VkaXRvciB1bCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBsaXN0LXN0eWxlOiBzcXVhcmU7IH1cbiAgLnRlYW0tbWVtYmVyX19lZGl0b3IgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmRlZmF1bHQgKyAudGVhbS1tZW1iZXJzIHtcbiAgcGFkZGluZzogMCAwIDc1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5kZWZhdWx0ICsgLnRlYW0tbWVtYmVycyB7XG4gICAgICBwYWRkaW5nOiAwIDAgNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRlYXNlcnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi50ZWFzZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRlYXNlcnMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICAudGVhc2Vycy5pbWFnZS1wb3J0cmFpdCAudGVhc2VyLWlubmVyX19pbWFnZSBpbWcge1xuICAgIGhlaWdodDogNDI1cHg7IH1cblxuLyoqXHJcbiAqICBNYWluIHRpdGxlLlxyXG4gKi9cbi50ZWFzZXJzX19oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi8qKlxyXG4gKiAgTG9vcC5cclxuICovXG4udGVhc2Vyc19fbG9vcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIC0xMHB4OyB9XG5cbi8qKlxyXG4gKiAgU2luZ2xlIHRlYXNlci5cclxuICovXG4udGVhc2VyIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMjBweCk7XG4gIG1hcmdpbjogMzBweCAxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGVhc2VyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDEwcHggMTVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZWFzZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGVhc2VyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7IH0gfVxuXG4vKipcclxuICogIFNpbmdsZSBpbm5lci5cclxuICovXG4udGVhc2VyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYmFja2dyb3VuZDogI2ViZjBlODsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnRlYXNlci1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLyoqXHJcbiAqICBUZWFzZXIgdGl0bGUuXHJcbiAqL1xuLnRlYXNlci1pbm5lcl9fdGl0bGUge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnRlYXNlci1pbm5lcl9fdGl0bGUge1xuICAgICAgcGFkZGluZzogMTVweDsgfSB9XG5cbi8qKlxyXG4gKiAgVGVhc2VyIGltYWdlLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRlYXNlci1pbm5lcl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGVhc2VyLWlubmVyX19pbWFnZSBpbWcge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIGhlaWdodDogMTcwcHg7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4vKipcclxuICogIExpbmsuXHJcbiAqL1xuLnRlYXNlci1pbm5lcl9fbGluayB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE5MDQ4ZW07XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0yMHB4O1xuICB3aWR0aDogMTM1cHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDhweCAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGVhc2VyLWlubmVyX19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGVhc2VyLWlubmVyX19saW5rIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50ZWFzZXItaW5uZXJfX2xpbmsgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAudGVhc2VyLWlubmVyX19saW5rIHN2ZyB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7IH0gfVxuXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5ICsgLnRlYXNlcnMsXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbiArIC50ZWFzZXJzLFxuLnBhZ2UtaGVhZGVyICsgLnRlYXNlcnMge1xuICBwYWRkaW5nLXRvcDogNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmJhY2tncm91bmQtY29sb3ItZ3JleSArIC50ZWFzZXJzLFxuICAgIC5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuICsgLnRlYXNlcnMsXG4gICAgLnBhZ2UtaGVhZGVyICsgLnRlYXNlcnMge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH0gfVxuXG4uaW5mb3JtYXRpb24gKyAudGVhc2VycyB7XG4gIG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQvaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi50ZXh0LWltYWdlLFxuLnRleHQtdGVhc2VycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiA3MHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZSxcbiAgICAudGV4dC10ZWFzZXJzIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDsgfSB9XG4gIC50ZXh0LWltYWdlIC5vd2wtc3RhZ2UsXG4gIC50ZXh0LXRlYXNlcnMgLm93bC1zdGFnZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAudGV4dC1pbWFnZSAub3dsLWRvdHMsXG4gIC50ZXh0LXRlYXNlcnMgLm93bC1kb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC50ZXh0LWltYWdlIC5vd2wtZG90cyxcbiAgICAgIC50ZXh0LXRlYXNlcnMgLm93bC1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAudGV4dC1pbWFnZSAub3dsLWRvdHMsXG4gICAgICAudGV4dC10ZWFzZXJzIC5vd2wtZG90cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBjYWxjKDI4JSAtIDEwcHgpOyB9IH1cbiAgLnRleHQtaW1hZ2UgLm93bC1kb3QsXG4gIC50ZXh0LXRlYXNlcnMgLm93bC1kb3Qge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCBibGFjaztcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAudGV4dC1pbWFnZSAub3dsLWRvdC5hY3RpdmUsXG4gICAgLnRleHQtdGVhc2VycyAub3dsLWRvdC5hY3RpdmUge1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC50ZXh0LWltYWdlIC53cmFwcGVyLFxuICAudGV4dC10ZWFzZXJzIC53cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50ZXh0LWltYWdlLm9yZGVyLXJpZ2h0IC5oZWFkaW5nLTEtYmxhY2ssXG4gIC50ZXh0LXRlYXNlcnMub3JkZXItcmlnaHQgLmhlYWRpbmctMS1ibGFjayB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgNDVweCk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1pbWFnZS5vcmRlci1yaWdodCAuaGVhZGluZy0xLWJsYWNrLFxuICAgICAgLnRleHQtdGVhc2Vycy5vcmRlci1yaWdodCAuaGVhZGluZy0xLWJsYWNrIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4vKipcclxuICogIENvbnRlbnQuXHJcbiAqL1xuLnRleHQtaW1hZ2VfX2NvbnRlbnQsXG4udGV4dC10ZWFzZXJzX19jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNDVweCk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19jb250ZW50LFxuICAgIC50ZXh0LXRlYXNlcnNfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAudGV4dC1pbWFnZV9fY29udGVudCBhLFxuICAudGV4dC10ZWFzZXJzX19jb250ZW50IGEge1xuICAgIGNvbG9yOiAjYjA3ZTRiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnRleHQtaW1hZ2VfX2NvbnRlbnQgYTpob3ZlcixcbiAgICAudGV4dC10ZWFzZXJzX19jb250ZW50IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM4YzY0M2M7IH1cbiAgLnRleHQtaW1hZ2VfX2NvbnRlbnQgLmJ1dHRvbi1icnVpbixcbiAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLWJydWluIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgcGFkZGluZzogNnB4IDIwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC50ZXh0LWltYWdlX19jb250ZW50IC5idXR0b24tYnJ1aW46aG92ZXIsXG4gICAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLWJydWluOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAudGV4dC1pbWFnZV9fY29udGVudCAuZGVmYXVsdF9fdGV4dCBzdHJvbmcsXG4gIC50ZXh0LXRlYXNlcnNfX2NvbnRlbnQgLmRlZmF1bHRfX3RleHQgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRleHQtaW1hZ2VfX2NvbnRlbnQgLmJ1dHRvbi10cmFuc3BhcmFudCxcbiAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLXRyYW5zcGFyYW50IHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC50ZXh0LWltYWdlX19jb250ZW50IC5idXR0b24tdHJhbnNwYXJhbnQ6aG92ZXIsXG4gICAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLXRyYW5zcGFyYW50OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiMDdlNGI7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLnRleHQtaW1hZ2VfX2NvbnRlbnQgLmJ1dHRvbi1ncm9lbixcbiAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLWdyb2VuIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC50ZXh0LWltYWdlX19jb250ZW50IC5idXR0b24tZ3JvZW46aG92ZXIsXG4gICAgICAudGV4dC10ZWFzZXJzX19jb250ZW50IC5idXR0b24tZ3JvZW46aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH0gfVxuXG4vKipcclxuICogIEltYWdlcyBjb250YWluZXIuXHJcbiAqL1xuLnRleHQtaW1hZ2VfX2ltYWdlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNDVweCk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19pbWFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLyoqXHJcbiAqICBJbWFnZSB0aXRsZS5cclxuICovXG4udGV4dC1pbWFnZV9faW1hZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBtaW4taGVpZ2h0OiAyOHB4O1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgY29sb3I6ICM1MTYxOWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHotaW5kZXg6IDExOyB9XG5cbi8qKlxyXG4gKiAgU2luZ2xlIGltYWdlIGNvbnRhaW5lci5cclxuICovXG4udGV4dC1pbWFnZV9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwOyB9XG5cbi8qKlxyXG4gKiAgSW1hZ2UuXHJcbiAqL1xuLnRleHQtaW1hZ2VfX2ltYWdlLXNyYyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9faW1hZ2Utc3JjIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19pbWFnZS1zcmMge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlX19pbWFnZS1zcmMge1xuICAgICAgbWF4LXdpZHRoOiA0NTBweDsgfSB9XG5cbi8qKlxyXG4gKiAgSW1hZ2UgYmFja2dyb3VuZC5cclxuICovXG4udGV4dC1pbWFnZV9faW1hZ2UtYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogMzBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICBoZWlnaHQ6IDkwJTtcbiAgYmFja2dyb3VuZDogIzc2ODZjMjtcbiAgb3BhY2l0eTogMC40O1xuICB6LWluZGV4OiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9faW1hZ2UtYmFja2dyb3VuZCB7XG4gICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgb3BhY2l0eTogMC42OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlX19pbWFnZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDsgfSB9XG5cbi5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlICsgLnRleHQtaW1hZ2UuYmFja2dyb3VuZC1jb2xvci13aGl0ZSB7XG4gIHBhZGRpbmc6IDAgMCA3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYmFja2dyb3VuZC1jb2xvci13aGl0ZSArIC50ZXh0LWltYWdlLmJhY2tncm91bmQtY29sb3Itd2hpdGUge1xuICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0IHRlYXNlcnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LXRlYXNlcnMge1xuICBiYWNrZ3JvdW5kOiAjZThlY2VmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGV4dC10ZWFzZXJzIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDAgNzVweDsgfSB9XG4gIC50ZXh0LXRlYXNlcnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEwMHB4O1xuICAgIGxlZnQ6IDIwJTtcbiAgICB3aWR0aDogMjc1cHg7XG4gICAgaGVpZ2h0OiAyMDJweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2ZpbGVhZG1pbi91c2VyX3VwbG9hZC9XRUVLRElFUkVOLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXRlYXNlcnM6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMjAwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC50ZXh0LXRlYXNlcnM6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgd2lkdGg6IDE5M3B4O1xuICAgICAgICBoZWlnaHQ6IDE0MnB4OyB9IH1cbiAgLnRleHQtdGVhc2VycyArIGRpdiB7XG4gICAgcGFkZGluZy10b3A6IDIwMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtdGVhc2VycyArIGRpdiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDsgfSB9XG5cbi8qKlxyXG4gKiAgTG9vcC5cclxuICovXG4udGV4dC10ZWFzZXJzX190ZWFzZXJzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC50ZXh0LXRlYXNlcnNfX3RlYXNlcnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXRlYXNlcnNfX3RlYXNlcnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cblxuLyoqXHJcbiAqICBNYWluIHRpdGxlLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRleHQtdGVhc2Vyc19fdGl0bGUge1xuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7IH0gfVxuXG4vKipcclxuICogIFNpbmdsZSB0ZWFzZXIuXHJcbiAqL1xuLnRleHQtdGVhc2VyIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXRlYXNlciB7XG4gICAgICBtYXJnaW46IGF1dG8gMCA3MHB4OyB9IH1cblxuLyoqXHJcbiAqICBJbm5lci5cclxuICovXG4udGV4dC10ZWFzZXItaW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRleHQtdGVhc2VyLWlubmVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDEwcHg7IH1cblxuLyoqXHJcbiAqICBDb250ZW50LlxyXG4gKi9cbi50ZXh0LXRlYXNlcnNfX2NvbnRlbnQge1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC50ZXh0LXRlYXNlcnNfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC50ZXh0LXRlYXNlcnNfX2NvbnRlbnQgcDpub3QoLmhhcy1saW5rKSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLWdyb2VuIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnRleHQtdGVhc2Vyc19fY29udGVudCAuYnV0dG9uLWdyb2VuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC50ZXh0LXRlYXNlcnNfX2NvbnRlbnQgLmJ1dHRvbi1ncm9lbjpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnRleHQtdGVhc2Vyc19fY29udGVudDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGV4dC10ZWFzZXItaW5uZXJfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4vKipcclxuICogIEFkZGl0aW9uYWwgcnVsZXMuXHJcbiAqL1xuLmJhY2tncm91bmQtY29sb3Itd2hpdGUgKyAudGV4dC10ZWFzZXJzLmJhY2tncm91bmQtY29sb3Itd2hpdGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUcmlwZSBDb2x1bW5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cbi50cmlwbGUtY29sdW1uIHtcbiAgcGFkZGluZzogMTAwcHggMDtcbiAgYmFja2dyb3VuZDogI2U4ZWNlZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRyaXBsZS1jb2x1bW4ge1xuICAgICAgcGFkZGluZzogNTBweCAwOyB9IH1cbiAgLnRyaXBsZS1jb2x1bW4gLndyYXBwZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnRyaXBsZS1jb2x1bW4gKyAud3JhcHBlciA+IC5nb29nbGUtbWFwcyB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cblxuLnRyaXBsZS1jb2x1bW5fX2l0ZW0ge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50cmlwbGUtY29sdW1uX19pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAgICAgLnRyaXBsZS1jb2x1bW5fX2l0ZW06bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLnRyaXBsZS1jb2x1bW5fX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnRyaXBsZS1jb2x1bW5fX2hlYWRlciBpbWcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLnRyaXBsZS1jb2x1bW5fX2hlYWRlciAuZWRpdG9yX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRyaXBsZS1jb2x1bW5fX2VkaXRvciBhIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICNiMDdlNGI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC50cmlwbGUtY29sdW1uX19lZGl0b3IgYTpob3ZlciB7XG4gICAgY29sb3I6ICM4YzY0M2M7IH1cblxuLnRyaXBsZS1jb2x1bW5fX2VkaXRvciBhLmJ1dHRvbi1ncm9lbiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnRyaXBsZS1jb2x1bW5fX2VkaXRvciBhLmJ1dHRvbi1icnVpbiB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZTtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSW50cmFuZXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5pbnRyYW5ldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIC8qKlxyXG4gICAqIEhlYWRlci5cclxuICAgKi9cbiAgLyoqXHJcbiAgICogSGVhZGVyIGxvZ28uXHJcbiAgICovXG4gIC8qKlxyXG4gICAqIEhlYWRlciBjb2xsYXBzZS5cclxuICAgKi9cbiAgLyoqXHJcbiAgICogQ29udGVudC5cclxuICAgKi9cbiAgLyoqXHJcbiAgICogTmV3czogU2luZ2xlLlxyXG4gICAqLyB9XG4gIC5pbnRyYW5ldCAuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDI5MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmMGU4OyB9XG4gICAgLmludHJhbmV0IC5oZWFkZXIuaXMtY29sbGFwc2VkIHtcbiAgICAgIHdpZHRoOiA1MHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCB7XG4gICAgICAgICAgd2lkdGg6IDk0cHg7IH0gfVxuICAgICAgLmludHJhbmV0IC5oZWFkZXIuaXMtY29sbGFwc2VkICsgLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgKyAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOTRweCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOTRweDsgfSB9XG4gICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmludHJhbmV0LW1lbnVfX2xvZ291dDo6YmVmb3JlLCAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmludHJhbmV0LW1lbnVfX2xvZ291dDo6YWZ0ZXIge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmludHJhbmV0LW1lbnVfX2xvZ291dDo6YmVmb3JlLCAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmludHJhbmV0LW1lbnVfX2xvZ291dDo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9IH1cbiAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAubG9nb3V0LWJ1dHRvbl9fdGV4dCxcbiAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAuaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkgPiBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMTAwbXMgMW1zO1xuICAgICAgICBmb250LXNpemU6IDA7IH1cbiAgICAgICAgLmludHJhbmV0IC5oZWFkZXIuaXMtY29sbGFwc2VkIC5sb2dvdXQtYnV0dG9uX190ZXh0OjpiZWZvcmUsIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAubG9nb3V0LWJ1dHRvbl9fdGV4dDo6YWZ0ZXIsXG4gICAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAuaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkgPiBhOjpiZWZvcmUsXG4gICAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAuaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkgPiBhOjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmxvZ291dC1idXR0b25fX3RleHQ6OmJlZm9yZSwgLmludHJhbmV0IC5oZWFkZXIuaXMtY29sbGFwc2VkIC5sb2dvdXQtYnV0dG9uX190ZXh0OjphZnRlcixcbiAgICAgICAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAuaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkgPiBhOjpiZWZvcmUsXG4gICAgICAgICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmludHJhbmV0LW1lbnUgLnRvcC1tZW51IGxpID4gYTo6YWZ0ZXIge1xuICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9IH1cbiAgICAgIC5pbnRyYW5ldCAuaGVhZGVyLmlzLWNvbGxhcHNlZCAuaGVhZGVyLWxvZ28ge1xuICAgICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDEwMG1zIDFtczsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgLmludHJhbmV0IC5oZWFkZXIuaXMtY29sbGFwc2VkIC5oZWFkZXItbG9nbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgLmludHJhbmV0IC5oZWFkZXIuaXMtY29sbGFwc2VkIC5oZWFkZXItbG9nbyBpbWcge1xuICAgICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmhlYWRlci1sb2dvIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNDBweDsgfSB9XG4gICAgICAuaW50cmFuZXQgLmhlYWRlci5pcy1jb2xsYXBzZWQgLmhlYWRlci1sb2dvX19zbG9nYW4ge1xuICAgICAgICB0cmFuc2l0aW9uOiAxMDBtcyAxbXM7XG4gICAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAuaW50cmFuZXQgLmhlYWRlci1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDEwMG1zIDg1MG1zO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaW50cmFuZXQgLmhlYWRlci1sb2dvIGltZyB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmludHJhbmV0IC5oZWFkZXItbG9nb19fc2xvZ2FuIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogMTAwbXMgODUwbXM7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5pbnRyYW5ldCAuaGVhZGVyX19jb2xsYXBzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMDBweDtcbiAgICBsZWZ0OiAyOTBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDg1MG1zO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmYwZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuaW50cmFuZXQgLmhlYWRlcl9fY29sbGFwc2Ugc3ZnIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zOyB9XG4gICAgLmludHJhbmV0IC5oZWFkZXJfX2NvbGxhcHNlLmlzLWFjdGl2ZSB7XG4gICAgICBsZWZ0OiA1MHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIC5pbnRyYW5ldCAuaGVhZGVyX19jb2xsYXBzZS5pcy1hY3RpdmUge1xuICAgICAgICAgIGxlZnQ6IDk0cHg7IH0gfVxuICAgICAgLmludHJhbmV0IC5oZWFkZXJfX2NvbGxhcHNlLmlzLWFjdGl2ZSBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICAuaW50cmFuZXQgLmNvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOTBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDI5MHB4O1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDg1MG1zIGVhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgei1pbmRleDogOTk7IH1cbiAgLmludHJhbmV0IC5jb250ZW50LWRlZmF1bHQge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuaW50cmFuZXQgLmNvbnRlbnQtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMjVweDsgfSB9XG4gICAgLmludHJhbmV0IC5jb250ZW50LWRlZmF1bHQgKyAubmV3cyAubmV3cy1saXN0X190ZWFzZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaW50cmFuZXQgLmRlZmF1bHQ6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmludHJhbmV0IC5kZWZhdWx0X190aXRsZSBoMSxcbiAgICAuaW50cmFuZXQgLmRlZmF1bHRfX3RpdGxlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfSB9XG4gIC5pbnRyYW5ldCAubmV3cyB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuaW50cmFuZXQgLm5ld3Mge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTI1cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzMwcHgpIHtcbiAgICAuaW50cmFuZXQgLm5ld3MtaGVhZCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuaW50cmFuZXQgLm5ld3MtbGlzdF9fdGVhc2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgLmludHJhbmV0IC5uZXdzLWxpc3RfX3RlYXNlcjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuaW50cmFuZXQgLm5ld3MtbGlzdC12aWV3IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLmludHJhbmV0IC5uZXdzLWxpc3QtdmlldyAuYXJ0aWNsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaW50cmFuZXQgLm5ld3MtbGlzdC12aWV3IC5hcnRpY2xlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEgLSAyMHB4KTsgfSB9XG4gIC5pbnRyYW5ldCAubmV3cy1saXN0LXZpZXcgLmFydGljbGU6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgIG1hcmdpbjogMTBweCAxMHB4IDUwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmludHJhbmV0IC5uZXdzLWxpc3QtdmlldyAubmV3cy1pbWctd3JhcCxcbiAgICAuaW50cmFuZXQgLm5ld3MtbGlzdC12aWV3IC50ZWFzZXItdGV4dCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5pbnRyYW5ldCAubmV3cy1saXN0LXZpZXcgLnRlYXNlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDsgfSB9XG4gIC5pbnRyYW5ldCAubmV3cy1saXN0LXZpZXcgLm5ld3MtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBCb2xkXCIsIFwiZnV0dXJhLXB0LWJvbGRcIiwgXCJIaW5kXCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaW50cmFuZXQgLm5ld3MtbGlzdC12aWV3IC5uZXdzLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5pbnRyYW5ldCAubmV3cy1saXN0LXZpZXcgLmRhdGUsXG4gIC5pbnRyYW5ldCAubmV3cy1saXN0LXZpZXcgLnRlYXNlci10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVlbTtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgU3RkIEJvb2tcIiwgXCJmdXR1cmEtcHQtYm9sZFwiLCBcIkhpbmRcIjtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5pbnRyYW5ldCAubmV3cy1saXN0LXZpZXcgLmRhdGUsXG4gICAgICAuaW50cmFuZXQgLm5ld3MtbGlzdC12aWV3IC50ZWFzZXItdGV4dCBwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuaW50cmFuZXQgLm5ld3MtbGlzdC12aWV3IC5idXR0b24tZ3JvZW4ge1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgLmludHJhbmV0IC5uZXdzLXNpbmdsZSAuYnV0dG9uLXRlcnRpYXJ5LS1icm93biBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5pbnRyYW5ldCAubmV3cy1zaW5nbGUgLnBhZ2UtaGVhZGVyX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDUwcHggMDtcbiAgICBwYWRkaW5nOiAwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAuaW50cmFuZXQgLm5ld3Mtc2luZ2xlIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDUwcHggMCAwOyB9IH1cbiAgLmludHJhbmV0IC5uZXdzLXNpbmdsZSAuYXJ0aWNsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIC5pbnRyYW5ldCAubmV3cy1zaW5nbGUgLm5ld3Mtc2luZ2xlX190ZWFzZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmludHJhbmV0IC5uZXdzLXNpbmdsZSAubmV3cy1pbWctd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4vKipcclxuICogTWVudS5cclxuICovXG4uaW50cmFuZXQtbWVudV9fbG9nb3V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuICBjb2xvcjogIzc2ODZjMjtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBCb2xkXCIsIFwiZnV0dXJhLXB0LWJvbGRcIiwgXCJIaW5kXCI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmludHJhbmV0LW1lbnVfX2xvZ291dCB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAuaW50cmFuZXQtbWVudV9fbG9nb3V0OjpiZWZvcmUsIC5pbnRyYW5ldC1tZW51X19sb2dvdXQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M1YzFkNjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuaW50cmFuZXQtbWVudV9fbG9nb3V0OjpiZWZvcmUge1xuICAgIHRvcDogMDsgfVxuICAuaW50cmFuZXQtbWVudV9fbG9nb3V0OjphZnRlciB7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5pbnRyYW5ldC1tZW51X19sb2dvdXQgc3ZnIHtcbiAgICB3aWR0aDogMjFweDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5pbnRyYW5ldC1tZW51X19sb2dvdXQgLmxvZ291dC1idXR0b25fX3RleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgODUwbXMsIGNvbG9yIDIwMG1zOyB9XG4gIC5pbnRyYW5ldC1tZW51X19sb2dvdXQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNTE2MTlmOyB9XG4gICAgLmludHJhbmV0LW1lbnVfX2xvZ291dDpob3Zlcjo6YmVmb3JlLCAuaW50cmFuZXQtbWVudV9fbG9nb3V0OmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE2MTlmOyB9XG5cbi5pbnRyYW5ldC1tZW51IC50b3AtbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmludHJhbmV0LW1lbnUgLnRvcC1tZW51IGxpID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIDg1MG1zLCBjb2xvciAyMDBtcztcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBCb29rXCIsIFwiZnV0dXJhLXB0LWJvbGRcIiwgXCJIaW5kXCI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmludHJhbmV0LW1lbnUgLnRvcC1tZW51IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAuaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzBweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMzBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVjMWQ2O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5pbnRyYW5ldC1tZW51IC50b3AtbWVudSBsaSA+IGEgc3ZnIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5pbnRyYW5ldC1tZW51IC50b3AtbWVudSBsaSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNTE2MTlmOyB9XG5cbi5pbnRyYW5ldC1tZW51IC50b3AtbWVudSBsaS5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGZkNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xvclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXG4vKipcclxuICAgICAgICogYGNvbG9yYCBibGFjay0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItYmxhY2stMTAwIHtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmxhY2stMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgcmdiYSgwLCAwLCAwLCAwLjUpLTUwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTUwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIHJnYmEoMCwgMCwgMCwgMC41KS01MCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsYWNrLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci13aGl0ZS0xMDAge1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCB3aGl0ZS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci13aGl0ZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZWJmMGU4LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi0xMDAge1xuICBjb2xvcjogI2ViZjBlODsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNlYmYwZTgtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjBlODsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjNmFhZDQwLTIwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi0yMDAge1xuICBjb2xvcjogIzZhYWQ0MDsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM2YWFkNDAtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZhYWQ0MDsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjMDA3MDNjLTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi00MDAge1xuICBjb2xvcjogIzAwNzAzYzsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMwMDcwM2MtNDAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzAzYzsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZWJmMGU4LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmV5LTEwMCB7XG4gIGNvbG9yOiAjZWJmMGU4OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2ViZjBlOC0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmYwZTg7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2U4ZWNlZi0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZ3JleS0yMDAge1xuICBjb2xvcjogI2U4ZWNlZjsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNlOGVjZWYtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JleS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlY2VmOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICM0ZjU4NWYtMzAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZXktMzAwIHtcbiAgY29sb3I6ICM0ZjU4NWY7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNGY1ODVmLTMwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZXktMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRmNTg1ZjsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjYjA3ZTRiLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1icm93bi0xMDAge1xuICBjb2xvcjogI2IwN2U0YjsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNiMDdlNGItMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYnJvd24tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwN2U0YjsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjOWE5NTZlLTIwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1icm93bi0yMDAge1xuICBjb2xvcjogIzlhOTU2ZTsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM5YTk1NmUtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYnJvd24tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlhOTU2ZTsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjYzhjZWU2LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1wdXJwbGUtMTAwIHtcbiAgY29sb3I6ICNjOGNlZTY7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjYzhjZWU2LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXB1cnBsZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjZWU2OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICM3Njg2YzItMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLXB1cnBsZS0yMDAge1xuICBjb2xvcjogIzc2ODZjMjsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM3Njg2YzItMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItcHVycGxlLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njg2YzI7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzUxNjE5Zi0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItcHVycGxlLTMwMCB7XG4gIGNvbG9yOiAjNTE2MTlmOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzUxNjE5Zi0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1wdXJwbGUtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNjE5ZjsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjYTIxOTg0LTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1wdXJwbGUtNDAwIHtcbiAgY29sb3I6ICNhMjE5ODQ7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjYTIxOTg0LTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXB1cnBsZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTIxOTg0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNmZmYyZTUtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLW9yYW5nZS0xMDAge1xuICBjb2xvcjogI2ZmZjJlNTsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNmZmYyZTUtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3Itb3JhbmdlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYyZTU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2VlMzIxNC0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3Itb3JhbmdlLTMwMCB7XG4gIGNvbG9yOiAjZWUzMjE0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2VlMzIxNC0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1vcmFuZ2UtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlMzIxNDsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZGY4YzE5LTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1vcmFuZ2UtNDAwIHtcbiAgY29sb3I6ICNkZjhjMTk7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZGY4YzE5LTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLW9yYW5nZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGY4YzE5OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICMwMDY3YWMtMzAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsdWUtMzAwIHtcbiAgY29sb3I6ICMwMDY3YWM7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMDA2N2FjLTMwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsdWUtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjdhYzsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZmNkNmQwLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1yZWQtMTAwIHtcbiAgY29sb3I6ICNmY2Q2ZDA7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZmNkNmQwLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXJlZC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNkNmQwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgIHJlZC0zMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItcmVkLTMwMCB7XG4gIGNvbG9yOiByZWQ7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCByZWQtMzAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItcmVkLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBPYmplY3QgRml0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogT2JqZWN0IGZpdC5cclxuICpcclxuICogMS4gRm9udCBmYW1pbHkgcG9seWZpbGwgd2l0aCAoaHR0cHM6Ly9naXRodWIuY29tL2JmcmVkLWl0L29iamVjdC1maXQtaW1hZ2VzKS5cclxuICovXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgZmlsbCB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLmZpbGwge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBmaWxsO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IGZpbGw7IH1cblxuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIGNvbnRhaW4gdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5jb250YWluIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY29udGFpbjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBjb3ZlciB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLmNvdmVyIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXI7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIG5vbmUgdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5ub25lIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogbm9uZTtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBub25lOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBzY2FsZS1kb3duIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4uc2NhbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IHNjYWxlLWRvd247XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogc2NhbGUtZG93bjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQb3NpdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXHJcbiAqL1xuLnN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLnJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGV4dFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEZvbnQgZmFtaWx5IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC14cy1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBMaWdodFwiOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLnRleHQtc20tZGVmYXVsdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiRnV0dXJhIFN0ZCBMaWdodFwiOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGV4dC1tZC1kZWZhdWx0IHtcbiAgICBmb250LWZhbWlseTogXCJGdXR1cmEgU3RkIExpZ2h0XCI7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50ZXh0LWxnLWRlZmF1bHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBTdGQgTGlnaHRcIjsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LXhsLWRlZmF1bHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZ1dHVyYSBTdGQgTGlnaHRcIjsgfSB9XG5cbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LXhzLWgxIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtOyB9XG5cbi50ZXh0LXhzLWgyIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzNlbTsgfVxuXG4udGV4dC14cy1oMyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI5ZW07IH1cblxuLnRleHQteHMtaDQge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS40NTQ1NWVtOyB9XG5cbi50ZXh0LXhzLWg1IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4udGV4dC14cy1oNiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4ZW07IH1cblxuLnRleHQteHMtcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY2NjY3ZW07IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGV4dC1zbS1oMSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAudGV4dC1zbS1oMiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07IH1cbiAgLnRleHQtc20taDMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG4gIC50ZXh0LXNtLWg0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuICAudGV4dC1zbS1oNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgLnRleHQtc20taDYge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG4gIC50ZXh0LXNtLXAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42NjY2N2VtOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAudGV4dC1tZC1oMSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAudGV4dC1tZC1oMiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07IH1cbiAgLnRleHQtbWQtaDMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG4gIC50ZXh0LW1kLWg0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuICAudGV4dC1tZC1oNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgLnRleHQtbWQtaDYge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG4gIC50ZXh0LW1kLXAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42NjY2N2VtOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1sZy1oMSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAudGV4dC1sZy1oMiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzZW07IH1cbiAgLnRleHQtbGctaDMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG4gIC50ZXh0LWxnLWg0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuICAudGV4dC1sZy1oNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42ZW07IH1cbiAgLnRleHQtbGctaDYge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG4gIC50ZXh0LWxnLXAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42NjY2N2VtOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtaDEge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07IH1cbiAgLnRleHQteGwtaDIge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzM2VtOyB9XG4gIC50ZXh0LXhsLWgzIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE0MjllbTsgfVxuICAudGV4dC14bC1oNCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1NDU1ZW07IH1cbiAgLnRleHQteGwtaDUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG4gIC50ZXh0LXhsLWg2IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzc3NzhlbTsgfVxuICAudGV4dC14bC1wIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjY2NjdlbTsgfSB9XG5cbi8qKlxyXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLnRleHQteHMtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQteHMtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC14cy1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGV4dC1zbS1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50ZXh0LXNtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAudGV4dC1zbS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRleHQtbWQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGV4dC1tZC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRleHQtbWQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50ZXh0LWxnLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnRleHQtbGctcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAudGV4dC14bC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRleHQteGwtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xuLnRleHQteHMtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14cy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhzLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteHMtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14cy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhzLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteHMtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14cy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhzLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAudGV4dC1zbS0xMDAge1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7IH1cbiAgLnRleHQtc20tMjAwIHtcbiAgICBmb250LXdlaWdodDogMjAwOyB9XG4gIC50ZXh0LXNtLTMwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAudGV4dC1zbS00MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnRleHQtc20tNTAwIHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC50ZXh0LXNtLTYwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAudGV4dC1zbS03MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRleHQtc20tODAwIHtcbiAgICBmb250LXdlaWdodDogODAwOyB9XG4gIC50ZXh0LXNtLTkwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnRleHQtbWQtMTAwIHtcbiAgICBmb250LXdlaWdodDogMTAwOyB9XG4gIC50ZXh0LW1kLTIwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAudGV4dC1tZC0zMDAge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLnRleHQtbWQtNDAwIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC50ZXh0LW1kLTUwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAudGV4dC1tZC02MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRleHQtbWQtNzAwIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50ZXh0LW1kLTgwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAudGV4dC1tZC05MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50ZXh0LWxnLTEwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAudGV4dC1sZy0yMDAge1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLnRleHQtbGctMzAwIHtcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC50ZXh0LWxnLTQwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudGV4dC1sZy01MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnRleHQtbGctNjAwIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50ZXh0LWxnLTcwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudGV4dC1sZy04MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH1cbiAgLnRleHQtbGctOTAwIHtcbiAgICBmb250LXdlaWdodDogOTAwOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtMTAwIHtcbiAgICBmb250LXdlaWdodDogMTAwOyB9XG4gIC50ZXh0LXhsLTIwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuICAudGV4dC14bC0zMDAge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLnRleHQteGwtNDAwIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC50ZXh0LXhsLTUwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAudGV4dC14bC02MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnRleHQteGwtNzAwIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50ZXh0LXhsLTgwMCB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuICAudGV4dC14bC05MDAge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH0gfVxuXG4vKipcclxuICogVGV4dCB0cmFuc2Zvcm0gdWl0bGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LXhzLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC14cy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LXhzLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQteHMtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LXhzLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC50ZXh0LXNtLWNhcGl0YWxpemUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC50ZXh0LXNtLXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGV4dC1zbS1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgLnRleHQtc20tbm9uZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnRleHQtc20tZnVsbC13aWR0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ZXh0LW1kLWNhcGl0YWxpemUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC50ZXh0LW1kLXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGV4dC1tZC1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgLnRleHQtbWQtbm9uZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnRleHQtbWQtZnVsbC13aWR0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50ZXh0LWxnLWNhcGl0YWxpemUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC50ZXh0LWxnLXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGV4dC1sZy1sb3dlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cbiAgLnRleHQtbGctbm9uZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnRleHQtbGctZnVsbC13aWR0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGV4dC14bC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAudGV4dC14bC11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRleHQteGwtbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC50ZXh0LXhsLW5vbmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC50ZXh0LXhsLWZ1bGwtd2lkdGgge1xuICAgIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVmVydGljYWwgUmh5dGhtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udnItMCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4udnItOCB7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG4udnItMTYge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi52ci0yNCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cblxuLnZyLTMyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuXG4udnItNDAge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi52ci00OCB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cblxuLnZyLTU2IHtcbiAgbWFyZ2luLWJvdHRvbTogNTZweDsgfVxuXG4udnItNjQge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG5cbi52ci03MiB7XG4gIG1hcmdpbi1ib3R0b206IDcycHg7IH1cblxuLnZyLTgwIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXG4uei1pbmRleC0wIHtcbiAgei1pbmRleDogMDsgfVxuXG4uei1pbmRleC0xIHtcbiAgei1pbmRleDogMTA7IH1cblxuLnotaW5kZXgtMiB7XG4gIHotaW5kZXg6IDIwOyB9XG5cbi56LWluZGV4LTMge1xuICB6LWluZGV4OiAzMDsgfVxuXG4uei1pbmRleC00IHtcbiAgei1pbmRleDogNDA7IH1cblxuLnotaW5kZXgtNSB7XG4gIHotaW5kZXg6IDUwOyB9XG5cbi56LWluZGV4LTYge1xuICB6LWluZGV4OiA2MDsgfVxuXG4uei1pbmRleC03IHtcbiAgei1pbmRleDogNzA7IH1cblxuLnotaW5kZXgtOCB7XG4gIHotaW5kZXg6IDgwOyB9XG5cbi56LWluZGV4LTkge1xuICB6LWluZGV4OiA5MDsgfVxuXG4uei1pbmRleC0xMCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuIiwiLnVpLXRpbWVwaWNrZXItd3JhcHBlciB7XG5cdG92ZXJmbG93LXk6IGF1dG87XG5cdG1heC1oZWlnaHQ6IDE1MHB4O1xuXHR3aWR0aDogNi41ZW07XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG5cdC13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcblx0LW1vei1ib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjIpO1xuXHRib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjIpO1xuXHRvdXRsaW5lOiBub25lO1xuXHR6LWluZGV4OiAxMDA1Mjtcblx0bWFyZ2luOiAwO1xufVxuXG4udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbiB7XG5cdHdpZHRoOiAxM2VtO1xufVxuXG4udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbi51aS10aW1lcGlja2VyLXN0ZXAtMzAsXG4udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbi51aS10aW1lcGlja2VyLXN0ZXAtNjAge1xuXHR3aWR0aDogMTFlbTtcbn1cblxuLnVpLXRpbWVwaWNrZXItbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnVpLXRpbWVwaWNrZXItZHVyYXRpb24ge1xuXHRtYXJnaW4tbGVmdDogNXB4OyBjb2xvcjogIzg4ODtcbn1cblxuLnVpLXRpbWVwaWNrZXItbGlzdDpob3ZlciAudWktdGltZXBpY2tlci1kdXJhdGlvbiB7XG5cdGNvbG9yOiAjODg4O1xufVxuXG4udWktdGltZXBpY2tlci1saXN0IGxpIHtcblx0cGFkZGluZzogM3B4IDAgM3B4IDVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRjb2xvcjogIzAwMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG4udWktdGltZXBpY2tlci1saXN0OmhvdmVyIC51aS10aW1lcGlja2VyLXNlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogI2ZmZjsgY29sb3I6ICMwMDA7XG59XG5cbmxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQsXG4udWktdGltZXBpY2tlci1saXN0IGxpOmhvdmVyLFxuLnVpLXRpbWVwaWNrZXItbGlzdCAudWktdGltZXBpY2tlci1zZWxlY3RlZDpob3ZlciB7XG5cdGJhY2tncm91bmQ6ICMxOTgwRUM7IGNvbG9yOiAjZmZmO1xufVxuXG5saS51aS10aW1lcGlja2VyLXNlbGVjdGVkIC51aS10aW1lcGlja2VyLWR1cmF0aW9uLFxuLnVpLXRpbWVwaWNrZXItbGlzdCBsaTpob3ZlciAudWktdGltZXBpY2tlci1kdXJhdGlvbiB7XG5cdGNvbG9yOiAjY2NjO1xufVxuXG4udWktdGltZXBpY2tlci1saXN0IGxpLnVpLXRpbWVwaWNrZXItZGlzYWJsZWQsXG4udWktdGltZXBpY2tlci1saXN0IGxpLnVpLXRpbWVwaWNrZXItZGlzYWJsZWQ6aG92ZXIsXG4udWktdGltZXBpY2tlci1saXN0IGxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQudWktdGltZXBpY2tlci1kaXNhYmxlZCB7XG5cdGNvbG9yOiAjODg4O1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1kaXNhYmxlZDpob3Zlcixcbi51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1zZWxlY3RlZC51aS10aW1lcGlja2VyLWRpc2FibGVkIHtcblx0YmFja2dyb3VuZDogI2YyZjJmMjtcbn1cbiIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxuLm1mcC1hbGlnbi10b3Age1xuICAubWZwLWNvbnRhaW5lciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwXG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcblxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgICB0b3A6OHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gIH1cbn1cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgIFNldHRpbmdzICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGIgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDsgXHQgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Lm93bC1zdGFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHR9XG5cblx0Lm93bC13cmFwcGVyLFxuXHQub3dsLWl0ZW17XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHR9XG5cblx0Lm93bC1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHR9XG5cdC5vd2wtaXRlbSBpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Lm93bC1uYXYuZGlzYWJsZWQsXG5cdC5vd2wtZG90cy5kaXNhYmxlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IC5vd2wtcHJldixcblx0Lm93bC1uYXYgLm93bC1uZXh0LFxuXHQub3dsLWRvdCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuXHQub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG5cdGJ1dHRvbi5vd2wtZG90IHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOjAhaW1wb3J0YW50O1xuXHRcdGZvbnQ6IGluaGVyaXQ7XG5cdH1cblxuXHQmLm93bC1sb2FkZWQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtbG9hZGluZyB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWhpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLm93bC1kcmFnIC5vd2wtaXRlbSB7XG5cdFx0dG91Y2gtYWN0aW9uOiBwYW4teTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Ji5vd2wtZ3JhYiB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdGN1cnNvcjogZ3JhYjtcblx0fVxuXG5cdCYub3dsLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdH1cblxuXHQmLm93bC1ydGwgLm93bC1pdGVtIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWx7XG5cdC5hbmltYXRlZCB7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLWluIHtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtb3V0IHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC5mYWRlT3V0IHtcblx0XHRhbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG5cbi5vd2wtaGVpZ2h0IHtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWwge1xuXHQub3dsLWl0ZW0ge1xuXHRcdC5vd2wtbGF6eSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0XHR9XG5cblx0XHQvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovXG5cdFx0Lm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcblx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0aW1nLm93bC1sYXp5IHtcblx0XHRcdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdFx0fVxuXHR9XG59XG5cbiIsIiRvd2wtaW1hZ2UtcGF0aDogXCJcIiAhZGVmYXVsdDtcblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbHtcblx0Lm93bC12aWRlby13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogODBweDtcblx0XHR3aWR0aDogODBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHRcdG1hcmdpbi10b3A6IC00MHB4O1xuXHRcdGJhY2tncm91bmQ6IHVybChcIiN7JG93bC1pbWFnZS1wYXRofW93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC12aWRlby10biB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLWZyYW1lIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcblxyXG5cclxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXHJcbi5tZnAtYmcge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQyO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XHJcbiAgb3BhY2l0eTogMC44OyB9XHJcblxyXG4ubWZwLXdyYXAge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQzO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5tZnAtY29udGFpbmVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBwYWRkaW5nOiAwIDhweDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG5cclxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHotaW5kZXg6IDEwNDU7IH1cclxuXHJcbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXHJcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtYWpheC1jdXIge1xyXG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cclxuXHJcbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XHJcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cclxuXHJcbi5tZnAtem9vbSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogLW1vei16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC1jbG9zZSxcclxuLm1mcC1hcnJvdyxcclxuLm1mcC1wcmVsb2FkZXIsXHJcbi5tZnAtY291bnRlciB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tZnAtcHJlbG9hZGVyIHtcclxuICBjb2xvcjogI0NDQztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcclxuICBsZWZ0OiA4cHg7XHJcbiAgcmlnaHQ6IDhweDtcclxuICB6LWluZGV4OiAxMDQ0OyB9XHJcbiAgLm1mcC1wcmVsb2FkZXIgYSB7XHJcbiAgICBjb2xvcjogI0NDQzsgfVxyXG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjRkZGOyB9XHJcblxyXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbmJ1dHRvbi5tZnAtY2xvc2UsXHJcbmJ1dHRvbi5tZnAtYXJyb3cge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICB6LWluZGV4OiAxMDQ2O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7IH1cclxuXHJcbi5tZnAtY2xvc2Uge1xyXG4gIHdpZHRoOiA0NHB4O1xyXG4gIGhlaWdodDogNDRweDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMC42NTtcclxuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XHJcbiAgLm1mcC1jbG9zZTpob3ZlcixcclxuICAubWZwLWNsb3NlOmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XHJcbiAgICB0b3A6IDFweDsgfVxyXG5cclxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICMzMzM7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXHJcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjb2xvcjogI0ZGRjtcclxuICByaWdodDogLTZweDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtY291bnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBjb2xvcjogI0NDQztcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxyXG5cclxuLm1mcC1hcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01NXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDkwcHg7XHJcbiAgaGVpZ2h0OiAxMTBweDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphY3RpdmUge1xyXG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cclxuICAubWZwLWFycm93OmhvdmVyLFxyXG4gIC5tZnAtYXJyb3c6Zm9jdXMge1xyXG4gICAgb3BhY2l0eTogMTsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlLFxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphZnRlciB7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcclxuICAgIHRvcDogOHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XHJcbiAgICBvcGFjaXR5OiAwLjc7IH1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdCB7XHJcbiAgbGVmdDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XHJcblxyXG4ubWZwLWFycm93LXJpZ2h0IHtcclxuICByaWdodDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxyXG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogOTAwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IC00MHB4OyB9XHJcblxyXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cclxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblxyXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXHJcbmltZy5tZnAtaW1nIHtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xyXG4ubWZwLWZpZ3VyZSB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7IH1cclxuICAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDQwcHg7XHJcbiAgICBib3R0b206IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxyXG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxyXG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7IH1cclxuXHJcbi5tZnAtYm90dG9tLWJhciB7XHJcbiAgbWFyZ2luLXRvcDogLTM2cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICBjb2xvcjogI0YzRjNGMztcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxyXG5cclxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICBtYXgtd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcclxuICAvKipcclxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxyXG4gICAgICAgKi9cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XHJcbiAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB0b3A6IDNweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzVweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7IH0gfVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAubWZwLWFycm93IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cclxuICAubWZwLWFycm93LWxlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxyXG4gIC5tZnAtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cclxuXHJcbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSGVhZGluZ3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiVoZWFkaW5nIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4laGVhZGluZy0xIHtcclxuICBAZXh0ZW5kICVoZWFkaW5nO1xyXG4gIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAnaDEnKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICdoMScpKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4laGVhZGluZy0yIHtcclxuICBAZXh0ZW5kICVoZWFkaW5nO1xyXG4gIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAnaDInKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICdoMicpKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4laGVhZGluZy0zIHtcclxuICBAZXh0ZW5kICVoZWFkaW5nO1xyXG4gIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAnaDMnKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICdoMycpKTtcclxufVxyXG5cclxuJWEge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gTWl4aW5zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBDb250YWluZXJcclxuLy8gQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wXHJcbi8vIGFuZCBib3R0b20uXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcbiAgQGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG4gICAgQGlmICgkZ2FwICE9IDApIHtcclxuICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG4gICAgICBwYWRkaW5nOiAwICRnYXA7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgbWF4LXdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFNlY3Rpb25cclxuLy8gQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICR0b3AgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGJvdHRvbSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xyXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XHJcbiAgQGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcclxuICAgIHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEZvbnRcclxuLy8gQWRkcyBgcmVtYCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYSBmYWxsYmFja1xyXG4vLyBgcHhgIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhbmQgYSBgZW1gIHVuaXQgYmFzZWQgbGluZSBoZWlnaHRcclxuLy8gcHJvcGVydHkgdG8gYW55IHJ1bGUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRsaW5lLWhlaWdodCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuICBAaWYgKHR5cGUtb2YoJGZvbnQtc2l6ZSkgPT0gbnVtYmVyIGFuZCB1bml0KCRmb250LXNpemUpID09ICdweCcpIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICAgIGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skZm9udC1zaXplfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuICB9XHJcbiAgQGlmICh0eXBlLW9mKCRsaW5lLWhlaWdodCkgPT0gbnVtYmVyIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gJ3B4Jykge1xyXG4gICAgbGluZS1oZWlnaHQ6ICgoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgKiAxZW0pO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JGxpbmUtaGVpZ2h0fWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBUZXh0XHJcbi8vIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb25cclxuLy8gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbi8vIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSB0ZXh0KCdwJyk7XHJcbkBtaXhpbiB0ZXh0KCR2YWx1ZSkge1xyXG4gIEBpZiAodHlwZS1vZigkdmFsdWUpID09IHN0cmluZykge1xyXG4gICAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICR2YWx1ZSksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAkdmFsdWUpKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnVmFsdWUgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb250IEF3ZXNvbWVcclxuLy8gQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuICBAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuICAgIGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBNZWRpYVxyXG4vLyBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiXHJcbi8vIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQGV4YW1wbGVcclxuLy8gICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG5AbWl4aW4gbWVkaWEoJHNpemUpIHtcclxuICBAaWYgKCRzaXplID09ICdkZXNrdG9wJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAncGhvbmUnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRnVuY3Rpb25zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBVbmljb2RlXHJcbi8vIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gQW4gdW5pY29kZSBzdHJpbmcuXHJcbi8vIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcclxuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xyXG4gIEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcclxuXHJcblxyXG4vLyBSRU1cclxuLy8gQ29udmVydCBwaXhlbCB1bml0cyB0byBSRU0gdW5pdHMuXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkcGl4ZWxzIC0gUGl4ZWwgdmFsdWUuXHJcbi8vIEByZXR1cm4geyp9IC0gQSBjb252ZXJ0ZWQgYHJlbWAgdW5pdC5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JHBpeGVsc31gIHNob3VsZCBiZSBhIGBweGAgdW5pdC4nO1xyXG4gIH1cclxuICBAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XHJcbn1cclxuXHJcblxyXG4vLyBDb2x1bW5cclxuLy8gQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXHJcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxyXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW4sICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XHJcbiAgQHJldHVybiAoJGNvbHVtbiAgKiAxMDAlIC8gJGNvbHVtbnMpO1xyXG59XHJcblxyXG5cclxuLy8gQ29sb3JcclxuLy8gR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cclxuLy8gQHBhcmFtIHskc3RyaW5nfSAka2V5IC0gS2V5IG9mIHRoZSBjb2xvciB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4vLyBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCYXNlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxyXG4gKlxyXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cclxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXHJcbiAqL1xyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm94LXNpemluZzogaW5oZXJpdDsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIGZvbnQtc2l6ZTogNjIuNSU7IC8qIDEgKi9cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cclxuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBGaXJlZm94IDI1Ky5cclxuICogMi4gQ2hyb21lIDUrLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG4gIEBpbmNsdWRlIHRleHQoJGJvZHktdGV4dCk7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZC1jb2xvcjtcclxuICBjb2xvcjogJGJvZHktY29sb3I7XHJcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5LCAnZnV0dXJhLXB0JywgJ2Z1dHVyYS1wdC1jb25kZW5zZWQnLCAnZnV0dXJhLXB0LWJvbGQnLCAnSGluZCcsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1mYW1pbHk6ICdmdXR1cmEtcHQnLCBzYW5zLXNlcmlmOyBcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUmVzZXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxyXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcclxuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cclxuICovXHJcblxyXG5hIHtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7IC8qIDEgKi9cclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5ociB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXHJcbiAqL1xyXG5cclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxudWwsXHJcbm9sIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbnAge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBDb2xsYXBzZSBib3JkZXJzIHRvIHByZXZlbnQgZG91YmxlIHNpZGVkIGJvcmRlcnMuXHJcbiAqL1xyXG5cclxudGFibGUge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAxICovXHJcbn1cclxuXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBBbmltYXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuQGtleWZyYW1lcyBzbGlkZURvd24ge1xyXG4gIDAlIHtcclxuICAgIHRvcDogLTIwMHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnV0dG9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbixcclxuLmJ1dHRvbi1ncm9lbixcclxuLnN0eWxlLWdyZWVuICB7XHJcbiAgQGluY2x1ZGUgZm9udCgyMHB4LCAzMHB4KTtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiA3cHggMjBweDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTIwMDtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1ncmVlbi0yMDAsIDEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRpY2tldHMge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbi1zZWNvbmRhcnktLWdyZWVuIHtcclxuICBwYWRkaW5nOiAzcHggMTBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICB9XHJcbn1cclxuXHJcbi5idXR0b24tcHJpbWFyeS0tYnJvd24sXHJcbi5zdHlsZS1icm93bixcclxuLmJ1dHRvbi1icnVpbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiA0cHggMTBweDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJyb3duLTEwMDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYnJvd24tMTAwO1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjhweDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLWJyb3duLTEwMCwgMTAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5idXR0b24tc2Vjb25kYXJ5LS1icm93bixcclxuLmJ1dHRvbi10cmFuc3BhcmFudCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiA0cHggMTBweDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJyb3duLTEwMDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJyb3duLTEwMDtcclxuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5idXR0b24tc2Vjb25kYXJ5LS13aGl0ZSB7XHJcbiAgcGFkZGluZzogM3B4IDEwcHg7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlLTEwMDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogJGNvbG9yLXB1cnBsZS0yMDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS0yMDA7XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9uLXRlcnRpYXJ5LS1icm93biB7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXMgZWFzZTtcclxuICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLWJyb3duLTEwMCwgMTUlKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRhaW5lclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyO1xyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIERlZmluaXRpb25zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBHcmlkXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBHcmlkIHdpZHRoLlxyXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cclxuJGdyaWQtd2lkdGg6IDEwMjRweDtcclxuXHJcbi8vIEdyaWQgY29sdW1ucy5cclxuLy8gQW1vdW50IG9mIGdyaWQgY29sdW1ucyB0byBjYWxjdWxhdGUgYSBjb2x1bW4gd2lkdGggd2l0aC5cclxuJGdyaWQtY29sdW1uczogMTI7XHJcblxyXG4vLyBHcmlkIGdhcC5cclxuLy8gU3BhY2UgYmV0d2VlbiBncmlkIGNvbHVtbnMsIGF1dG9tYXRlZC5cclxuJGdyaWQtZ2FwOiAyMHB4O1xyXG5cclxuXHJcbi8vIEFzc2V0c1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gSW1hZ2UgcGF0aC5cclxuJGltYWdlLXBhdGg6ICcuLi9pbWFnZXMvJztcclxuXHJcblxyXG4vLyBCb2R5XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBCb2R5IGJhY2tncm91bmQgY29sb3IuXHJcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGNvbG9yLlxyXG4kYm9keS1jb2xvcjogJGNvbG9yLWJsYWNrLTEwMDtcclxuXHJcbi8vIEJvZHkgZm9udCBmYW1pbHkuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2RlZmF1bHQnKTtcclxuXHJcbi8vIEJvZHkgdGV4dC5cclxuJGJvZHktdGV4dDogJ3AnO1xyXG5cclxuXHJcbi8vIE90aGVyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBMaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogJGNvbG9yLWJsYWNrLTEwMDtcclxuXHJcblxyXG4vLyBSZXNwb25zaXZlXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHhzOiBudWxsLFxyXG4gIHNtOiAncGhvbmUnLFxyXG4gIG1kOiAndGFibGV0LXBvcnRyYWl0LXVwJyxcclxuICBsZzogJ3RhYmxldC1sYW5kc2NhcGUtdXAnLFxyXG4gIHhsOiAnZGVza3RvcCdcclxuKTtcclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGVudCBDb25zdHJhaW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVGhlIGNvbnRlbnQgY29uc3RyYWludCBpcyBhIGNvbnN0cmFpbnQgZm9yIGFsbCB0aGUgY29udGVudCB3aXRoaW5cclxuICogdGhlIGRvY3VtZW50LiBJdCBjYW4gYmUgbWFuaXB1bGF0ZWQgYnkgQ1NTIG9yIEphdmFTY3JpcHQgd2l0aG91dFxyXG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cclxuICovXHJcblxyXG4uY29udGVudC1jb25zdHJhaW50IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDtcclxuXHJcbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcclxuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGbGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5mbGV4IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXHJcblxyXG4ucm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDAgMSBhdXRvO1xyXG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgbWFyZ2luOiAwIC0jeygkZ3JpZC1nYXAvMil9O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cclxuICovXHJcblxyXG4uYm94IHtcclxuICBmbGV4OiAxO1xyXG59XHJcblxyXG5cclxuLy8gTG9vcCB0aHJvdWdoIGFsbCB0aGUga2V5cyBpbiB0aGUgYCRicmVha3BvaW50c2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW5cclxuLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XHJcblxyXG4gIC8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBldmVyeSBrZXkgaW4gYCRicmVha3BvaW50c2AuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJHZhbHVlKSB7XHJcblxyXG4gICAgLy8gSXRlcmF0ZSBmcm9tIDEgdGhyb3VnaCB0aGUgYW1vdW50IG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5XHJcbiAgICAvLyBgJGdyaWQtY29sdW1uc2AgaW4gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogQ29sdW1uICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgLmNvbC0jeyRrZXl9LSN7JGl9IHtcclxuICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgICB3aWR0aDogY29sdW1uKCRpKTtcclxuICAgICAgICBwYWRkaW5nOiAwICgkZ3JpZC1nYXAvMik7XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgICAvLyBPdXRwdXQgYW4gb2Zmc2V0IHV0aWxpdHkgY2xhc3MgaWYgdGhlIGl0ZXJhdG9yIGlzIGxlc3MgdGhhbiB0aGUgYW1vdW50XHJcbiAgICAgIC8vIG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5IGAkZ3JpZC1jb2x1bW5zYCBpblxyXG4gICAgICAvLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG4gICAgICBAaWYgKCRpIDwgJGdyaWQtY29sdW1ucykge1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBPZmZzZXQgI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cclxuXHJcbiAgICAgICAgLm9mZnNldC0jeyRrZXl9LSN7JGl9IHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBMb29wIHRocm91Z2ggYWxsIHZhbHVlcyBmb3IgdGhlIGBhbGlnbi1pdGVtc2AgcHJvcGVydHkuXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gc3RyZXRjaCwgY2VudGVyLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCwgYmFzZWxpbmUge1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIEFsaWduIGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC5hbGlnbi0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBMb29wIHRocm91Z2ggYWxsIHZhbHVlcyBmb3IgdGhlIGBqdXN0aWZ5LWNvbnRlbnRgIHByb3BlcnR5LlxyXG4gICAgQGVhY2ggJHZhbHVlIGluIHN0YXJ0LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4sIHNwYWNlLWFyb3VuZCwgc3BhY2UtZXZlbmx5LCBmbGV4LWVuZCB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogSnVzdGlmeSBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuanVzdGlmeS0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGRpcmVjdGlvbiBmcm9tIGxlZnQgdG8gcmlnaHQuXHJcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cclxuXHJcbiAgICAuZmlyc3QtI3ska2V5fSB7XHJcbiAgICAgIG9yZGVyOiAtMTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cclxuXHJcbiAgICAubGFzdC0jeyRrZXl9IHtcclxuICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICovXHJcblxyXG4gICAgLnJldmVyc2UtI3ska2V5fSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgR3JpZFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgaGVhZGluZ3MuXHJcbiAqL1xyXG5cclxuLmhlYWRpbmctMS1ibGFjayB7XHJcbiAgQGluY2x1ZGUgZm9udCg0MHB4LCA2MHB4KTtcclxuICBjb2xvcjogJGNvbG9yLWJsYWNrLTEwMDtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLmhlYWRpbmctMS13aGl0ZSB7XHJcbiAgQGluY2x1ZGUgZm9udCg0MHB4LCA2MHB4KTtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbn1cclxuXHJcbi5oZWFkaW5nLTItYmxhY2sge1xyXG4gIEBpbmNsdWRlIGZvbnQoMjBweCwgMzBweCk7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnLCAnSGluZCc7XHJcbn1cclxuXHJcbi5oZWFkaW5nLTItd2hpdGUge1xyXG4gIEBpbmNsdWRlIGZvbnQoMjBweCwgMzBweCk7XHJcbiAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnLCAnSGluZCc7XHJcbn1cclxuXHJcbi5oZWFkaW5nLTMge1xyXG4gIEBleHRlbmQgJWhlYWRpbmctMztcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFdyYXBwZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBUaGUgd3JhcHBlciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXHJcblxyXG4vLyBcclxuJHdlYnNpdGUtd2lkdGg6ICAgMTI0MHB4O1xyXG4kd2Vic2l0ZS1wYWRkaW5nOiAyMHB4O1xyXG5cclxuLmNlLXRleHRwaWMtZWxlbWVudCxcclxuLndyYXBwZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBwYWRkaW5nOiAwIDYwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkd2Vic2l0ZS13aWR0aCwgJHdlYnNpdGUtcGFkZGluZyk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53cmFwcGVyLS1zbWFsbCB7XHJcbiAgbWF4LXdpZHRoOiA2NTBweDtcclxufVxyXG5cclxuLndyYXBwZXItLW1lZGl1bSB7XHJcbiAgbWF4LXdpZHRoOiA4NjFweDtcclxufVxyXG5cclxuLndyYXBwZXItLXdpZGUge1xyXG4gIG1heC13aWR0aDogMTA2OXB4O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJyZWFkY3J1bWJzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4uYnJlYWRjcnVtYnMge1xyXG4gIGNvbG9yOiAkY29sb3ItYnJvd24tMTAwO1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgNXB4IDEwcHggMCAjZjhmOGY4O1xyXG59XHJcblxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbjogNXB4IDAgN3B4O1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiA1cHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1icm93bi0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQvaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5jZS1pbWFnZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA4MDBweDtcclxuICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIEltYWdlIHdyYXBwZXIuXHJcbiAqL1xyXG5cclxuLmNlLWltYWdlLXdyYXBwZXIge1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIEFkZGl0aW9uYWwgcnVsZXMuXHJcbiAqL1xyXG5cclxuLmNlLXRleHRwaWMtZWxlbWVudCArIC5jZS1pbWFnZS13cmFwcGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wOiAtMTAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGV4dC9pbWFnZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xyXG5cclxuLmNlLXRleHRwaWMtZWxlbWVudCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbiAgbWFyZ2luLXRvcDogNTBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcblxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgQGluY2x1ZGUgZm9udCgzMHB4LCA2MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBmb250KDUwcHgsIDgwcHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFRleHRwaWMgZWxlbWVudC5cclxuICovXHJcblxyXG4uY2UtdGV4dHBpYyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4gIGE6bm90KC5idXR0b24tZ3JvZW4pOm5vdCguYnV0dG9uLWJydWluKSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuXHJcbiAgICAmOjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jZS1yaWdodC5jZS1pbnRleHQge1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgIC5jZS1yb3cge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuY2UtYm9keXRleHQge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jZS1nYWxsZXJ5Lmhhcy1tdWx0aXBsZS1pbWFnZXNbZGF0YS1jZS1jb2x1bW5zPScxJ10ge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogaW5pdGlhbDtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgKyAuY2UtYm9keXRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgd2lkdGg6IGluaXRpYWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2UtY29sdW1uIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2UtYm9keXRleHQge1xyXG4gICAgICB3aWR0aDogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcbiAgICAuY2UtY29sdW1uIC5pbWFnZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICB3aWR0aDogIGNhbGMoMTAwJSAtIDI1cHgpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jZS1ub3dyYXAge1xyXG4gICAgICAvL2Rpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgLy9mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblxyXG4gICAgICAuY2UtZ2FsbGVyeSB7XHJcbiAgICAgICAgLy93aWR0aDogMzAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2UtYm9keXRleHQge1xyXG4gICAgICAgIC8vd2lkdGg6IDcwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jZS1sZWZ0LmNlLWludGV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5jZS1yb3cge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jZS1nYWxsZXJ5IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNlLWNvbHVtbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jZS1jb2x1bW4gLmltYWdlIHtcclxuICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAmLmNlLW5vd3JhcCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHJcbiAgICAgIC5jZS1nYWxsZXJ5IHtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2UtYm9keXRleHQge1xyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuY2UtY2VudGVyLmNlLWFib3ZlIHtcclxuXHJcbiAgICAuY2UtZ2FsbGVyeSB7XHJcblxyXG4gICAgICAuY2UtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNlLWxlZnQuY2UtYWJvdmUge1xyXG5cclxuICAgIC5jZS1nYWxsZXJ5IHtcclxuXHJcbiAgICAgIC5jZS1jb2x1bW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNlLXJpZ2h0LmNlLWFib3ZlIHtcclxuXHJcbiAgICAuY2UtZ2FsbGVyeSB7XHJcblxyXG4gICAgICAuY2UtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuY2UtY2VudGVyLmNlLWJlbG93IHtcclxuXHJcbiAgICAuY2UtZ2FsbGVyeSB7XHJcblxyXG4gICAgICAuY2UtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNlLWxlZnQuY2UtYmVsb3cge1xyXG5cclxuICAgIC5jZS1nYWxsZXJ5IHtcclxuXHJcbiAgICAgIC5jZS1jb2x1bW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNlLXJpZ2h0LmNlLWJlbG93IHtcclxuXHJcbiAgICAuY2UtZ2FsbGVyeSB7XHJcblxyXG4gICAgICAuY2UtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICYuY2UtYWJvdmUge1xyXG4gIC8vICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gJi5jZS1iZWxvdyB7XHJcbiAgLy8gICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIC8vIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIEVkaXRvciBzZXR0aW5ncy5cclxuICovXHJcblxyXG4uY2UtYm9keXRleHQge1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgcGFkZGluZzogMCAyMHB4O1xyXG5cclxuICBoMSB7XHJcbiAgICBAaW5jbHVkZSBmb250KDUwcHgsIDgwcHgpO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgQGluY2x1ZGUgZm9udCgzNHB4LCA0NXB4KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjRweCwgMzVweCk7XHJcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgfVxyXG5cclxuICBvbCB7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICB9XHJcblxyXG4gIC5tYXJnaW4tMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBSb3dcclxuICovXHJcblxyXG4uY2Utcm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgLTEwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIENvbHVtbiBzZXR0aW5ncy5cclxuICovXHJcblxyXG4uY2UtY29sdW1uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIG1hcmdpbjogMTBweDtcclxuXHJcbiAgLmltYWdlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAuaW1hZ2UtY2FwdGlvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb250YWluJztcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBHYWxsZXJ5XHJcbiAqL1xyXG5cclxuLmNlLWNlbnRlciAuY2UtZ2FsbGVyeSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2UtcmlnaHQgLmNlLWdhbGxlcnkge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgJi5oYXMtc2luZ2xlLWltYWdlIC5jZS1jb2x1bW4ge1xyXG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmNlLWdhbGxlcnkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuXHJcbiAgJltkYXRhLWNlLWNvbHVtbnM9JzInXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuY2UtY29sdW1uIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuXHJcbiAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaGFzLXNpbmdsZS1pbWFnZSAuY2UtY29sdW1uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogIEFkZGl0aW9uYWwgcnVsZXMuXHJcbiAqL1xyXG5cclxuLmNlLXRleHRwaWMgKyAuY2UtdGV4dHBpYy1oZWFkZXIge1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbn1cclxuXHJcbi5jZS10ZXh0cGljLWVsZW1lbnQgKyAuY2UtdGV4dHBpYyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wOiAtMTAwcHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ01TIE91dHB1dFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXHJcbiAqXHJcbiAqIDEuIEV4Y2x1ZGUgbGFzdCBjaGlsZHMuXHJcbiAqL1xyXG5cclxuLmNtcy1vdXRwdXQge1xyXG5cclxuICA+ICoge1xyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgLyogMSAqL1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG4gIH1cclxuXHJcbiAgcCA+IGEge1xyXG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFjdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhY3Qge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgcGFkZGluZzogNTBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICBtYXJnaW46IGF1dG8gYXV0byAxNTBweDtcclxuICBwYWRkaW5nOiAxMDBweDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMTAwO1xyXG59XHJcblxyXG4uY29udGFjdF9fd3JhcHBlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDExO1xyXG59XHJcblxyXG4uY29udGFjdF9faGVhZGVyIHtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uY29udGFjdF9fY29udGVudCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogNTUwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogNTBweDtcclxuXHJcbiAgLmZsZXgge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luOiA0MHB4IDA7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm1haWwsXHJcbiAgLmNhbGwge1xyXG4gICAgc3ZnIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IDNweDtcclxuICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhbGwgc3ZnIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0LWltYWdlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgIGhlaWdodDogNjAlO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTMwcHg7XHJcbiAgcmlnaHQ6IC0zMHB4O1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgd2lkdGg6IDI5NXB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcic7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0LWltYWdlX190aXRsZSB7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtaWNvbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcmlnaHQ6IC00MHB4O1xyXG4gICAgYm90dG9tOiAtNjBweDtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgfSAgXHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICByaWdodDogLTYwcHg7XHJcbiAgICBib3R0b206IC03MHB4O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICB9ICBcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAtMTAwcHg7XHJcbiAgYm90dG9tOiAtMTIwcHg7XHJcbiAgd2lkdGg6IDMyMHB4O1xyXG4gIGhlaWdodDogMzIwcHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTU1ZGVnKTtcclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29sbGVjdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4uY29sbGVjdGlvbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDYwcHggMDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMTAwO1xyXG4gIHotaW5kZXg6IDExO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLm93bC1pdGVtLmFjdGl2ZSB7XHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3dsLWNhcm91c2VsIHtcclxuICAgIC5vd2wtbmF2IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IC04NXB4O1xyXG4gICAgICB3aWR0aDogOTBweDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZS0xMDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLTIwMDtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLTMwMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm93bC1wcmV2LFxyXG4gICAgICAub3dsLW5leHQge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1wdXJwbGUtMTAwLCA1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAub3dsLXByZXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS0zMDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAub3dsLW5leHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS0zMDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uY29sbGVjdGlvbl9faGVhZGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNTUwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDI1JTtcclxuICBtYXgtd2lkdGg6IDMyMHB4O1xyXG59XHJcblxyXG4uY29sbGVjdGlvbl9fbG9vcCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xyXG4gICAgaGVpZ2h0OiAyODBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xyXG4gIH1cclxuXHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB3aWR0aDogNzUlO1xyXG59XHJcblxyXG4uY29sbGVjdGlvbi1pdGVtIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMzBweDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7ICBcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy10b3A6IDMwcHg7XHJcblxyXG4gIGltZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDk1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvL3dpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIG1hcmdpbjogYXV0byBhdXRvIDIwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzUwbXMgZWFzZTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY29sbGVjdGlvbi1pdGVtX19hbW91bnQge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbGxlY3Rpb24taXRlbV9faW1hZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY29sbGVjdGlvbi1pdGVtX19hbW91bnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgY29sb3I6ICRjb2xvci1ibGFjay0xMDAgIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb250KDUwcHgsIDUwcHgpO1xyXG4gIG1hcmdpbjogLTcwcHggMCAyMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCA1NTBtcyBlYXNlO1xyXG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICBvcGFjaXR5OiAwO1xyXG5cclxuICAvLyAmLmlzLWFjdGl2ZSB7XHJcbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gIC8vICAgICBtYXJnaW46IDIwcHggMDtcclxuICAvLyAgICAgb3BhY2l0eTogMTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuXHJcbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnR0YWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMjBweCwgMjVweCk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xsZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5jb2xsZWN0aW9uLWRhdGFiYXNlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMTAwcHggMDtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTMwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG59XHJcblxyXG4uY29sbGVjdGlvbi1kYXRhYmFzZV9faGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gIC5oZWFkaW5nLTEtd2hpdGUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgICBtYXgtd2lkdGg6IDM4MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbGxlY3Rpb24tZGF0YWJhc2VfX2xpbmsge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG5cclxuICAmLmRlc2t0b3Age1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICYubW9iaWxlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5jb2xsZWN0aW9uLWRhdGFiYXNlX190aXRsZS1pY29uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB0b3A6IC00MHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICB0b3A6IC04NXB4O1xyXG4gICAgaGVpZ2h0OiAxMzBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC0xMDBweDtcclxuICByaWdodDogMzBweDtcclxuICB3aWR0aDogYXV0bztcclxuICBoZWlnaHQ6IDE2MHB4O1xyXG59XHJcblxyXG4uY29sbGVjdGlvbi1kYXRhYmFzZV9fYmFja2dyb3VuZCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi5jb2xsZWN0aW9uLWRhdGFiYXNlX193cmFwcGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNjBweCk7XHJcbiAgfVxyXG5cclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5jb2xsZWN0aW9uLWRhdGFiYXNlLWl0ZW0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHdpZHRoOiA0MDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG4uY29sbGVjdGlvbi1kYXRhYmFzZS1pdGVtX19pbWFnZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogNzVweDtcclxuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIHotaW5kZXg6IDEwO1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGhlaWdodDogMjMwcHg7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGJvdHRvbTogLTUwJTtcclxuICAgICAgbGVmdDogMTBweDtcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgbGVmdDogMzVweDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwcHg7XHJcbiAgICB3aWR0aDogIDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbGxlY3Rpb24tZGF0YWJhc2UtaXRlbV9fZWRpdG9yIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNTAlO1xyXG5cclxuICBoMSxcclxuICBoMixcclxuICBoMyB7XHJcbiAgICBAaW5jbHVkZSBmb250KDIwcHgsIDMwcHgpO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIG1heC13aWR0aDogMjEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLWdyb2VuIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQvaW1hZ2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5kZWZhdWx0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHBhZGRpbmc6IDYwcHggMCA3NXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICYub3JkZXItbGVmdCAud3JhcHBlciB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIH1cclxuXHJcbiAgJi5vcmRlci1yaWdodCAud3JhcHBlciB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgfVxyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLWJydWluLFxyXG4gIC5idXR0b24tZ3JvZW4ge1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDAgIWltcG9ydGFudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtZGVmYXVsdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA4MDBweDtcclxuICBtYXJnaW46IGF1dG87XHJcblxyXG4gIC5kZWZhdWx0X190aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMzBweCwgNDBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZm9udCg1MHB4LCA4MHB4KTtcclxuICB9XHJcblxyXG4gIC5kZWZhdWx0X19jb250ZW50IHtcclxuICAgIC8vbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIE1haW4gdGl0bGUuXHJcbiAqL1xyXG5cclxuLmRlZmF1bHRfX3RpdGxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cclxuICBoMSB7XHJcbiAgICBAaW5jbHVkZSBmb250KDUwcHgsIDgwcHgpO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgQGluY2x1ZGUgZm9udCgzNHB4LCA0NXB4KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjRweCwgMzVweCk7XHJcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBDb250ZW50LlxyXG4gKi9cclxuXHJcbi5kZWZhdWx0X19jb250ZW50IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMThweCwgMzBweCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgLy9sZXR0ZXItc3BhY2luZzogMC44cHg7XHJcblxyXG4gIGgxIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoNTBweCwgODBweCk7XHJcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBAaW5jbHVkZSBmb250KDM1cHgsIDQ1cHgpO1xyXG4gICAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAzMHB4KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cclxuICAgICY6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBzdHJvbmcge1xyXG4gICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gYnIge1xyXG4gIC8vICAgZGlzcGxheTogbm9uZTtcclxuICAvLyB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1wcmltYXJ5LS1icm93biB7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgcGFkZGluZzogNHB4IDIwcHg7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLXNlY29uZGFyeS0tYnJvd24ge1xyXG4gICAgcGFkZGluZzogNHB4IDIwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1ncm9lbixcclxuICAuYnV0dG9uLWJydWluIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgcGFkZGluZzogNHB4IDIwcHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBFZGl0b3Igc2V0dGluZ3MuXHJcbiAqL1xyXG5cclxuLmRlZmF1bHRfX3RleHQge1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjRweDtcclxufVxyXG5cclxuLmdvb2dsZS1tYXBzICsgLmRlZmF1bHQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcGFkZGluZzogMCAwIDc1cHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4uZm9vdGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLWJyb3duLTIwMDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBVcHBlciBwYXJ0LlxyXG4gKi9cclxuXHJcbi5mb290ZXItdXBwZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgMDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIG1hcmdpbjogMCAtMjVweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwIDQwcHg7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgLTQ1cHg7XHJcbiAgcGFkZGluZzogNjBweCAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBDb2x1bW4gc2V0dGluZ3MuXHJcbiAqL1xyXG5cclxuLmZvb3Rlci11cHBlcl9fY29sdW1uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW46IDAgMjBweCA0MHB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSA5MHB4KTtcclxuICBtYXJnaW46IDAgNDVweDtcclxuXHJcbiAgLmVkaXRvcl9fdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAzMHB4KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMjJweDtcclxuICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZWRpdG9yX19jb250ZW50IHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG4gIH1cclxuXHJcbiAgYTpub3QoLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbik6bm90KC5idXR0b24pIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zIGVhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1icm93bi0xMDAsIDEwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIEZpcnN0IGNvbHVtbiAobGVmdCkuXHJcbiAqL1xyXG5cclxuLmZpcnN0LWNvbHVtbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDNweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gM3B4KTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBmb250KDIwcHgsIDI1cHgpO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogY2FsYygzMCUgLSAzcHgpO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoNjUlIC0gM3B4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgICB3aWR0aDogY2FsYyg4MCUgLSAzcHgpO1xyXG4gICAgICB9XHJcbiAgICAgIHdpZHRoOiBjYWxjKDcwJSAtIDNweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGZvbnQoMjBweCwgMjVweCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDIzcHg7XHJcbiAgICAgIGhlaWdodDogMjNweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItZ3JlZW4tMjAwLCAxMCUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBTZWNvbmQgY29sdW1uIChtaWRkbGUpLlxyXG4gKi9cclxuXHJcbi5zZWNvbmQtY29sdW1uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gOTBweCk7XHJcbiAgfVxyXG5cclxuICBpZnJhbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogR29vZ2xlIG1hcHMuXHJcbiAqL1xyXG5cclxuLmdvb2dsZS1tYXBzIHtcclxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBTb2NpYWwgTWVkaWEuXHJcbiAqL1xyXG5cclxuLnNvY2lhbC1tZWRpYSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC5lZGl0b3JfX3RpdGxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMjUwbXMgZWFzZTtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkLWNvbHVtbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gNjBweCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDkwcHgpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIE5ld3NsZXR0ZXIgYmxvY2suXHJcbiAqL1xyXG5cclxuLmZvb3Rlci1uZXdzbGV0dGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgIG1hcmdpbjogMCA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZS0yMDA7XHJcbiAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgcGFkZGluZzogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcblxyXG4gIC5mbGV4IHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcblxyXG4gIC5wbGFudHMge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAtNXB4O1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgICByaWdodDogMzBweDtcclxuICAgICAgYm90dG9tOiAtOXB4O1xyXG4gICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDgwcHg7XHJcbiAgICBib3R0b206IC0xNHB4O1xyXG4gICAgd2lkdGg6IDIxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgTmV3c2xldHRlciBoZWFkZXIuXHJcbiAqL1xyXG5cclxuLmZvb3Rlci1uZXdzbGV0dGVyX19oZWFkZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBOZXdzbGV0dGVyIGJsb2NrIGNvbHVtbiAobGVmdCkuXHJcbiAqL1xyXG5cclxuLmZvb3Rlci1uZXdzbGV0dGVyX19sZWZ0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDU1JTtcclxuXHJcbiAgLmhlYWRpbmctMS13aGl0ZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgTmV3c2xldHRlciBibG9jayBjb2x1bW4gKHJpZ2h0KS5cclxuICovXHJcblxyXG4uZm9vdGVyLW5ld3NsZXR0ZXJfX3JpZ2h0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICB3aWR0aDogNjUlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDQwJTtcclxuXHJcbiAgaDMsXHJcbiAgbGVnZW5kIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvL3Nhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0XHJcbiAgLnBvd2VybWFpbF9sYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAvL3Nhc3MtbGludDplbmFibGUgY2xhc3MtbmFtZS1mb3JtYXRcclxuXHJcbiAgaW5wdXRbdHlwZT0ndGV4dCddIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZS0zMDA7IFxyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1wcmltYXJ5LS1ncmVlbiB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLy9zYXNzLWxpbnQ6ZGlzYWJsZSBjbGFzcy1uYW1lLWZvcm1hdFxyXG4gIC5wb3dlcm1haWxfc3VibWl0IHtcclxuICAgIHBhZGRpbmc6IDdweCAwIDdweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc3VibWl0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wYXJzbGV5LXJlcXVpcmVkIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcmVkLTMwMDtcclxuICB9XHJcblxyXG4gIC8vc2Fzcy1saW50OmVuYWJsZSBjbGFzcy1uYW1lLWZvcm1hdFxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBOZXdzbGV0dGVyIGJsb2NrIGVkaXRvci5cclxuICovXHJcblxyXG4uZm9vdGVyLW5ld3NsZXR0ZXJfX2VkaXRvciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIExvd2VyIHBhcnQgb2YgdGhlIGZvb3Rlci5cclxuICovXHJcblxyXG4uZm9vdGVyLWxvd2VyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjRweDtcclxuXHJcbiAgLmxpbmtzIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB9XHJcblxyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1icm93bi0xMDAsIDEwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jb21wYW55IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLm1hZGVieSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBMb3dlciBwYXJ0IGNvbHVtbiBzZXR0aW5ncy5cclxuICovXHJcblxyXG4uZm9vdGVyLWxvd2VyX19pdGVtIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcclxufVxyXG5cclxuLmpzLXNjcm9sbC11cCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHJpZ2h0OiAtNDBweDtcclxuICBib3R0b206IDEzMHB4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbiAgaGVpZ2h0OiA3MHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtMTAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDk5OTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gIH1cclxuXHJcbiAgJi5pcy12aXNpYmxlIHtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4vL3Nhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkc1xyXG5cclxuLnBvd2VybWFpbF9mb3JtXzQsXHJcbi5wb3dlcm1haWxfZm9ybV82LFxyXG4ucG93ZXJtYWlsX2Zvcm1fNyxcclxuLnBvd2VybWFpbF9mb3JtXzgge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBwYWRkaW5nOiAwIDYwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDAgMjBweDtcclxuXHJcbiAgLmxlZnQtY29sdW1uIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLmxlZnQtY29sdW1uIHtcclxuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmZvcm0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiA3NXB4IDA7XHJcbn1cclxuXHJcbi5mb3JtIGxlZ2VuZCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmZvcm0gaDMge1xyXG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbn1cclxuXHJcbi5mb3JtIC5mbGV4IHtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgbWFyZ2luOiAtNTBweDtcclxufVxyXG5cclxuLmZvcm0gLmxlZnQtY29sdW1uLFxyXG4uZm9ybSAucmlnaHQtY29sdW1uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTAwcHgpO1xyXG4gIG1hcmdpbjogNTBweDtcclxufVxyXG5cclxuLmZvcm0gLnBvd2VybWFpbF9maWVsZCB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG59XHJcblxyXG4uZm9ybSAucG93ZXJtYWlsX2ZpZWxkIGlucHV0IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1ibGFjay0xMDA7XHJcbn1cclxuXHJcbi5mb3JtIC5wb3dlcm1haWxfZmllbGQgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogY2hlY2tib3g7XHJcbn1cclxuXHJcbi5mb3JtIC5wb3dlcm1haWxfZmllbGQgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW87XHJcbn1cclxuXHJcbi5mb3JtIC5wb3dlcm1haWxfZmllbGQgc2VsZWN0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgcGFkZGluZzogNHB4O1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1ibGFjay0xMDA7XHJcbn1cclxuXHJcbi5mb3JtIC5wb3dlcm1haWxfZmllbGQgdGV4dGFyZWEge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTUwcHg7XHJcbiAgcGFkZGluZzogOXB4O1xyXG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1ibGFjay0xMDA7XHJcbn1cclxuXHJcbi5mb3JtIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc2VsZWN0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogOXB4O1xyXG4gICAgYm90dG9tOiAxMnB4O1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtIC5wb3dlcm1haWxfc3VibWl0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG59XHJcblxyXG4uZm9ybSAucG93ZXJtYWlsX2ZpZWxkd3JhcF92ZXJzdHV1ciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi10b3A6IC0xNXB4O1xyXG5cclxuICBzdmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxN3B4O1xyXG4gICAgcmlnaHQ6IDQwJTtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFyc2xleS1yZXF1aXJlZCxcclxuLnBhcnNsZXktY3VzdG9tLWVycm9yLW1lc3NhZ2Uge1xyXG4gIGNvbG9yOiAkY29sb3ItcmVkLTMwMDtcclxufVxyXG5cclxuLnBhcnNsZXktZXJyb3Ige1xyXG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY29sb3ItcmVkLTMwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vL3Nhc3MtbGludDplbmFibGUgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE1hcHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi8vc2Fzcy1saW50OmRpc2FibGUgaWQtbmFtZS1mb3JtYXQgbm8taWRzXHJcblxyXG4uY29udGVudCAuZ29vZ2xlLW1hcHMge1xyXG4gIC5saXN0LWxpc3RfX2xvY2F0aW9uIC53cmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5saXN0LWxpc3RfX2xvY2F0aW9uIC5nb29nbGUtbWFwcyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGhlaWdodDogMzUwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3RlciAubGlzdC1saXN0X19sb2NhdGlvbiAuZ29vZ2xlLW1hcHMge1xyXG4gIGhlaWdodDogMzUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9zYXNzLWxpbnQ6ZW5hYmxlIGlkLW5hbWUtZm9ybWF0IG5vLWlkc1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5oZWFkZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtMjAwcHg7XHJcbiAgcGFkZGluZzogMzBweCAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCA4NTBtcyBlYXNlO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgb3BhY2l0eTogMDtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtbG9hZGVkIHtcclxuICAgIHRvcDogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB6LWluZGV4OiAyMDtcclxuICB9XHJcblxyXG4gIC5jb250ZW50LWRlZmF1bHQsXHJcbiAgLmRlZmF1bHQsXHJcbiAgLmRlZmF1bHRfX2NvbnRlbnQge1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBMZWZ0LlxyXG4gKi9cclxuXHJcbi5oZWFkZXItbGVmdCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICB3aWR0aDogNDUlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDMwJTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgTG9nb1xyXG4gKi9cclxuXHJcbi5oZWFkZXItbG9nbyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgaGVpZ2h0OiA2NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiA4NHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgU2xvZ2FuLlxyXG4gKi9cclxuXHJcbi5oZWFkZXItbG9nb19fc2xvZ2FuIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtaW4td2lkdGg6IDIyNXB4O1xyXG4gICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgZm9udC1zaXplOiAxMS40cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgd2lkdGg6IDI1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgUmlnaHQgcGFydC5cclxuICovXHJcblxyXG4uaGVhZGVyLXJpZ2h0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgIHdpZHRoOiA1NSU7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiA2NSU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFJpZ2h0IHBhcnQgKHVwcGVyKS5cclxuICovXHJcblxyXG4uaGVhZGVyLXJpZ2h0X191cHBlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDJweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHJcbiAgLnRvcC1tZW51IHtcclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgZm9udCgxNHB4LCAyNXB4KTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMC43cHg7XHJcbiAgICAgIG9wYWNpdHk6IDAuNjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBvcGFjaXR5OiAwLjI7XHJcbiAgfVxyXG5cclxuICAuYmVjb21lLWZyaWVuZCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMzVweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGZvbnQoMTRweCwgMjBweCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgIHBhZGRpbmc6IDFweCAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50aWNrZXRzIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEzNXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBhZGRpbmc6IDJweCA2cHggIWltcG9ydGFudDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcclxuXHJcbiAgICAuZmEtdGlja2V0LWFsdCB7XHJcbiAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYS1jaGV2cm9uLWRvdWJsZS1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udG9wLW1lbnUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAubGFzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgSGVhZGVyIGxpbmtzLlxyXG4gKi9cclxuXHJcbi5oZWFkZXItcmlnaHRfX2xpbmtzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAuaGVhZGVyX19sb2dpbiB7XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAvLyB9XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlci1yaWdodF9fbGlua3MgcCB7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogNjk3cHgpIHtcclxuICAgIC8vQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDExOTlweCkgYW5kIChtaW4td2lkdGg6IDY5N3B4KSB7XHJcbiAgICAvL0BpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uaGVhZGVyLXJpZ2h0X19saW5rcy5pcy1tb2JpbGUge1xyXG4gIEBtZWRpYShtaW4td2lkdGg6IDY5N3B4KSB7XHJcbiAgICAvL0BpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA3MHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgei1pbmRleDogOTk7XHJcblxyXG4gIHAge1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogNjk3cHgpIHtcclxuICAgICAgLy9AaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgcGFkZGluZzogMTNweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHA6bnRoLWNoaWxkKDIpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuXHJcbiAgICAmLnRpY2tldHMge1xyXG4gICAgICBwYWRkaW5nOiAxMXB4IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEzcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTNweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBMYW5ndWFnZSBtZW51XHJcbiAqL1xyXG5cclxuLmhlYWRlci1yaWdodF9fbGFuZ3VhZ2Uge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgMTVweCAwIDIycHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgbWFyZ2luOiAwIDMwcHg7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbjogMCAzNXB4IDAgMDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7IFxyXG4gICAgbWFyZ2luLWxlZnQ6IDdweDtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIE1haW4gbWVudSAobG93ZXIgcGFydCkuXHJcbiAqL1xyXG5cclxuLmhlYWRlci1yaWdodF9fbG93ZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC5tYWluLW1lbnUge1xyXG4gICAgQGluY2x1ZGUgZm9udCgxOHB4LCAyNXB4KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtNDJweDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXMgZWFzZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyOjphZnRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5vLXN1Ym1lbnUge1xyXG5cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXMgZWFzZTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3VibWVudSAuYWN0aXZlIHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXMgZWFzZTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTG9naW4uXHJcbiAqL1xyXG5cclxuLmhlYWRlcl9fbG9naW4ge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTRweCwgMjVweCk7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvci1ncmVlbi0yMDAsIDEwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTGFuZ3VhZ2UuXHJcbiAqL1xyXG5cclxuLmhlYWRlcl9fbGFuZ3VhZ2Utc2VhcmNoIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5tb2JpbGUtbWVudS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMThweCwgMjVweCk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG5cclxuICBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgfVxyXG5cclxuICAubWVudS1vcHRpb24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1vYmlsZS1tZW51IHtcclxuICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBmb250KDE4cHgsIDI1cHgpO1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtMTAwcHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gIHBhZGRpbmctdG9wOiA3NXB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC5tYWluLW1lbnUge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICB9XHJcblxyXG4gIC5tZW51LWl0ZW0ge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDEwcHggYXV0bztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuXHJcbiAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3ViIHtcclxuICAgIG1hcmdpbjogMjVweCAwO1xyXG4gIH1cclxuXHJcbiAgLmpzLWhhcy1zdWJtZW51IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICBhIHtcclxuXHJcbiAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCc7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5zdWJtZW51IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMjAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHotaW5kZXg6IDEyO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICAgIHRvcDogMTYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgdG9wOiA5MHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHotaW5kZXg6IDE3O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcbiAgfVxyXG59XHJcblxyXG4ubW9iaWxlLW1lbnUgLmpzLWhhcy1zdWJtZW51LmFjdGl2ZSBhIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjNweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuXHJcbi50b3AtbWVudS1tb2JpbGUge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nLXRvcDogNjBweDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmpzLWhhcy1zdWJtZW51IHtcclxuICAgIGEge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudG9wLW1lbnUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogNXB4IDAgMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMTVweCwgMjBweCk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBvcGFjaXR5OiAwLjY7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMzAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5sYXN0IHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgd2lkdGg6IDIxJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICB3aWR0aDogMjYlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBJbmZvcm1hdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4uaW5mb3JtYXRpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogODVweDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIHotaW5kZXg6IDM7XHJcblxyXG4gIC5oZWFkaW5nLTEtYmxhY2ssXHJcbiAgLm9wZW5pbmctaG91cnNfX2NvbnRlbnQgaDIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAtMzBweDtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2U7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG5cclxuICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pbmZvcm1hdGlvbl9faWNvbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTMwcHg7XHJcbiAgcmlnaHQ6IC00MHB4O1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICB6LWluZGV4OiAyOTtcclxufVxyXG5cclxuLmluZm9ybWF0aW9uX191cHBlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICB6LWluZGV4OiAyMDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IC0xMDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMDtcclxufVxyXG5cclxuLnByaWNlcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHBhZGRpbmctdG9wOiA3NXB4O1xyXG5cclxuICBoMiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pbmZvcm1hdGlvbl9faGVhZGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogLTE1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG5cclxuLnByaWNlc19fdGV4dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgd2lkdGg6IDYzJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNTAlO1xyXG5cclxuICB1bCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDNweCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gM3B4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB3aWR0aDogNjVweDtcclxuICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDY1JSAtIDNweCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgICB3aWR0aDogY2FsYyg2MCUgLSAzcHgpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHdpZHRoOiBjYWxjKDc2JSAtIDNweCk7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDk1cHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1ncm9lbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAzMHB4KTtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZzogNHB4IDIwcHggNHB4IDMwcHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJpY2VzX19pbWFnZXMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMzclO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnByaWNlc19faW1hZ2Uge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxODBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgbWF4LWhlaWdodDogMzUwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICBpbWcge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLmluZm9ybWF0aW9uX19sb3dlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgLy9iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkY29sb3ItZ3JlZW4tMTAwIDU1MHB4LCAkY29sb3Itd2hpdGUtMTAwIDU1MHB4KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRjb2xvci1ncmVlbi0xMDAgNTAlLCAkY29sb3Itd2hpdGUtMTAwIDUwJSk7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkY29sb3ItcHVycGxlLTIwMCA1MCUsICRjb2xvci13aGl0ZS0xMDAgNTAlKTtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5vcGVuaW5nLWhvdXJzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB3aWR0aDogNTAlO1xyXG4gIG1heC13aWR0aDogNjIwcHg7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICBoMiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGZvbnQoNDBweCwgNjBweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcbiAgfVxyXG5cclxuICBzdHJvbmcge1xyXG4gICAgQGluY2x1ZGUgZm9udCgxN3B4LCAzMHB4KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm9wZW5pbmctaG91cnNfX2NvbnRlbnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHBhZGRpbmc6IDAgMjBweCA1MHB4IDQwcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMCAyMHB4IDUwcHggMTAwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMDtcclxuXHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxufVxyXG5cclxuLnF1ZXN0aW9ucyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDYwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gICAgei1pbmRleDogMjE7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNTAlO1xyXG4gIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4gIC5vd2wtbmF2IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAmLm1hcmdpbi10b3AtNTAge1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICB9XHJcbn1cclxuXHJcbi5xdWVzdGlvbi1zaW5nbGUge1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucXVlc3Rpb24tc2luZ2xlX19xdWVzdGlvbiB7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG59XHJcblxyXG4ucXVlc3Rpb24tc2luZ2xlX19iYWNrLFxyXG4ucXVlc3Rpb24tc2luZ2xlX19uZXh0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIG9wYWNpdHk6IDAuNjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luOiAwIDVweDtcclxuICB9XHJcbn1cclxuXHJcbi5xdWVzdGlvbi1zaW5nbGVfX2Ftb3VudCB7XHJcbiAgQGluY2x1ZGUgZm9udCAoMjBweCwgMjVweCk7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvbGQnLCAnZnV0dXJhLXB0LWJvbGQnICwgJ0hpbmQnO1xyXG4gIG9wYWNpdHk6IDAuNjtcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBAaW5jbHVkZSBmb250KDQwcHgsIDMwcHgpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xyXG4gIH1cclxufVxyXG5cclxuLnF1ZXN0aW9uLXNpbmdsZV9fdG9waWMge1xyXG4gIEBpbmNsdWRlIGZvbnQoMjBweCwgMzBweCk7XHJcbiAgbWFyZ2luOiA0MHB4IDAgMjBweDtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbn1cclxuXHJcbi5xdWVzdGlvbi1zaW5nbGVfX2Fuc3dlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyNXB4KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogNTBweDtcclxuICBwYWRkaW5nOiAzMHB4IDMwcHg7XHJcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHVycGxlLTMwMDtcclxuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAmLmlzLXJldmVhbGVkIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxNzlkZWcpO1xyXG5cclxuICAgIC5hbnN3ZXItcmV2ZWFsIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuYW5zd2VyIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYW5zd2VyLXJldmVhbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjAxcyAwLjVzIGVhc2U7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZS0zMDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG4gIH1cclxuXHJcbiAgc3BhbiB7XHJcbiAgICBAaW5jbHVkZSBmb250KDIwcHgsIDM1cHgpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCcsICdmdXR1cmEtcHQtYm9sZCcgLCAnSGluZCc7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICB9XHJcbn1cclxuXHJcbi5hbnN3ZXIge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5tb3JlLWluZm8ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgcGFkZGluZzogNTBweCA5MHB4IDUwcHggMzBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMjBweCwgNDBweCk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgcGFkZGluZzogNTBweCAzMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4gICYubW9iaWxlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctbGVmdDogMzAlO1xyXG4gIH1cclxuXHJcbiAgJi5kZXNrdG9wIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgei1pbmRleDogMjA7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLWdyb2VuIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEycHg7XHJcbiAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubW9yZS1pbmZvX19pbWcge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDg1cHg7XHJcbiAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGxlZnQ6IC0xMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBsZWZ0OiAtNDVweDtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xyXG4gICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAkY29sb3ItYmxhY2stMTAwO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDRweDtcclxuICAgIGxlZnQ6IC0zMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIC8qYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkY29sb3ItYmxhY2stMTAwOyovXHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuXHJcbi5tb3JlLWluZm9fX2VkaXRvciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XHJcbiAgfVxyXG5cclxuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSXRlbSBMaXN0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGVhc2Vycy0taXRlbS1saXN0IHtcclxuICBwYWRkaW5nOiA2MHB4IDAgNzVweDtcclxuXHJcbiAgJi5iYWNrZ3JvdW5kLWNvbG9yLWdyZXkge1xyXG4gICAgLnRlYXNlci1pbm5lciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnRlYXNlci1pbm5lcl9fdGl0bGUge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleS0yMDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50ZWFzZXItaW5uZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAudGVhc2VyLWlubmVyX190aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuXHJcbiAgICBtYXJnaW46IDE1cHggMjBweCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gIH1cclxuXHJcbiAgLnRlYXNlci1pbm5lcl9faW1hZ2UgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnRlYXNlci1pbm5lcl9fbGluayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRlYXNlci1pbm5lcl9fbGluayBzdmcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBMYW5ndWFnZSBtZW51XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubGFuZ3VhZ2UtbWVudSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAuY3VycmVudCB7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgfVxyXG59XHJcblxyXG4ubGFuZ3VhZ2UtbWVudV9faXRlbSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1ub3QtYWN0aXZlIHtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB6LWluZGV4OiA5OTtcclxuICB9XHJcbn1cclxuXHJcbi5sYW5ndWFnZS1tZW51X19pdGVtLS1ubCB7XHJcbiAgJi5pcy1ub3QtYWN0aXZlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjJweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExvZ2luXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubG9naW4ge1xyXG4gIG1hcmdpbjogNzBweCAwO1xyXG5cclxuICAubWVzc2FnZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmZvcmdvdC1wYXNzd29yZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gIH1cclxuXHJcbiAgLm1lc3NhZ2UuZm9yZ290LXBhc3N3b3JkIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAubG9naW5fX2Zvcm0tYnV0dG9uIHtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5sb2dpbl9fZm9ybSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIG1hcmdpbjogLTM1cHg7XHJcbiAgfVxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAtNTBweDtcclxufVxyXG5cclxuLmxvZ2luX19mb3JtLWNvbHVtbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDM1cHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICB3aWR0aDogNTAlO1xyXG4gIHBhZGRpbmc6IDUwcHg7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUaXRsZS5cclxuICovXHJcblxyXG4ubG9naW5fX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBmb250KDUwcHgsIDgwcHgpO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcclxufVxyXG5cclxuLmxvZ2luX19mb3JtLWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gIGxhYmVsIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjBweCwgMzBweCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xyXG4gIH1cclxuXHJcbiAgaW5wdXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXM7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLXB1cnBsZS0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICYuaXMtZmlsbGVkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gICAgfVxyXG5cclxuICAgICZbdHlwZT1wYXNzd29yZF0ge1xyXG4gICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5sb2dpbl9fZm9ybS1idXR0b24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNYWduaWZpYyBQb3AtdXBcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5tZnAtYmcge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgb3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcclxuICBtYXJnaW46IDVweDtcclxuICBmb250LXNpemU6IDQ1cHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTmV3cyAoc2luZ2xlKS5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5uZXdzLWxpc3QtdmlldyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgfVxyXG5cclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luOiAwIC0xMHB4O1xyXG4gIHBhZGRpbmc6IDAgMCA3NXB4O1xyXG5cclxuICAuYXJ0aWNsZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAvLyAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xyXG4gICAgbWFyZ2luOiAxMHB4IDEwcHggNTBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTIwMDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwOHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6IDI1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyJztcclxuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRlYXNlci10ZXh0IHtcclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAvLyAgIHdpZHRoOiA1MCU7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogNDBweDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLWdyb2VuIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICBsZWZ0OiBpbml0aWFsO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTIwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJyb3duLTEwMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLWJyb3duLTEwMCwgMTAlKSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1taXNzcGVsbGVkLXByb3BlcnRpZXNcclxuLmFydGljbGVfX2Rlc2NyaXB0aW9uIHtcclxuICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXHJcbiAgZGlzcGxheTogYm94O1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGxpbmUtY2xhbXA6IDM7XHJcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xyXG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcbi8vIHNhc3MtbGludDplbmFibGUgbm8tbWlzc3BlbGxlZC1wcm9wZXJ0aWVzXHJcblxyXG4ubmV3cyAuYXJ0aWNsZSAubmV3cy1pbWctd3JhcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBmbG9hdDogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgYSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbn1cclxuXHJcbi5pcy1uZXdzIHtcclxuXHJcbiAgLmRlZmF1bHQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgIC53cmFwcGVyIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLW5hdmlnYXRpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubmV3cy1sYXRlc3Qge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgei1pbmRleDogMTA7XHJcblxyXG4gIC5oZWFkaW5nLTEtYmxhY2sge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICB9XHJcblxyXG4gIC5uZXdzIC53cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICAuYXJ0aWNsZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fcmVhZG1vcmUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC05N3B4O1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4ubmV3cy1sYXRlc3RfX2ltZyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgdG9wOiAtNTBweDtcclxuICAgIHdpZHRoOiAxMjVweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtMTAwcHg7XHJcbiAgbGVmdDogMjUlO1xyXG4gIHdpZHRoOiAyNzVweDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG59XHJcblxyXG4uaXMtbmV3cyAubmV3cy1sYXRlc3RfX2ltZyB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIChzaW5nbGUpLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xyXG5cclxuLm5ld3Mtc2luZ2xlIHtcclxuICAucGFnZS1oZWFkZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhlYWRpbmctMS13aGl0ZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhlYWRpbmctMS1ibGFjayB7XHJcbiAgICBmb250LXNpemU6IDUwcHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubmV3cy1oZWFkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5uZXdzLXNpbmdsZS1oZWFkZXIge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlcl9fdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIG1hcmdpbi10b3A6IC05MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wOiAtMTUwcHg7XHJcbn1cclxuXHJcbi5uZXdzLXdyYXBwZXIge1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcblxyXG4gIC50ZWFzZXItdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLm5ld3MgLmFydGljbGUgLm5ld3MtaW1nLXdyYXAgaW1nIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIGhlaWdodDogMjUwcHg7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDUwMHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXInO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG4uaXMtbmV3cy1zaW5nbGUgLm5ld3MtaW1nLXdyYXAge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJjpub3QoOm50aC1jaGlsZCgxKSkge1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJiArIC5wYWdlLWhlYWRlcl9fdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaXMtbmV3cy1zaW5nbGUge1xyXG5cclxuICAubmV3cy13cmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDAgNDBweDtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmlzLW5ld3Mtc2luZ2xlIC5uZXdzLXRleHQtd3JhcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAtMjBweDtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTm90aWZpY2F0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubm90aWZpY2F0aW9uLXBvcHVwIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW46IDgwcHggNTBweDtcclxuICAgIHBhZGRpbmc6IDUwcHggMjBweDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG1heC13aWR0aDogODM1cHg7XHJcbiAgbWFyZ2luOiA4MHB4IGF1dG87XHJcbiAgcGFkZGluZzogMTAwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBib3gtc2hhZG93OiAwIDAgMzBweCAwICRjb2xvci1ibGFjay01MDtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtNTJweDtcclxuICAgIGxlZnQ6IC01MHB4O1xyXG4gICAgd2lkdGg6IDE1NHB4O1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vSW1hZ2VzL2dlbGVlZHBvdGlnZW4uc3ZnJyk7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtNTBweDtcclxuICAgIGJvdHRvbTogLTQ5cHg7XHJcbiAgICB3aWR0aDogMTQycHg7XHJcbiAgICBoZWlnaHQ6IDExNHB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9JbWFnZXMvc2NoaW1tZWxzLnN2ZycpO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLXBvcHVwX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgzMHB4LCA0MHB4KTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjgzcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLXBvcHVwX19jb250ZW50IHtcclxuICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvIDcwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb2xkJywgJ2Z1dHVyYS1wdC1ib2xkJyAsICdIaW5kJztcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC41NnB4O1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb29rJztcclxuICAgIGZvbnQtc2l6ZTogMzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjRweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLXBvcHVwX19zdWJ0aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAnRnV0dXJhIFN0ZCBCb29rJztcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjU2cHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTm90aWZpY2F0aW9uIEJ1bGxldC5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5ub3RpZmljYXRpb24tYnVsbGV0IHtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tYnVsbGV0X19pbWFnZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgd2lkdGg6IDUwcHg7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tMTAwO1xyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWJ1bGxldF9fdGV4dCB7XHJcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XHJcbiAgZm9udC1mYW1pbHk6ICdGdXR1cmEgU3RkIEJvb2snO1xyXG4gIGZvbnQtc2l6ZTogMzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjI0cHg7XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1icm93bi0xMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXIgKHBhZ2UpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4ucGFnZS1oZWFkZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgaGVpZ2h0OiAyNTBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDUwMHB4O1xyXG4gIGFuaW1hdGlvbjogc2xpZGVEb3duIDE3NTBtcyBlYXNlO1xyXG5cclxuICAmLm5ld3Mtc2luZ2xlLWhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgaGVpZ2h0OiA0MzBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlcl9faW1hZ2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1oZWFkZXJfX3RpdGxlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgei1pbmRleDogMztcclxuXHJcbiAgLmhlYWRpbmctMS13aGl0ZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMzBweCwgODBweCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMzBweCwgNDBweCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZm9udCg1MHB4LCA4MHB4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIwcHggJGNvbG9yLWJsYWNrLTEwMDtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTmV3cyAoc2luZ2xlKS5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5wYWdlLW5hdmlnYXRpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cclxuICBsaSB7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXJyZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtMTAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgbWFyZ2luOiA4cHggNXB4IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnZS1uYXZpZ2F0aW9uX19wYXJhcHJhcGgge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mMy13aWRnZXQtcGFnaW5hdG9yIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNlYXJjaFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm5hdl9fc2VhcmNoIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTRweDtcclxuICB9XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnNlYXJjaC1mb3JtX19leHBhbmQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGhlaWdodDogMjBweDtcclxuICBwYWRkaW5nOiAwIDAgMXB4IDEycHg7XHJcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYmxhY2stMTAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgaGVpZ2h0OiAxM3B4O1xyXG4gIH1cclxufVxyXG5cclxuLnNlYXJjaC1mb3JtX19pbnB1dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA1NXB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTcwcHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQ1cHg7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ibGFjay0xMDA7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIGlucHV0IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjJweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiA5NyU7XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHRvcDogMTM1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgICB0b3A6IDEzMHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgdG9wOiAtMTVweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB6LWluZGV4OiAxMztcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gIH1cclxufVxyXG5cclxuLnNlYXJjaC1mb3JtX19zdWJtaXQge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuLnNlYXJjaC1mb3JtX19jbG9zZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIHRvcDogMTVweDtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMjVweDtcclxuICByaWdodDogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgei1pbmRleDogMTE7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogMTRweDtcclxuICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgfVxyXG59XHJcblxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWFyY2hcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jb250ZW50LWRlZmF1bHQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnR4LWluZGV4ZWRzZWFyY2gtc2VhcmNoYm94LFxyXG4udHgtaW5kZXhlZHNlYXJjaC1ydWxlcyxcclxuLnR4LWluZGV4ZWRzZWFyY2gtaW5mbyxcclxuLnR4LWluZGV4ZWRzZWFyY2gtaWNvbixcclxuLnR4LWluZGV4ZWRzZWFyY2gtcGVyY2VudCxcclxuLnR4LWluZGV4ZWRzZWFyY2gtZGVzY3JpcHRpb24sXHJcbi50eC1pbmRleGVkc2VhcmNoLWJyb3dzZWJveCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnR4LWluZGV4ZWRzZWFyY2gtaW5mby1zd29yZCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQGluY2x1ZGUgZm9udCgzNXB4LCA0NXB4KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoNTBweCwgODBweCk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCc7XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0X193cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgLTEwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbn1cclxuXHJcbi50eC1pbmRleGVkc2VhcmNoLXJlcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcclxuICBtYXJnaW46IDEwcHggMTBweCAyNXB4O1xyXG4gIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0yMDA7XHJcblxyXG4gIC5idXR0b24tcHJpbWFyeS0tZ3JlZW4ge1xyXG4gICAgQGluY2x1ZGUgZm9udCgxOXB4LCAyNXB4KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGJvdHRvbTogLTE1cHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogNnB4IDIwcHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udHgtaW5kZXhlZHNlYXJjaC10aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgyMHB4LCAzMHB4KTtcclxuICBmb250LWZhbWlseTogJ0Z1dHVyYSBTdGQgQm9sZCc7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU2xpZGVzaG93XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi5zbGlkZXNob3cge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFNsaWRlIGNvbnRhaW5lci5cclxuICovXHJcblxyXG4uc2xpZGVzaG93X19zbGlkZXMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFNsaWRlLlxyXG4gKi9cclxuXHJcbi5zbGlkZXNob3cgLnNsaWRlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBhbmltYXRpb246IHNsaWRlRG93biAxNzUwbXMgZWFzZTtcclxuXHJcbiAgJjpudGgtY2hpbGQoMSkgLnNsaWRlLWJlaGluZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlLTEwMDtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMTAwMG1zO1xyXG4gIH1cclxuXHJcbiAgJjpudGgtY2hpbGQoMikgLnNsaWRlLWJlaGluZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0yMDA7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDE1MDBtcztcclxuICB9XHJcblxyXG4gICY6bnRoLWNoaWxkKDMpIC5zbGlkZS1iZWhpbmQge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXB1cnBsZS0xMDA7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDMwMDBtcztcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2U7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsICRjb2xvci1ibGFjay0xMDApO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICAuc2xpZGVfX2ltYWdlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ4MHB4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIsXHJcbiAgICAgIC5zbGlkZV9fdGl0bGUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zbGlkZS1iZWhpbmQge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBTbGlkZSB0aXRsZS5cclxuICovXHJcblxyXG4uc2xpZGVfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMzBweCwgNDBweCk7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMzVweDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMzUwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNTAwbXMgZWFzZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgei1pbmRleDogMTE7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFNsaWRlIGltYWdlLlxyXG4gKi9cclxuXHJcbi5zbGlkZV9faW1hZ2Uge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICBpbWcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcic7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgQ29udGVudCB0byBiZSByZXZlYWxlZC5cclxuICovXHJcblxyXG4uc2xpZGUtYmVoaW5kIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHBhZGRpbmc6IDMwcHggNXB4IDMwcHggMjBweDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAtMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNDgwcHg7XHJcbiAgbWluLWhlaWdodDogNDgwcHg7XHJcbiAgcGFkZGluZzogMCAzMHB4O1xyXG4gIHRyYW5zaXRpb246IGJvdHRvbSAzNTBtcyBlYXNlLCBvcGFjaXR5IDM1MG1zIGVhc2U7XHJcbiAgei1pbmRleDogLTE7XHJcblxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBwYWRkaW5nOiAwcHggMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgVGl0bGUgb2YgdGhlIGNvbnRlbnQgYmVoaW5kLlxyXG4gKi9cclxuXHJcbi5zbGlkZS1iZWhpbmRfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjBweCwgMzBweCk7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgzMHB4LCA0MHB4KTtcclxuICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IC01NXB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBFZGl0b3Igc2V0dGluZ3Mgb2YgdGhlIGNvbnRlbnQgYmVoaW5kLlxyXG4gKi9cclxuXHJcblxyXG4uc2xpZGUtYmVoaW5kX19lZGl0b3Ige1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogLTM1cHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBMaW5rIG9mIHRoZSBjb250ZW50IGJlaGluZC5cclxuICovXHJcblxyXG5cclxuLnNsaWRlX19saW5rIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDY1cHg7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogOHB4IDMwcHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNjVweDtcclxuICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIGhlaWdodDogMjVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNsaWRlc2hvd1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcblxyXG4vKipcclxuICogIE1haW4gZWxlbWVudC5cclxuICovXHJcblxyXG4uc2xpZGVyIHtcclxuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi10cmFuc3BhcmFudCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIC50ZXh0LWltYWdlX19pbWFnZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRleHQtaW1hZ2VfX2ltYWdlX19iYWNrZ3JvdW5kIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRleHQtaW1hZ2VfX2ltYWdlLXRpdGxlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU3VibWVudVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqICBTdWJtZW51LlxyXG4gKi9cclxuXHJcbi5qcy1oYXMtc3VibWVudSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgPiBhIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGxlZnQ6IC0xMHB4O1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICBtYXJnaW4tdG9wOiA5cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIC5zdWJtZW51IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICB0b3A6IDUwcHg7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdWJtZW51IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAyMHB4O1xyXG4gIGxlZnQ6IDA7XHJcbiAgcGFkZGluZzogMzBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgei1pbmRleDogLTE7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gIC5tZW51LWl0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMTVweCAwIDVweDtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMjUwbXMgZWFzZTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgICBoZWlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGVhbSBtZW1iZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi50ZWFtLW1lbWJlcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiA3NXB4IDA7XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlcl9fbG9vcCB7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogLTEwcHg7XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAyMHB4KTtcclxuICBtYXJnaW46IDEwcHg7XHJcbiAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcclxuICB6LWluZGV4OiAxMDtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0yMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxufVxyXG5cclxuLnRlYW0tbWVtYmVyX19pbWFnZSB7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMDtcclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAyNTBweDtcclxuICB9XHJcbn1cclxuXHJcbi50ZWFtLW1lbWJlcl9fdGl0bGUge1xyXG4gIHBhZGRpbmc6IDQwcHggMzBweDtcclxufVxyXG5cclxuLnRlYW0tbWVtYmVyX19mdW5jdGlvbiB7XHJcbiAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgcGFkZGluZzogMjBweCAwO1xyXG59XHJcblxyXG4udGVhbS1tZW1iZXJfX2VkaXRvciB7XHJcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gIHBhZGRpbmc6IDIwcHggNDBweCAyMHB4IDA7XHJcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRjb2xvci13aGl0ZS0xMDA7XHJcblxyXG4gIHVsIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XHJcbiAgIH1cclxuXHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgfVxyXG59XHJcblxyXG4uZGVmYXVsdCArIC50ZWFtLW1lbWJlcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcGFkZGluZzogMCAwIDc1cHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGVhc2Vyc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xyXG5cclxuLnRlYXNlcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xyXG5cclxuICAmLmltYWdlLXBvcnRyYWl0IHtcclxuICAgIC50ZWFzZXItaW5uZXJfX2ltYWdlIGltZyB7XHJcbiAgICAgIGhlaWdodDogNDI1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBNYWluIHRpdGxlLlxyXG4gKi9cclxuXHJcbi50ZWFzZXJzX19oZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIExvb3AuXHJcbiAqL1xyXG5cclxuLnRlYXNlcnNfX2xvb3Age1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgLTEwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFNpbmdsZSB0ZWFzZXIuXHJcbiAqL1xyXG5cclxuLnRlYXNlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgMTBweCAxNXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcclxuICBtYXJnaW46IDMwcHggMTBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgU2luZ2xlIGlubmVyLlxyXG4gKi9cclxuXHJcbi50ZWFzZXItaW5uZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi0xMDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFRlYXNlciB0aXRsZS5cclxuICovXHJcblxyXG4udGVhc2VyLWlubmVyX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmc6IDIwcHggMjBweCAwO1xyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiAgVGVhc2VyIGltYWdlLlxyXG4gKi9cclxuXHJcbi50ZWFzZXItaW5uZXJfX2ltYWdlIHtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XHJcbiAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIExpbmsuXHJcbiAqL1xyXG5cclxuLnRlYXNlci1pbm5lcl9fbGluayB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjBweDtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgyMXB4LCAyNXB4KTtcclxuXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogLTIwcHg7XHJcbiAgd2lkdGg6IDEzNXB4O1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nOiA4cHggMThweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG5cclxuICBzcGFuIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAycHg7XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5ICsgLnRlYXNlcnMsXHJcbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuICsgLnRlYXNlcnMsXHJcbi5wYWdlLWhlYWRlciArIC50ZWFzZXJzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmctdG9wOiA3NXB4O1xyXG59XHJcblxyXG4uaW5mb3JtYXRpb24gKyAudGVhc2VycyB7XHJcbiAgbWFyZ2luLXRvcDogLTIwcHg7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGV4dC9pbWFnZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqICBNYWluIGVsZW1lbnQuXHJcbiAqL1xyXG5cclxuLnRleHQtaW1hZ2UsXHJcbi50ZXh0LXRlYXNlcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZzogNzBweCAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgei1pbmRleDogMTA7XHJcblxyXG4gIC5vd2wtc3RhZ2Uge1xyXG4gICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLm93bC1kb3RzIHtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IGNhbGMoMjglIC0gMTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAyMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLm93bC1kb3Qge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggJGNvbG9yLWJsYWNrLTEwMDtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgJi5vcmRlci1yaWdodCAuaGVhZGluZy0xLWJsYWNrIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgNDVweCk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBDb250ZW50LlxyXG4gKi9cclxuXHJcbi50ZXh0LWltYWdlX19jb250ZW50LFxyXG4udGV4dC10ZWFzZXJzX19jb250ZW50IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQ1cHgpO1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYnJvd24tMTAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLWJyb3duLTEwMCwgMTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b24tYnJ1aW4ge1xyXG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAyNXB4KTtcclxuICAgIHBhZGRpbmc6IDZweCAyMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgLy8gJjpudGgtY2hpbGQoMikge1xyXG4gICAgLy8gICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuXHJcbiAgICAvLyAgICY6aG92ZXIge1xyXG4gICAgLy8gICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAuZGVmYXVsdF9fdGV4dCB7XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLXRyYW5zcGFyYW50IHtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1icm93bi0xMDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1ncm9lbiB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIEltYWdlcyBjb250YWluZXIuXHJcbiAqL1xyXG5cclxuLnRleHQtaW1hZ2VfX2ltYWdlcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQ1cHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBJbWFnZSB0aXRsZS5cclxuICovXHJcblxyXG4udGV4dC1pbWFnZV9faW1hZ2UtdGl0bGUge1xyXG4gIEBpbmNsdWRlIGZvbnQoMTZweCwgMjBweCk7XHJcbiAgbWluLWhlaWdodDogMjhweDtcclxuICBtYXJnaW4tdG9wOiAtNHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDRweDtcclxuICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gIHBhZGRpbmctbGVmdDogMzVweDtcclxuICBjb2xvcjogJGNvbG9yLXB1cnBsZS0zMDA7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBsZXR0ZXItc3BhY2luZzogMC44cHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgei1pbmRleDogMTE7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFNpbmdsZSBpbWFnZSBjb250YWluZXIuXHJcbiAqL1xyXG5cclxuLnRleHQtaW1hZ2VfX2ltYWdlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBJbWFnZS5cclxuICovXHJcblxyXG4udGV4dC1pbWFnZV9faW1hZ2Utc3JjIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBoZWlnaHQ6IDI1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC8vIGhlaWdodDogNDAwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAvLyBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gIC8vIGhlaWdodDogNDAwcHg7XHJcbiAgLy8gZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcic7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgLy8gb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIEltYWdlIGJhY2tncm91bmQuXHJcbiAqL1xyXG5cclxuLnRleHQtaW1hZ2VfX2ltYWdlLWJhY2tncm91bmQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIGxlZnQ6IDI1cHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC0xMHB4O1xyXG4gIGxlZnQ6IDMwcHg7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xyXG4gIGhlaWdodDogOTAlO1xyXG4gIC8vIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtMjAwO1xyXG4gIG9wYWNpdHk6IDAuNDtcclxuICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG5cclxuLmJhY2tncm91bmQtY29sb3Itd2hpdGUgKyAudGV4dC1pbWFnZS5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICB9XHJcblxyXG5cclxuICBwYWRkaW5nOiAwIDAgNzVweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0IHRlYXNlcnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50ZXh0LXRlYXNlcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgNzVweDtcclxuICB9XHJcblxyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTIwMDtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgbGVmdDogMjAwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGJvdHRvbTogLTUwcHg7XHJcbiAgICAgIGxlZnQ6IDQwcHg7XHJcbiAgICAgIHdpZHRoOiAxOTNweDtcclxuICAgICAgaGVpZ2h0OiAxNDJweDtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTEwMHB4O1xyXG4gICAgbGVmdDogMjAlO1xyXG4gICAgd2lkdGg6IDI3NXB4O1xyXG4gICAgaGVpZ2h0OiAyMDJweDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnL2ZpbGVhZG1pbi91c2VyX3VwbG9hZC9XRUVLRElFUkVOLnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICArIGRpdiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICAgIH1cclxuICAgIHBhZGRpbmctdG9wOiAyMDBweDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAgTG9vcC5cclxuICovXHJcblxyXG4udGV4dC10ZWFzZXJzX190ZWFzZXJzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuICB9XHJcblxyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiB0aXRsZS5cclxuICovXHJcblxyXG4udGV4dC10ZWFzZXJzX190aXRsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogIFNpbmdsZSB0ZWFzZXIuXHJcbiAqL1xyXG5cclxuLnRleHQtdGVhc2VyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW46IGF1dG8gMCA3MHB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XHJcbiAgbWF4LXdpZHRoOiAyNTBweDtcclxuICBtYXJnaW46IDAgMjBweCAyMHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqICBJbm5lci5cclxuICovXHJcblxyXG4udGV4dC10ZWFzZXItaW5uZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgaW1nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBtYXJnaW46IGF1dG8gYXV0byAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAgQ29udGVudC5cclxuICovXHJcblxyXG4udGV4dC10ZWFzZXJzX19jb250ZW50IHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XHJcblxyXG4gIHA6bm90KC5oYXMtbGluaykge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi1ncm9lbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtdGVhc2VyLWlubmVyX190aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqICBBZGRpdGlvbmFsIHJ1bGVzLlxyXG4gKi9cclxuXHJcbi5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlICsgLnRleHQtdGVhc2Vycy5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlIHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUcmlwZSBDb2x1bW5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAgTWFpbiBlbGVtZW50LlxyXG4gKi9cclxuXHJcbi8vc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuLnRyaXBsZS1jb2x1bW4ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMjAwO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG5cclxuICArIC53cmFwcGVyID4gLmdvb2dsZS1tYXBzIHtcclxuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnRyaXBsZS1jb2x1bW5fX2l0ZW0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHJcbiAgICAmOm50aC1sYXN0LWNoaWxkKDEpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnRyaXBsZS1jb2x1bW5fX2hlYWRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICB9XHJcblxyXG4gIC5lZGl0b3JfX3RpdGxlIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjFweCwgMzBweCk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbn1cclxuXHJcbi50cmlwbGUtY29sdW1uX19lZGl0b3Ige1xyXG5cclxuICBhIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zIGVhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJyb3duLTEwMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvci1icm93bi0xMDAsIDEwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhLmJ1dHRvbi1ncm9lbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gIGEuYnV0dG9uLWJydWluIHtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy9zYXNzLWxpbnQ6ZW5hYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSW50cmFuZXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbnRyYW5ldCB7XHJcbiAgJGhlYWRlci13aWR0aDogMjkwcHg7XHJcbiAgJGhlYWRlci13aWR0aC1jb2xsYXBzZWQ6IDUwcHg7XHJcbiAgJGhlYWRlci13aWR0aC1jb2xsYXBzZWQtYmlnOiA5NHB4O1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xyXG5cclxuICAvKipcclxuICAgKiBIZWFkZXIuXHJcbiAgICovXHJcblxyXG4gIC5oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6ICRoZWFkZXItd2lkdGg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tMTAwO1xyXG5cclxuICAgICYuaXMtY29sbGFwc2VkIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuICAgICAgICB3aWR0aDogJGhlYWRlci13aWR0aC1jb2xsYXBzZWQtYmlnO1xyXG4gICAgICB9XHJcbiAgICAgIHdpZHRoOiAkaGVhZGVyLXdpZHRoLWNvbGxhcHNlZDtcclxuXHJcbiAgICAgICsgLmNvbnRlbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skaGVhZGVyLXdpZHRoLWNvbGxhcHNlZC1iaWd9KTtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaGVhZGVyLXdpZHRoLWNvbGxhcHNlZC1iaWc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRoZWFkZXItd2lkdGgtY29sbGFwc2VkfSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRoZWFkZXItd2lkdGgtY29sbGFwc2VkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaW50cmFuZXQtbWVudV9fbG9nb3V0IHtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgbGVmdDogMjBweDtcclxuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2dvdXQtYnV0dG9uX190ZXh0LFxyXG4gICAgICAuaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkgPiBhIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiAxMDBtcyAxbXM7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmhlYWRlci1sb2dvIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAxMDBtcyAxbXM7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNDBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHdpZHRoOiAyNjBweDtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5oZWFkZXItbG9nb19fc2xvZ2FuIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiAxMDBtcyAxbXM7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogSGVhZGVyIGxvZ28uXHJcbiAgICovXHJcbiAgLmhlYWRlci1sb2dvIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDEwMG1zIDg1MG1zO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMjMwcHg7XHJcbiAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oZWFkZXItbG9nb19fc2xvZ2FuIHtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIHRyYW5zaXRpb246IDEwMG1zIDg1MG1zO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEhlYWRlciBjb2xsYXBzZS5cclxuICAgKi9cclxuXHJcbiAgLmhlYWRlcl9fY29sbGFwc2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzAwcHg7XHJcbiAgICBsZWZ0OiAyOTBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogbGVmdCA4NTBtcztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuICAgICAgICBsZWZ0OiAkaGVhZGVyLXdpZHRoLWNvbGxhcHNlZC1iaWc7XHJcbiAgICAgIH1cclxuICAgICAgbGVmdDogJGhlYWRlci13aWR0aC1jb2xsYXBzZWQ7XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGVudC5cclxuICAgKi9cclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGhlYWRlci13aWR0aH0pO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkZXItd2lkdGg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCA4NTBtcyBlYXNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gIH1cclxuXHJcbiAgLmNvbnRlbnQtZGVmYXVsdCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEyNXB4O1xyXG4gICAgfVxyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgICsgLm5ld3Mge1xyXG4gICAgICAubmV3cy1saXN0X190ZWFzZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWZhdWx0Om50aC1jaGlsZCgyKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcblxyXG4gIC5kZWZhdWx0X190aXRsZSBoMSxcclxuICAuZGVmYXVsdF9fdGl0bGUgaDIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBAaW5jbHVkZSBmb250KDMwcHgsIDM2cHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5ld3Mge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMjVweDtcclxuICAgIH1cclxuICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAubmV3cy1oZWFkIHtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDczMHB4KSB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuaGVhZGluZy0xLWJsYWNrIHtcclxuICAgIC8vICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBmb250KDUwcHgsIDgwcHgpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAubmV3cy1saXN0X190ZWFzZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEwcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAycHg7XHJcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uZXdzLWxpc3QtdmlldyAuYXJ0aWNsZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEgLSAyMHB4KTtcclxuICAgIH1cclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XHJcbiAgfVxyXG5cclxuICAubmV3cy1saXN0LXZpZXcgLmFydGljbGU6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG4gICAgbWFyZ2luOiAxMHB4IDEwcHggNTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm5ld3MtbGlzdC12aWV3IC5uZXdzLWltZy13cmFwLFxyXG4gIC5uZXdzLWxpc3QtdmlldyAudGVhc2VyLXRleHQge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5uZXdzLWxpc3QtdmlldyAudGVhc2VyLXRleHQge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5ld3MtbGlzdC12aWV3IC5uZXdzLXRpdGxlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb250KDIwcHgsIDMwcHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9sZDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgfVxyXG5cclxuICAubmV3cy1saXN0LXZpZXcgLmRhdGUsXHJcbiAgLm5ld3MtbGlzdC12aWV3IC50ZWFzZXItdGV4dCBwIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib29rO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICB9XHJcblxyXG4gIC5uZXdzLWxpc3QtdmlldyAuYnV0dG9uLWdyb2VuIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmV3czogU2luZ2xlLlxyXG4gICAqL1xyXG5cclxuICAubmV3cy1zaW5nbGUge1xyXG4gICAgLmJ1dHRvbi10ZXJ0aWFyeS0tYnJvd24gc3ZnIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtaGVhZGVyX190aXRsZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICBtYXJnaW46IDUwcHggMCAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgbWFyZ2luOiA1MHB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXJ0aWNsZTpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3Mtc2luZ2xlX190ZWFzZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXdzLWltZy13cmFwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lbnUuXHJcbiAqL1xyXG5cclxuLmludHJhbmV0LW1lbnVfX2xvZ291dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gIH1cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcclxuICBjb2xvcjogJGNvbG9yLXB1cnBsZS0yMDA7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1ib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG5cclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDMwcHg7XHJcbiAgICBsZWZ0OiAzMHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5NywgMTkzLCAyMTQpO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAyMXB4O1xyXG4gICAgaGVpZ2h0OiAyMXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmxvZ291dC1idXR0b25fX3RleHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgODUwbXMsIGNvbG9yIDIwMG1zO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS0zMDA7XHJcblxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHVycGxlLTMwMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5pbnRyYW5ldC1tZW51IC50b3AtbWVudSB7XHJcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmludHJhbmV0LW1lbnUgLnRvcC1tZW51IGxpID4gYSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gIH1cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgODUwbXMsIGNvbG9yIDIwMG1zO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYm9vaztcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDMwcHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAzMHB4O1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5NywgMTkzLCAyMTQpO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDIxcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLTMwMDtcclxuICB9XHJcbn1cclxuXHJcbi8vc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4uaW50cmFuZXQtbWVudSAudG9wLW1lbnUgbGkuYWN0aXZlID4gYSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxOCwgMjIzLCAyMTMpO1xyXG59XHJcbi8vc2Fzcy1saW50OmVuYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbG9yXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29sb3IgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbi8vIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvblxyXG4vLyBldmVyeSBjb2xvciBkZWZpbml0aW9uIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbi8vXHJcbi8vIExvb3AgdGhyb3VnaCBldmVyeSBgJGtleWAgYW5kIGAkbWFwYCBpbiB0aGUgYCRjb2xvcnNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXHJcbi8vIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbkBlYWNoICRrZXksICRtYXAgaW4gJGNvbG9ycyB7XHJcblxyXG4gIC8vIExvb3AgdGhyb3VnaCBldmVyeSBgJHNoYWRlYCBhbmQgYCRyZ2JgIGluIGAkbWFwYC5cclxuICBAZWFjaCAkc2hhZGUsICRyZ2IgaW4gJG1hcCB7XHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kLWNvbG9yYCBydWxlcy5cclxuICAgIEBlYWNoICRydWxlIGluIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBgI3skcnVsZX1gICN7JHJnYn0tI3skc2hhZGV9IGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgLiN7JHJ1bGV9LSN7dW5xdW90ZSgka2V5KX0tI3t1bnF1b3RlKCRzaGFkZSl9IHtcclxuICAgICAgICAjeyRydWxlfTogJHJnYjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBPYmplY3QgRml0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogT2JqZWN0IGZpdC5cclxuICpcclxuICogMS4gRm9udCBmYW1pbHkgcG9seWZpbGwgd2l0aCAoaHR0cHM6Ly9naXRodWIuY29tL2JmcmVkLWl0L29iamVjdC1maXQtaW1hZ2VzKS5cclxuICovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggZXZlcnkgdmFsdWUgZm9yIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXHJcbkBlYWNoICR2YWx1ZSBpbiBmaWxsLCBjb250YWluLCBjb3Zlciwgbm9uZSwgc2NhbGUtZG93biB7XHJcblxyXG4gIC8qKlxyXG4gICAqIGBvYmplY3QtZml0YCAjeyR2YWx1ZX0gdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cclxuXHJcbiAgLiN7JHZhbHVlfSB7XHJcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JHZhbHVlfTsnOyAvKiAxICovXHJcbiAgICBvYmplY3QtZml0OiAjeyR2YWx1ZX07XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFBvc2l0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xyXG4gIC4jeyR2YWx1ZX0ge1xyXG4gICAgcG9zaXRpb246ICR2YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGV4dFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEZvbnQgZmFtaWx5IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1mYW1pbHkge1xyXG4gICAgICAudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAkcHJvcGVydHkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtc2l6ZSB7XHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQsIGNlbnRlciB7XHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skZGlyZWN0aW9ufSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGRpcmVjdGlvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IHdlaWdodCB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqXHJcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xyXG4gICAgICAkaTogJGkgKiAxMDA7IC8vIFsxXVxyXG5cclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRpfSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICN7JGl9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgdHJhbnNmb3JtIHVpdGxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgICBAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBWZXJ0aWNhbCBSaHl0aG1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG4gICRpOiAkaSAqIDg7XHJcblxyXG4gIC52ci0jeyRpfSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG4gIC56LWluZGV4LSN7JGtleX0ge1xyXG4gICAgei1pbmRleDogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBaLWluZGV4XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gZXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcbiAgJzAnOiAgMCxcclxuICAnMSc6ICAxMCxcclxuICAnMic6ICAyMCxcclxuICAnMyc6ICAzMCxcclxuICAnNCc6ICA0MCxcclxuICAnNSc6ICA1MCxcclxuICAnNic6ICA2MCxcclxuICAnNyc6ICA3MCxcclxuICAnOCc6ICA4MCxcclxuICAnOSc6ICA5MCxcclxuICAnMTAnOiAxMDBcclxuKTtcclxuIl19 */
