@charset "UTF-8";
@font-face {
  font-family: 'BurfordRusticShadowTwoA';
  src: url("/wp-content/themes/flex/assets/fonts/BurfordRusticShadowTwoA.otf") format("OpenType"); }

@font-face {
  font-family: 'Predige-Medium';
  src: url("/wp-content/themes/flex/assets/fonts/Predige-Medium.otf") format("OpenType"), url("/wp-content/themes/flex/assets/fonts/Predige-Medium.woff") format("woff"); }

@font-face {
  font-family: 'Predige-Regular';
  src: url("/wp-content/themes/flex/assets/fonts/Predige-Regular.otf") format("OpenType"), url("/wp-content/themes/flex/assets/fonts/Predige-Regular.woff") format("woff"); }

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

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

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

/**
 * 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: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  min-height: 100vh;
  background-color: white;
  color: black;
  font-family: "Predige-Regular";
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

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

/* ==========================================================================
   Background
   ========================================================================== */
/**
 * Background base.
 */
.background {
  position: relative; }
  .background::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    content: '';
    z-index: -1; }

/**
 * Background primary.
 */
.background--default {
  color: white;
  fill: white; }
  .background--default::before {
    background: black; }
  .background--default h1,
  .background--default h2 {
    color: white; }
  .background--default .button--arrow {
    color: #e23212; }
    .background--default .button--arrow svg {
      color: #e23212;
      fill: #e23212; }
  .background--default .button--border {
    border: 2px solid #e23212;
    color: #e23212; }
    .background--default .button--border svg {
      color: #e23212;
      fill: #e23212; }

.background--gradient {
  color: white;
  fill: white; }
  .background--gradient::before {
    background: black; }
  .background--gradient h1,
  .background--gradient h2 {
    color: white; }
  .background--gradient .button--arrow {
    color: #e23212; }
    .background--gradient .button--arrow svg {
      color: #e23212;
      fill: #e23212; }
  .background--gradient .button--border {
    border: 2px solid #e23212;
    color: #e23212; }
    .background--gradient .button--border svg {
      color: #e23212;
      fill: #e23212; }

.background--grey {
  color: black;
  fill: black; }
  .background--grey::before {
    background: #e7e6dd; }
  .background--grey h1,
  .background--grey h2 {
    color: black; }
  .background--grey .button--arrow {
    color: black; }
    .background--grey .button--arrow svg {
      color: black;
      fill: black; }
  .background--grey .button--border {
    border: 2px solid black;
    color: black; }
    .background--grey .button--border svg {
      color: black;
      fill: black; }

/**
 * Background primary (with pattern).
 */
.background--beige {
  color: black;
  fill: black; }
  .background--beige::before {
    background: #f0e4cb; }
  .background--beige h1,
  .background--beige h2 {
    color: black; }
  .background--beige .button--arrow {
    color: black; }
    .background--beige .button--arrow svg {
      color: black;
      fill: black; }
  .background--beige .button--border {
    border: 2px solid black;
    color: black; }
    .background--beige .button--border svg {
      color: black;
      fill: black; }

/**
 * Background secondary.
 */
.background--brown {
  color: #f0e4cb;
  fill: #f0e4cb; }
  .background--brown::before {
    background: black; }
  .background--brown h1,
  .background--brown h2 {
    color: #f0e4cb; }
  .background--brown .button--arrow {
    color: #f0e4cb; }
    .background--brown .button--arrow svg {
      color: #f0e4cb;
      fill: #f0e4cb; }
  .background--brown .button--border {
    border: 2px solid black;
    color: black; }
    .background--brown .button--border svg {
      color: black;
      fill: black; }

/**
 * Background secondary.
 */
.background--black {
  color: #fff200;
  fill: #fff200; }
  .background--black::before {
    background: black; }
  .background--black h1,
  .background--black h2 {
    color: #fff200; }
  .background--black .button--arrow {
    color: #fff200; }
    .background--black .button--arrow svg {
      color: #fff200;
      fill: #fff200; }
  .background--black .button--border {
    border: 2px solid black;
    color: black; }
    .background--black .button--border svg {
      color: black black;
      fill: black; }

/**
 * Background border.
 */
@media only screen and (max-width: 899px) {
  .background--border {
    margin-bottom: 0; } }

.background--border::before {
  bottom: 95px;
  border-bottom: 20px solid #e23212; }
  @media only screen and (max-width: 899px) {
    .background--border::before {
      bottom: 0;
      border-bottom: 10px solid #e23212; } }

@media only screen and (min-width: 900px) {
  .background--border .wrapper {
    padding-bottom: 0; } }

.background--border + div {
  margin-top: -95px;
  padding-top: 95px; }
  @media only screen and (max-width: 899px) {
    .background--border + div {
      margin-top: 0;
      padding-top: 0; } }

/* ==========================================================================
   Buttons.
   ========================================================================== */
/**
 * Button base.
 */
.button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  display: inline-flex;
  align-items: center;
  height: 32px;
  transition: all 350ms ease;
  cursor: pointer; }
  .button svg {
    width: 35px;
    height: 32px;
    transition: all 250ms ease; }

/**
 * Button border.
 */
.button--border {
  position: relative;
  margin-right: 35px;
  padding: 0 10px; }
  .button--border svg {
    position: absolute;
    top: -3px;
    right: -35px; }
  .button--border::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all 350ms ease;
    content: '';
    z-index: -1; }
  .button--border:hover::after {
    width: 100%; }
  .button--border.is-orange {
    border: 2px solid #e23212;
    color: #e23212; }
    .button--border.is-orange svg {
      color: #e23212;
      fill: #e23212; }
    .button--border.is-orange::after {
      background: #e23212; }
    .button--border.is-orange:hover {
      color: white; }
  .button--border.is-brown {
    border: 2px solid black;
    color: black; }
    .button--border.is-brown svg {
      color: black;
      fill: black; }
    .button--border.is-brown::after {
      background: black; }
    .button--border.is-brown:hover {
      color: #f0e4cb; }
  .button--border.is-black {
    border: 2px solid black;
    color: black; }
    .button--border.is-black svg {
      color: black;
      fill: black; }
    .button--border.is-black::after {
      background: black; }
    .button--border.is-black:hover {
      color: #fff200; }
  .button--border.is-green {
    border: 2px solid black;
    color: black; }
    .button--border.is-green svg {
      color: black;
      fill: black; }
    .button--border.is-green::after {
      background: black; }
    .button--border.is-green:hover {
      color: #fff200; }

/**
 * Button arrow.
 */
.button--arrow svg {
  position: relative;
  top: 1px;
  margin-left: 12px; }

.button--arrow:hover svg {
  margin-left: 15px; }

.button--arrow.is-orange {
  color: #e23212; }
  .button--arrow.is-orange svg {
    color: #e23212;
    fill: #e23212; }

.button--arrow.is-red {
  color: #df4126; }
  .button--arrow.is-red svg {
    color: #df4126;
    fill: #df4126; }

.button--arrow.is-beige {
  color: #f0e4cb; }
  .button--arrow.is-beige svg {
    color: white;
    fill: white; }

.button--arrow.is-brown {
  color: black; }
  .button--arrow.is-brown svg {
    color: black;
    fill: black; }

.button--arrow.is-black {
  color: black; }
  .button--arrow.is-black svg {
    color: black;
    fill: black; }

/* ==========================================================================
   Container
   ========================================================================== */
/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 50.66667px);
  padding: 0 25.33333px;
  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;
  min-height: 100vh;
  overflow: hidden; }
  .content-constraint ::-moz-selection {
    background-color: #e23212;
    color: black; }
  .content-constraint ::selection {
    background-color: #e23212;
    color: black; }

/* ==========================================================================
   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-wrap {
  flex-wrap: wrap; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================================
   Headings.
   ========================================================================== */
/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.125em; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.125em;
      overflow-wrap: break-word; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em;
  font-family: "Predige-Medium";
  -webkit-text-stroke: 2px #e23212;
  color: transparent; }
  @media only screen and (max-width: 1199px) {
    h3,
    .heading-3 {
      font-size: 100px;
      font-size: 10rem;
      line-height: 1em; } }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 50px;
      font-size: 5rem;
      line-height: 1em;
      max-width: 100vw;
      white-space: nowrap;
      overflow: hidden; } }

/* ==========================================================================
   Headings.
   ========================================================================== */
.has-load {
  position: relative;
  top: -150px;
  transition: all 1000ms ease;
  opacity: 0; }

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

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

/* ==========================================================================
   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: none; }
  .cms-output ul li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    width: calc(100% - 35px); }
    .cms-output ul li::before {
      left: 0;
      width: 5px;
      margin-right: 20px;
      content: '›'; }

.cms-output ol {
  list-style-type: decimal; }
  .cms-output ol li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em; }

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

/* ==========================================================================
   Contact form
   ========================================================================== */
.contact-form {
  padding-bottom: 170px;
  background-color: black; }
  @media only screen and (max-width: 899px) {
    .contact-form {
      padding-bottom: 85px; } }

.contact-form__title {
  position: relative;
  top: -10px;
  left: -14px;
  padding-bottom: 85px;
  color: transparent;
  -webkit-text-stroke: 2px #e23212; }
  @media only screen and (max-width: 899px) {
    .contact-form__title {
      left: -8px;
      margin-top: 25px;
      padding-bottom: 43px; } }

.contact-form__column-contact {
  width: 50%; }
  @media only screen and (max-width: 1199px) {
    .contact-form__column-contact {
      width: 100%; } }

.contact-form__contact-block {
  margin-bottom: 170px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-block {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-block {
      margin-bottom: 75px; } }
  .contact-form__contact-block:last-of-type {
    margin-bottom: 0; }
  .contact-form__contact-block:first-of-type .contact-form__contact-subtitle {
    padding-top: 0; }

.contact-form__contact-title {
  position: absolute;
  left: -15px;
  bottom: 35%;
  color: transparent;
  -webkit-text-stroke: 2px #e23212; }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-title {
      left: -8px;
      bottom: 37%; } }

.contact-form__contact-subtitle {
  max-width: 400px;
  margin-bottom: 25px;
  padding-top: 0;
  color: white; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-subtitle {
      padding-top: 0; } }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-subtitle {
      padding-top: 0; } }

.contact-form__contact-editor {
  max-width: 585px;
  color: white; }

.contact-form__contact-logo {
  max-width: 290px;
  margin-top: 55px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-logo {
      margin-top: 40px; } }

.contact-form__column-form {
  width: 50%; }
  @media only screen and (max-width: 1199px) {
    .contact-form__column-form {
      width: 100%; } }

/* ==========================================================================
   Downloads
   ========================================================================== */
.downloads {
  background-color: black; }
  @media only screen and (max-width: 899px) {
    .downloads .wrapper {
      flex-direction: column-reverse;
      padding-top: 15px; } }

.downloads__item {
  margin-bottom: 164px; }
  @media only screen and (max-width: 1199px) {
    .downloads__item {
      margin-bottom: 115px; } }
  @media only screen and (max-width: 899px) {
    .downloads__item {
      margin-bottom: 90px; } }

.downloads__item-date {
  position: absolute;
  left: -14px;
  color: transparent;
  -webkit-text-stroke: 2px #e23212; }
  @media only screen and (max-width: 899px) {
    .downloads__item-date {
      left: -7px; } }

.downloads__column-items {
  width: 61%;
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .downloads__column-items {
      width: 100%; } }

.downloads__item-title {
  margin-bottom: 27px;
  padding-top: 224px;
  color: white; }
  @media only screen and (max-width: 1199px) {
    .downloads__item-title {
      padding-top: 175px; } }
  @media only screen and (max-width: 899px) {
    .downloads__item-title {
      padding-top: 115px; } }

.downloads__item-image {
  max-width: 570px;
  margin: 35px 0; }

.downloads__item-editor {
  max-width: 570px;
  color: white; }

.downloads__item-link {
  margin-top: 35px; }

.downloads__column-links {
  width: 39%; }
  @media only screen and (max-width: 899px) {
    .downloads__column-links {
      width: 100%;
      margin-bottom: 75px; } }

.downloads__title {
  margin-bottom: 23px;
  color: white; }

.downloads__editor a {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  transition: all 250ms ease;
  color: white; }
  .downloads__editor a:hover {
    color: #e23212; }

/* ==========================================================================
   Footer columns
   ========================================================================== */
.footer-columns {
  line-height: 29px; }
  @media only screen and (max-width: 899px) {
    .footer-columns {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 2em; } }
  .footer-columns .wrapper {
    padding-top: 160px;
    padding-bottom: 175px; }
    @media only screen and (max-width: 899px) {
      .footer-columns .wrapper {
        padding-top: 70px;
        padding-bottom: 85px; } }
  .footer-columns a {
    transition: all 250ms ease; }
    .footer-columns a:hover {
      color: #e23212; }

.footer-columns__contact {
  position: relative;
  width: 40%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact {
      width: 100%;
      margin-bottom: 50px; } }

.footer-columns__contact-logo {
  position: absolute;
  top: -35px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact-logo {
      position: relative;
      top: 0; } }
  .footer-columns__contact-logo img {
    max-width: 300px;
    max-height: 90px;
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain; }

.footer-columns__contact-editor {
  margin-top: 75px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact-editor {
      margin-top: 30px; } }

.footer-columns__sitemaps {
  width: 45%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__sitemaps {
      display: none; } }

.footer-columns__sitemap {
  width: 50%; }

.footer-columns__social-title,
.footer-columns__sitemap-title {
  margin-bottom: 45px;
  font-weight: 600; }
  @media only screen and (max-width: 899px) {
    .footer-columns__social-title,
    .footer-columns__sitemap-title {
      margin-bottom: 25px; } }

.footer-columns__social {
  width: 15%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__social {
      width: 100%; } }

.footer-columns__social-links a {
  display: flex;
  align-items: center; }
  .footer-columns__social-links a svg {
    margin-right: 10px;
    width: 20px;
    height: 20px; }
    .footer-columns__social-links a svg path {
      transition: all 300ms ease-in-out; }
  .footer-columns__social-links a:hover {
    color: #e23212; }
    .footer-columns__social-links a:hover svg path {
      fill: #e23212; }

/* ==========================================================================
   Footer CTA
   ========================================================================== */
.footer-cta {
  overflow: hidden;
  z-index: 2; }
  .footer-cta.is-homepage::before {
    background: white; }
  .footer-cta .wrapper {
    position: relative; }
  .footer-cta::before {
    background: black; }

.background--border + .footer-cta {
  padding-top: 175px; }
  @media only screen and (max-width: 899px) {
    .background--border + .footer-cta {
      padding-top: 75px; } }

.footer-cta + div {
  margin-top: -95px; }
  @media only screen and (max-width: 899px) {
    .footer-cta + div {
      margin-top: 0; } }

.footer-cta__body {
  position: absolute;
  top: 160px;
  right: 0;
  max-width: 575px;
  max-height: 250px;
  padding: 60px 55px;
  background: #e23212;
  color: white; }
  @media only screen and (max-width: 899px) {
    .footer-cta__body {
      top: 120px; } }
  @media only screen and (max-width: 599px) {
    .footer-cta__body {
      top: 40px;
      right: 40px;
      bottom: 40px;
      left: 40px;
      max-height: -webkit-fit-content;
      max-height: -moz-fit-content;
      max-height: fit-content;
      padding: 60px 40px; } }

.footer-cta__link {
  margin-top: 10px; }

.footer-cta__image {
  position: relative;
  width: 100vw;
  min-height: 570px; }
  @media only screen and (max-width: 899px) {
    .footer-cta__image {
      position: initial;
      height: 500px !important; } }
  .footer-cta__image img {
    position: absolute; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
  height: 50px;
  padding-top: 7px;
  background-color: #e23212; }
  @media only screen and (max-width: 899px) {
    .footer {
      height: 40px;
      padding-top: 5px; } }

.footer__links a {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1em;
  margin-right: 60px;
  transition: all 250ms ease;
  border-bottom: 2px solid white;
  color: white; }
  @media only screen and (max-width: 899px) {
    .footer__links a {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 0.85714em;
      margin-right: 20px;
      border: 0; } }
  @media only screen and (min-width: 900px) {
    .footer__links a:hover {
      border-bottom: 2px solid #fff200;
      color: #fff200; } }

/* ==========================================================================
   Form
   ========================================================================== */
.form {
  padding-bottom: 180px;
  background-color: black; }
  @media only screen and (max-width: 899px) {
    .form {
      padding-bottom: 85px; } }

.form__title {
  position: relative;
  top: -10px;
  left: -14px;
  padding-bottom: 85px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .form__title {
      left: -8px;
      margin-top: 25px;
      padding-bottom: 50px; } }

.form__column-form {
  width: 65%; }
  @media only screen and (max-width: 1199px) {
    .form__column-form {
      width: 100%; } }

.form__column-image {
  width: 35%; }
  @media only screen and (max-width: 1199px) {
    .form__column-image {
      display: none; } }

.form__image {
  width: 667px;
  height: 600px;
  position: relative; }
  .form__image img {
    position: absolute;
    right: 0;
    min-width: 435px;
    height: auto; }

/* ==========================================================================
   Header
   ========================================================================== */
.header {
  position: absolute;
  width: 100%;
  height: 210px; }
  @media only screen and (max-width: 899px) {
    .header {
      height: 125px; } }
  .header .wrapper {
    align-items: center;
    height: 210px; }
    @media only screen and (max-width: 899px) {
      .header .wrapper {
        justify-content: space-between;
        height: 125px; } }

.header + div {
  padding-top: 210px; }
  @media only screen and (max-width: 899px) {
    .header + div {
      padding-top: 125px; } }

.header__logo {
  width: calc(100% - 640px);
  padding-right: 15px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__logo {
      width: calc(100% - 44px);
      transition: all 750ms ease; } }
  .header__logo img {
    width: 212px;
    height: 150px; }
    @media only screen and (max-width: 899px) {
      .header__logo img {
        width: auto;
        max-height: 40px; } }

@media only screen and (max-width: 899px) {
  body.is-active .header__logo {
    z-index: 100; } }

.header__buttons {
  width: 606px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__buttons {
      display: none; } }

.js-open-locations2.is-active, .js-open-locations.is-active {
  color: white !important; }
  .js-open-locations2.is-active::after, .js-open-locations.is-active::after {
    width: 100%; }

.header__button {
  border: 2px solid #e23212;
  color: #e23212; }
  .header__button svg {
    color: #e23212;
    fill: #e23212; }
  .header__button::after {
    background: #e23212; }
  .header__button:hover {
    color: white; }
  .header__button.is-search {
    margin-right: 80px; }

/**
 * Mobile menu button.
 */
.header__menu-button {
  position: relative;
  width: 34px;
  height: 34px;
  z-index: 100; }
  .header__menu-button span {
    display: inline-block;
    position: absolute;
    right: 0;
    left: 0;
    width: 34px;
    height: 2px;
    margin: auto;
    background-color: white; }
    .header__menu-button span:nth-child(1) {
      top: 0;
      transition: background-color 400ms, top 400ms 400ms, transform 400ms 0s; }
    .header__menu-button span:nth-child(2) {
      top: calc(50% - 1px);
      transition: background-color 400ms, opacity 0ms 400ms;
      background-color: white;
      opacity: 1; }
    .header__menu-button span:nth-child(3) {
      bottom: 0;
      transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
      background-color: white; }
  .header__menu-button.is-active span:nth-child(1) {
    top: calc(50% - 1px);
    transform: rotate(-45deg);
    transition: background-color 400ms, top 400ms, transform 400ms 400ms; }
  .header__menu-button.is-active span:nth-child(2) {
    opacity: 0; }
  .header__menu-button.is-active span:nth-child(3) {
    bottom: calc(50% - 1px);
    transform: rotate(45deg);
    transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; }

/**
 * Header secondary colors.
 */
.header--secondary .header__button {
  border: 2px solid #e23212;
  color: #e23212; }
  .header--secondary .header__button svg {
    color: #e23212;
    fill: #e23212; }
  .header--secondary .header__button::after {
    background: #e23212; }
  .header--secondary .header__button:hover {
    color: white; }

.header--secondary .header__menu-button span {
  background-color: white; }
  .header--secondary .header__menu-button span:nth-child(2), .header--secondary .header__menu-button span:nth-child(3) {
    background-color: white; }

@media only screen and (min-width: 900px) {
  .header__menu-button.is-active span {
    background-color: #e23212; }
    .header__menu-button.is-active span:nth-child(2), .header__menu-button.is-active span:nth-child(3) {
      background-color: #e23212; } }

.header.header--secondary {
  background-color: black;
  position: relative; }

.header__locations {
  position: absolute;
  width: 100%;
  top: 120px;
  left: 0;
  display: flex;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50px);
  transition: all 300ms ease-in-out; }
  .header__locations .wrapper .js-locations {
    background-color: #e23212;
    padding: 24px; }
  .header__locations.is-active {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0); }

.header__location {
  position: relative;
  width: 282px;
  height: 170px;
  display: block;
  padding: 10px; }

.header__location-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  z-index: 1; }

.header__location-status {
  background-color: black;
  padding: 5px;
  color: white;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  display: block;
  margin-bottom: 17.5px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1; }

.header__location-title {
  display: block;
  color: var(--Beige-100, #FFF);
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  text-transform: uppercase;
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  line-height: 105%;
  /* 33.6px */
  text-transform: uppercase;
  position: relative;
  z-index: 1; }

.header__location-subtitle {
  color: var(--Beige-100, #FFF);
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 105%;
  /* 16.8px */
  text-transform: uppercase;
  margin-top: 12px;
  position: relative;
  z-index: 1; }

/* ==========================================================================
   Home DNA form.
   ========================================================================== */
/**
 * Default styling.
 */
input[type='text'],
input[type='number'],
input[type='email'],
select,
textarea {
  display: block;
  width: 100%;
  padding: 7px 0;
  border-bottom: 1px solid white;
  background: transparent;
  color: white; }

textarea {
  height: 125px;
  border-bottom: 2px solid white; }

input::-moz-placeholder {
  color: white; }

input:-ms-input-placeholder {
  color: white; }

input::placeholder {
  color: white; }

/**
 * HomeDNA form.
 */
.homedna-survey {
  max-width: 575px; }

.homedna-survey label {
  display: block;
  margin-bottom: -23px;
  font-family: "Predige-Medium"; }

.homedna-survey .question-type-static,
.homedna-survey .question-type-header {
  display: none; }

.homedna-survey .wrap-question {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 26px;
  float: left;
  color: white; }
  .homedna-survey .wrap-question a {
    color: #e23212;
    text-decoration: underline; }
    .homedna-survey .wrap-question a:hover {
      text-decoration: none; }

.homedna-survey .question-type-radio label {
  width: 100%; }

.homedna-survey input[type=radio],
.homedna-survey input[type=checkbox] {
  width: 14px;
  height: 14px;
  margin-top: 6px;
  margin-right: 10px;
  padding: 0;
  float: left;
  transition: 0.35s;
  border: 1px solid white; }
  .homedna-survey input[type=radio]:checked,
  .homedna-survey input[type=checkbox]:checked {
    background-color: white; }

.homedna-survey .btn-style {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1em;
  display: inline-flex;
  align-items: center;
  position: relative;
  height: 32px;
  margin: 50px 35px 0 0;
  padding: 0 10px;
  transition: all 250ms ease;
  border: 2px solid #e23212;
  color: #e23212;
  cursor: pointer; }
  .homedna-survey .btn-style svg {
    position: absolute;
    top: 6px;
    right: -37px;
    width: 35px;
    transition: all 250ms ease;
    color: #e23212;
    fill: #e23212; }
  .homedna-survey .btn-style::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all 350ms ease;
    background: #e23212;
    content: '';
    z-index: -1; }
  .homedna-survey .btn-style:hover::after {
    width: 100%; }
  .homedna-survey .btn-style:hover {
    color: white; }

#formPageNav {
  margin-top: 20px; }

#formPageNav > .text {
  display: block;
  width: 100%;
  margin-bottom: 10px; }

#formPageNav > span[data-page] {
  display: inline-block;
  min-width: 30px;
  padding: 5px;
  transition: background-color 450ms, color 450ms;
  border: 1px solid #595a4e;
  text-align: center; }
  #formPageNav > span[data-page]:hover, #formPageNav > span[data-page].active {
    background-color: #595a4e;
    color: white; }

.question-type-radio {
  display: flex !important;
  flex-wrap: wrap;
  height: 100px; }

/* ==========================================================================
   Location
   ========================================================================== */
.location {
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .location .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.location__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0; }
  @media only screen and (max-width: 899px) {
    .location__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .location__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: black;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .location__column-text::before {
        height: 2px; } }

.location__title {
  margin-bottom: 25px; }

.location__column-map {
  width: 70%; }
  @media only screen and (max-width: 899px) {
    .location__column-map {
      position: relative;
      width: 100%; } }

.location__map {
  position: initial;
  width: 66.6vw;
  min-height: 600px; }
  @media only screen and (max-width: 899px) {
    .location__map {
      width: 100%;
      min-height: auto; } }
  @media only screen and (max-width: 599px) {
    .location__map {
      min-height: auto; } }

.location__map-container {
  width: 100%;
  height: 100%; }

/* ==========================================================================
   Mobile scroll
   ========================================================================== */
.mobile-scroll {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  position: absolute;
  right: 0;
  bottom: 170px;
  transform: rotate(90deg);
  color: black;
  cursor: pointer; }
  @media only screen and (min-width: 900px) {
    .mobile-scroll {
      display: none; } }
  .mobile-scroll svg {
    position: relative;
    top: -2px;
    right: 10px;
    width: 35px;
    height: 32px;
    transform: rotate(180deg);
    color: black;
    fill: black; }

/* ==========================================================================
   Navigation
   ========================================================================== */
.navigation {
  position: fixed;
  top: -100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 500ms ease;
  background: white;
  color: black;
  opacity: 0;
  z-index: 99;
  overflow-x: hidden; }
  @media only screen and (max-width: 899px) {
    .navigation {
      top: 100vh;
      height: auto;
      margin-top: 125px;
      padding: 12px 0 40px;
      transition: all 500ms ease;
      background: white; } }
  .navigation.is-active {
    top: 0;
    opacity: 1; }
  .navigation::-webkit-scrollbar {
    display: none; }

/**
 * Contact.
 */
.navigation__column-contact {
  width: 40%;
  padding-top: 90px;
  padding-right: 15px; }
  @media only screen and (max-width: 899px) {
    .navigation__column-contact {
      display: none; } }

.navigation__contact-block {
  margin-bottom: 22px; }
  .navigation__contact-block a:hover {
    transition: all 250ms ease; }
    @media only screen and (min-width: 900px) {
      .navigation__contact-block a:hover {
        color: #e23212; } }

.navigation__contact-title {
  margin-bottom: 22px; }

.navigation__contact-editor {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em; }

/**
 * Social.
 */
.navigation__social.is-desktop {
  display: none; }
  @media only screen and (min-width: 900px) {
    .navigation__social.is-desktop {
      display: block; } }

.navigation__social.is-mobile {
  display: none; }
  @media only screen and (max-width: 899px) {
    .navigation__social.is-mobile {
      display: block; } }
  .navigation__social.is-mobile .navigation__social-title, .navigation__social.is-mobile .navigation__social-links a {
    color: #f9eee1; }

.navigation__social-title {
  margin: 70px 0 26px;
  color: black;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    .navigation__social-title {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.8em;
      margin: 135px 0 21px; } }

.navigation__social-links a {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  display: block;
  transition: all 250ms ease;
  color: black; }
  @media only screen and (max-width: 899px) {
    .navigation__social-links a {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.8em; } }
  @media only screen and (min-width: 900px) {
    .navigation__social-links a:hover {
      color: #e23212; } }

/**
 * Main menu.
 */
.navigation__column-menu {
  width: 60%;
  min-height: 100vh;
  padding: 90px 0 0 95px; }
  @media only screen and (max-width: 899px) {
    .navigation__column-menu {
      width: 100%;
      min-height: auto;
      padding: 0; } }
  .navigation__column-menu::before {
    width: calc(100vw - 20px); }
    @media only screen and (max-width: 899px) {
      .navigation__column-menu::before {
        display: none; } }

.main-menu > li > a {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.58333em;
  font-family: "Predige-Medium";
  color: #f9eee1;
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .main-menu > li > a {
      font-size: 30px;
      font-size: 3rem;
      line-height: 1.6em;
      word-break: break-word;
      color: black; } }

.main-menu > li.current-menu-item > a,
.main-menu > li:hover > a,
.main-menu > li.is-open > a {
  color: #e23212; }
  @media only screen and (max-width: 899px) {
    .main-menu > li.current-menu-item > a,
    .main-menu > li:hover > a,
    .main-menu > li.is-open > a {
      color: black;
      text-decoration: underline; } }

/**
 * Background header.
 */
@media only screen and (max-width: 899px) {
  .header::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 100%;
    left: 0;
    transition: all 500ms ease;
    background: #e23212;
    content: ''; } }

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

/**
 * Submenu.
 */
.submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0 0 0 12px;
  vertical-align: middle;
  transition: transform 250ms ease; }
  .submenu-toggle svg {
    width: 21px;
    height: 12px;
    transition: transform 250ms ease; }
  .submenu-toggle path {
    stroke: #f9eee1;
    transition: stroke 250ms ease; }
    @media only screen and (max-width: 899px) {
      .submenu-toggle path {
        stroke: black; } }

.has-submenu.is-open > a .submenu-toggle {
  transform: rotate(180deg); }

.submenu-container {
  display: none; }

.submenu {
  padding: 4px 0 16px 0;
  list-style: none; }
  @media only screen and (max-width: 899px) {
    .submenu {
      padding: 4px 0 12px 0; } }
  .submenu li a {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.72727em;
    font-family: "Predige-Medium";
    color: #f9eee1;
    transition: color 250ms ease;
    display: block; }
    @media only screen and (max-width: 899px) {
      .submenu li a {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.8em;
        color: black; } }
  .submenu li.current-menu-item a,
  .submenu li:hover a {
    color: #e23212; }
    @media only screen and (max-width: 899px) {
      .submenu li.current-menu-item a,
      .submenu li:hover a {
        color: black;
        text-decoration: underline; } }

/* ==========================================================================
   News list
   ========================================================================== */
.news-list {
  background-color: black; }
  @media only screen and (max-width: 899px) {
    .news-list .wrapper {
      flex-direction: column-reverse;
      padding-top: 15px; } }

/**
 * Items.
 */
.news-list__items {
  width: calc(100% - 479px);
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .news-list__items {
      width: 100%; } }

/**
 * Item.
 */
.news-list__item {
  margin-bottom: 164px; }
  @media only screen and (max-width: 1199px) {
    .news-list__item {
      margin-bottom: 115px; } }
  @media only screen and (max-width: 899px) {
    .news-list__item {
      margin-bottom: 90px; } }

.news-list__item-date {
  position: absolute;
  left: -14px;
  color: transparent;
  -webkit-text-stroke: 2px #e23212; }
  @media only screen and (max-width: 899px) {
    .news-list__item-date {
      left: -7px; } }

.news-list__item-title {
  margin-bottom: 27px;
  padding-top: 224px;
  color: white; }
  @media only screen and (max-width: 1199px) {
    .news-list__item-title {
      padding-top: 175px; } }
  @media only screen and (max-width: 899px) {
    .news-list__item-title {
      padding-top: 115px; } }

.news-list__item-image {
  max-width: 570px;
  margin: 35px 0; }

.news-list__item-editor {
  max-width: 570px;
  color: white; }

.news-list__item-link {
  margin-top: 35px; }

/**
 * Pagination.
 */
.news-list__pagination {
  width: 479px; }
  @media only screen and (max-width: 899px) {
    .news-list__pagination {
      width: 100%;
      margin-bottom: 75px; } }
  .news-list__pagination .pagination {
    margin-top: 35px; }
    .news-list__pagination .pagination .page-numbers {
      margin-right: 3px;
      transition: all 250ms ease; }
    .news-list__pagination .pagination .prev,
    .news-list__pagination .pagination .next {
      display: none; }
    .news-list__pagination .pagination .current,
    .news-list__pagination .pagination .page-numbers:hover {
      border-bottom: 1px solid #595a4e; }
    .news-list__pagination .pagination a.page-numbers:hover {
      color: #fff200; }

@media only screen and (min-width: 900px) {
  .news-list__sticky.is-active {
    position: fixed;
    top: 80px; } }

.news-list__pagination-title {
  margin-bottom: 23px;
  color: white; }

.news-list__pagination-link {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  transition: all 250ms ease;
  color: white; }
  .news-list__pagination-link:hover {
    color: #e23212; }

.news-list__pagination-date {
  width: 145px; }
  @media only screen and (max-width: 599px) {
    .news-list__pagination-date {
      width: 80px; } }

/* ==========================================================================
   Partners image
   ========================================================================== */
.partners-image {
  position: relative; }
  .partners-image .wrapper {
    padding-top: 150px;
    padding-bottom: 175px; }
    @media only screen and (max-width: 1199px) {
      .partners-image .wrapper {
        padding-top: 91px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .partners-image .wrapper {
        padding-top: 75px;
        padding-bottom: 85px; } }

.partners-image__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .partners-image__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__title {
      top: -31px;
      left: -8px; } }

.partners-image__column-partners {
  width: 65%; }
  @media only screen and (max-width: 1199px) {
    .partners-image__column-partners {
      width: 100%; } }

.partners-image__partner {
  margin-bottom: 220px; }
  @media only screen and (max-width: 1199px) {
    .partners-image__partner {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__partner {
      margin-bottom: 80px; } }
  .partners-image__partner:last-of-type {
    margin-bottom: 0; }
  .partners-image__partner:first-of-type .partners-image__partner-subtitle {
    padding-top: 0; }

.partners-image__partner-title {
  position: absolute;
  left: -15px;
  -webkit-text-stroke: 2px black; }
  @media only screen and (max-width: 899px) {
    .partners-image__partner-title {
      left: -8px; } }

.partners-image__partner-subtitle {
  max-width: 400px;
  margin-bottom: 25px;
  padding-top: 235px;
  color: black; }
  @media only screen and (max-width: 1199px) {
    .partners-image__partner-subtitle {
      padding-top: 152px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__partner-subtitle {
      padding-top: 110px; } }

.partners-image__partner-editor {
  max-width: 585px; }
  .partners-image__partner-editor blockquote p {
    font-size: 32px;
    font-style: italic;
    font-weight: 500;
    line-height: 130%;
    margin-bottom: 0; }
  .partners-image__partner-editor blockquote {
    margin-bottom: 1em; }
  .partners-image__partner-editor p {
    margin-bottom: 1em; }

.partners-image__column-image {
  width: 35%; }
  @media only screen and (max-width: 1199px) {
    .partners-image__column-image {
      display: none; } }

.partners-image__image {
  width: 667px;
  height: 600px;
  position: relative; }
  .partners-image__image img {
    position: absolute;
    right: 0;
    min-width: 435px;
    height: auto; }

/* ==========================================================================
   Property map
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .property-map {
    min-height: 125px; } }

.property-map.background--primary .property-map__column-details::before, .property-map.background--primary-pattern .property-map__column-details::before, .property-map.background--secondary .property-map__column-details::before, .property-map.background--secondary-pattern .property-map__column-details::before {
  background: black; }

.property-map.background--default .property-map__column-details::before {
  background: #595a4e; }

.property-map.background--border + .property-map {
  padding-top: 215px; }
  @media only screen and (max-width: 899px) {
    .property-map.background--border + .property-map {
      padding-top: 40px; } }

.property-map + .footer-cta {
  padding-top: 180px; }
  @media only screen and (max-width: 899px) {
    .property-map + .footer-cta {
      padding-top: 90px; } }

.property-map .wrapper {
  position: relative; }

.property-map__column-details {
  position: relative;
  width: 30%;
  padding-top: 95px;
  overflow: hidden; }
  @media only screen and (max-width: 1199px) {
    .property-map__column-details {
      overflow: visible; } }
  @media only screen and (max-width: 899px) {
    .property-map__column-details {
      display: none; } }
  .property-map__column-details::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    content: ''; }

.property-map__column-map {
  width: 70%;
  z-index: 10; }
  @media only screen and (max-width: 899px) {
    .property-map__column-map {
      width: 100%; } }

.property-map__placeholder {
  position: absolute;
  top: 95px;
  max-width: 210px;
  transition: all 600ms ease;
  opacity: 1; }
  .property-map__placeholder.is-hidden {
    top: -180px;
    opacity: 0; }

.property-map__properties {
  position: absolute;
  width: 100%; }

.property-map__property {
  position: absolute;
  top: -999px;
  width: 100%;
  max-width: 300px;
  transition: all 600ms ease;
  opacity: 0; }
  .property-map__property.is-active {
    top: 0;
    opacity: 1; }
    @media only screen and (max-width: 1199px) {
      .property-map__property.is-active {
        background-color: white;
        overflow: visible;
        z-index: 99; } }

.property-map__property-title {
  margin-bottom: 25px; }

.property-map__scrolldown-arrow {
  position: absolute;
  bottom: 135px;
  left: 87px; }
  @media only screen and (max-width: 899px) {
    .property-map__scrolldown-arrow {
      display: none; } }
  @media only screen and (max-width: 1199px) {
    .property-map__scrolldown-arrow {
      left: 57px; } }
  .property-map__scrolldown-arrow svg {
    position: relative;
    -webkit-animation: jump 3s ease-in-out infinite;
            animation: jump 3s ease-in-out infinite; }
    .property-map__scrolldown-arrow svg path {
      fill: #e23212; }

@-webkit-keyframes jump {
  0% {
    bottom: 0; }
  50% {
    bottom: 15px; }
  100% {
    bottom: 0; } }

@keyframes jump {
  0% {
    bottom: 0; }
  50% {
    bottom: 15px; }
  100% {
    bottom: 0; } }

/* ==========================================================================
   Property single
   ========================================================================== */
.property-single {
  position: relative; }
  .property-single .wrapper {
    align-items: center;
    padding-top: 160px;
    padding-bottom: 180px; }
    @media only screen and (max-width: 1199px) {
      .property-single .wrapper {
        padding-top: 91px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .property-single .wrapper {
        flex-direction: column-reverse;
        padding-top: 75px;
        padding-bottom: 85px; } }

.property-single__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .property-single__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .property-single__title {
      font-size: 60px;
      font-size: 6rem;
      line-height: 1.2em;
      top: -42px;
      left: -8px; } }

.property-single__column-details {
  width: 290px;
  padding-right: 20px; }
  @media only screen and (max-width: 899px) {
    .property-single__column-details {
      width: 100%; } }

.property-single__subtitle {
  margin-bottom: 25px;
  color: black; }

.property-single__information {
  margin-bottom: 35px;
  color: black; }

.property-single__column-map {
  position: relative;
  width: calc(100% - 290px); }
  @media only screen and (max-width: 899px) {
    .property-single__column-map {
      width: 100%;
      margin-bottom: 80px; } }

.property-single__slideshow-images {
  border: 2px solid #595a4e; }

.property-single__navigation {
  position: absolute;
  right: 0;
  bottom: -38px; }
  .property-single__navigation button {
    margin-left: 18px;
    color: black; }
    .property-single__navigation button.active, .property-single__navigation button:hover {
      border-bottom: 2px solid black; }

/* ==========================================================================
   Property type item
   ========================================================================== */
.property-type-item {
  width: calc(50% - 47.5px);
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .property-type-item {
      width: 100%;
      margin-bottom: 80px; } }
  .property-type-item .button--arrow {
    display: flex;
    align-items: normal; }
  .property-type-item .button--arrow svg {
    top: 5px;
    height: 16px; }

.property-type-item__head {
  position: relative; }

.property-type-item__available {
  position: absolute;
  top: 30px;
  left: 30px;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 13px;
  background-color: #e23212;
  color: white; }

.property-type-item__image {
  margin-bottom: 35px; }
  .property-type-item__image img {
    width: 100%;
    height: auto; }

.property-type-item__total {
  display: inline-block;
  width: auto;
  margin-bottom: 25px; }

.property-type-item__title {
  margin-bottom: 25px; }

.property-type-item__teaser {
  margin-bottom: 20px; }

/**
 * Colors.
 */
.property-type-list.background--brown .property-type-item__total {
  border-bottom: 2px solid #e23212;
  color: #e23212; }

.property-type-list.background--default .property-type-item__total {
  border-bottom: 2px solid #e23212;
  color: #e23212; }

/* ==========================================================================
   Property type list
   ========================================================================== */
.property-type-list {
  position: relative; }
  .property-type-list .wrapper {
    padding-top: 160px;
    padding-bottom: 130px; }
    @media only screen and (max-width: 1199px) {
      .property-type-list .wrapper {
        padding-top: 140px;
        padding-bottom: 100px; } }
    @media only screen and (max-width: 899px) {
      .property-type-list .wrapper {
        padding-top: 70px;
        padding-bottom: 0; } }

.property-type-list__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .property-type-list__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .property-type-list__title {
      font-size: 50px;
      font-size: 5rem;
      line-height: 1.44em;
      top: -42px;
      left: -8px; } }

/* ==========================================================================
   Slideshow
   ========================================================================== */
.slideshow {
  overflow: hidden;
  position: relative;
  min-height: 500px; }
  @media only screen and (max-width: 1199px) {
    .slideshow {
      min-height: 600px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .slideshow {
      min-height: 500px; } }
  @media only screen and (max-width: 899px) {
    .slideshow .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.header + .slideshow {
  padding-top: 0; }
  @media only screen and (max-width: 899px) {
    .header + .slideshow {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column-reverse; } }

.slideshow__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .slideshow__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: black;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .slideshow__column-text::before {
        height: 2px; } }

.slideshow__title {
  margin-bottom: 25px;
  color: black; }

.slideshow__column-images {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 56%;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-images {
      position: relative;
      width: 100%; } }

.slideshow__images {
  position: initial;
  width: 100%;
  margin-top: auto; }
  @media only screen and (max-width: 899px) {
    .slideshow__images {
      width: 100%;
      margin-top: 0; } }
  .slideshow__images .owl-nav {
    position: absolute;
    top: 210px;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto 0;
    background-color: black; }
    @media only screen and (max-width: 899px) {
      .slideshow__images .owl-nav {
        display: none; } }
    .slideshow__images .owl-nav .owl-prev {
      display: none; }
    .slideshow__images .owl-nav .owl-next {
      display: block;
      width: 100%;
      height: 100%; }
    .slideshow__images .owl-nav svg {
      width: 34px;
      height: 50px;
      fill: #e23212; }
  .slideshow__images .owl-dots {
    position: absolute;
    bottom: 0;
    margin-left: -28px;
    z-index: 2; }
    @media only screen and (max-width: 899px) {
      .slideshow__images .owl-dots {
        display: flex;
        right: 40px;
        bottom: -35px;
        margin: 0; } }
    .slideshow__images .owl-dots .owl-dot {
      display: block;
      width: 14px;
      height: 14px;
      margin-top: 14px;
      transition: all 250ms ease;
      border-radius: 10px;
      background-color: transparent; }
      @media only screen and (max-width: 899px) {
        .slideshow__images .owl-dots .owl-dot {
          margin: 0 0 0 14px; } }
  .slideshow__images.pagination-red .owl-dot {
    border: 2px solid #e23212; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-red .owl-dot {
        border: 2px solid #e23212; } }
    .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
      background-color: #e23212; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
          background-color: #e23212; } }
  .slideshow__images.pagination-green .owl-dot {
    border: 2px solid #e23212; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-green .owl-dot {
        border: 2px solid #e23212; } }
    .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
      background-color: #e23212; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
          background-color: #e23212; } }

.slideshow__slide {
  position: relative;
  margin-left: auto;
  aspect-ratio: 16/10; }
  .slideshow__slide img {
    aspect-ratio: 16/10; }

/* ==========================================================================
   Text image
   ========================================================================== */
.text-image .wrapper {
  padding-top: 120px;
  padding-bottom: 175px; }
  @media only screen and (max-width: 1199px) {
    .text-image .wrapper {
      padding-bottom: 110px; } }
  @media only screen and (max-width: 899px) {
    .text-image .wrapper {
      padding-top: 65px;
      padding-bottom: 90px; } }

.text-image.background--default .button--border {
  border: 2px solid black;
  color: black; }
  .text-image.background--default .button--border svg {
    color: black;
    fill: black; }
  .text-image.background--default .button--border::after {
    background: black; }
  .text-image.background--default .button--border:hover {
    color: #fff200; }

.text-image.background--default .text-image__editor {
  color: white; }

.text-image.background--default .text-image__title {
  color: white; }

.text-image.background--default .button--arrow {
  color: black; }
  .text-image.background--default .button--arrow svg {
    color: black;
    fill: black; }

.text-image__column-text {
  width: 54%;
  padding-right: 100px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__column-text {
      padding-right: 50px; } }
  @media only screen and (max-width: 899px) {
    .text-image__column-text {
      width: 100%;
      margin-bottom: 40px;
      padding: 0; } }

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

.text-image__editor {
  margin-bottom: 35px; }

.text-image__column-image {
  width: 46%; }
  @media only screen and (max-width: 899px) {
    .text-image__column-image {
      width: 100%; } }
  .text-image__column-image #play {
    transition: all 400ms ease; }
    .text-image__column-image #play span {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      left: calc(50% - 50px); }
      .text-image__column-image #play span svg {
        width: 39px;
        height: 48px;
        margin-left: 6px;
        color: #fff200; }
    .text-image__column-image #play:hover {
      opacity: 0.8; }

/* ==========================================================================
   Slideshow
   ========================================================================== */
.slideshow-text {
  overflow: hidden;
  position: relative; }
  @media only screen and (max-width: 899px) {
    .slideshow-text {
      min-height: 0 !important; } }
  @media only screen and (max-width: 899px) {
    .slideshow-text .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.header + .slideshow-text {
  padding-top: 0; }
  @media only screen and (max-width: 899px) {
    .header + .slideshow-text {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column-reverse; } }

.slideshow-text__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0;
  display: flex;
  flex-direction: column; }
  @media only screen and (max-width: 899px) {
    .slideshow-text__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .slideshow-text__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: black;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .slideshow-text__column-text::before {
        height: 2px; } }

.slideshow-text__inner {
  height: 100%; }

.slideshow-text__title {
  margin-bottom: 25px;
  color: black; }

.slideshow-text__column-images {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 60%;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 899px) {
    .slideshow-text__column-images {
      position: relative;
      width: 100%; } }

.slideshow-text__image-slides {
  position: initial;
  width: 100%;
  margin-top: auto; }
  @media only screen and (max-width: 899px) {
    .slideshow-text__image-slides {
      width: 100%;
      margin-top: 0; } }
  .slideshow-text__image-slides .owl-nav {
    position: absolute;
    top: 210px;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto 0;
    background-color: black; }
    @media only screen and (max-width: 899px) {
      .slideshow-text__image-slides .owl-nav {
        display: none; } }
    .slideshow-text__image-slides .owl-nav .owl-prev {
      display: none; }
    .slideshow-text__image-slides .owl-nav .owl-next {
      display: block;
      width: 100%;
      height: 100%; }
    .slideshow-text__image-slides .owl-nav svg {
      width: 34px;
      height: 50px;
      fill: #e23212; }
  .slideshow-text__image-slides .owl-dots {
    position: absolute;
    bottom: 0;
    margin-left: -28px;
    z-index: 2; }
    @media only screen and (max-width: 899px) {
      .slideshow-text__image-slides .owl-dots {
        display: flex;
        right: 40px;
        bottom: -35px;
        margin: 0; } }
    .slideshow-text__image-slides .owl-dots .owl-dot {
      display: block;
      width: 14px;
      height: 14px;
      margin-top: 14px;
      transition: all 250ms ease;
      border-radius: 10px;
      background-color: transparent; }
      @media only screen and (max-width: 899px) {
        .slideshow-text__image-slides .owl-dots .owl-dot {
          margin: 0 0 0 14px; } }
  .slideshow-text__image-slides.pagination-red .owl-dot {
    border: 2px solid #e23212; }
    @media only screen and (max-width: 899px) {
      .slideshow-text__image-slides.pagination-red .owl-dot {
        border: 2px solid #e23212; } }
    .slideshow-text__image-slides.pagination-red .owl-dot.active, .slideshow-text__image-slides.pagination-red .owl-dot:hover {
      background-color: #e23212; }
      @media only screen and (max-width: 899px) {
        .slideshow-text__image-slides.pagination-red .owl-dot.active, .slideshow-text__image-slides.pagination-red .owl-dot:hover {
          background-color: #e23212; } }
  .slideshow-text__image-slides.pagination-green .owl-dot {
    border: 2px solid #e23212; }
    @media only screen and (max-width: 899px) {
      .slideshow-text__image-slides.pagination-green .owl-dot {
        border: 2px solid #e23212; } }
    .slideshow-text__image-slides.pagination-green .owl-dot.active, .slideshow-text__image-slides.pagination-green .owl-dot:hover {
      background-color: #e23212; }
      @media only screen and (max-width: 899px) {
        .slideshow-text__image-slides.pagination-green .owl-dot.active, .slideshow-text__image-slides.pagination-green .owl-dot:hover {
          background-color: #e23212; } }

.slideshow-text__slide {
  position: relative;
  margin-left: auto;
  aspect-ratio: 16/10; }
  .slideshow-text__slide img {
    aspect-ratio: 16/10; }

.slideshow-text__numbers {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: auto;
  padding-bottom: 130px; }
  @media only screen and (max-width: 899px) {
    .slideshow-text__numbers {
      padding-bottom: 0px;
      position: relative;
      bottom: -24px; } }

.slideshow-text__number {
  display: inline-block;
  background: transparent;
  border: none;
  color: white;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  padding: 0 0 4px;
  border-bottom: 2px solid transparent;
  transition: border-color 250ms ease; }
  .slideshow-text__number:hover, .slideshow-text__number.is-active {
    border-bottom-color: white; }

/* ==========================================================================
   Text slideshow
   ========================================================================== */
.text-slideshow {
  position: relative; }
  .text-slideshow .wrapper {
    padding-top: 120px;
    padding-bottom: 180px; }
    @media only screen and (max-width: 1199px) {
      .text-slideshow .wrapper {
        padding-top: 51px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow .wrapper {
        padding-top: 55px;
        padding-bottom: 85px; } }
  .text-slideshow.background--default .owl-nav {
    background-color: #595a4e; }
    .text-slideshow.background--default .owl-nav svg {
      color: #cbd4d7;
      fill: #cbd4d7; }
  .text-slideshow.background--default .owl-dot {
    border: 2px solid #595a4e; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover {
      background-color: #595a4e; }
  .text-slideshow.background--default .owl-nav, .text-slideshow.background--brown .owl-nav, .text-slideshow.background--beige .owl-nav {
    background-color: black; }
    .text-slideshow.background--default .owl-nav svg, .text-slideshow.background--brown .owl-nav svg, .text-slideshow.background--beige .owl-nav svg {
      color: #e23212;
      fill: #e23212; }
  .text-slideshow.background--default .owl-dot, .text-slideshow.background--brown .owl-dot, .text-slideshow.background--beige .owl-dot {
    border: 2px solid black; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover, .text-slideshow.background--brown .owl-dot.active, .text-slideshow.background--brown .owl-dot:hover, .text-slideshow.background--beige .owl-dot.active, .text-slideshow.background--beige .owl-dot:hover {
      background-color: black; }

.text-slideshow__wrap {
  overflow: hidden; }

.text-slideshow__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .text-slideshow__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .text-slideshow__title {
      top: -32px;
      left: -8px; } }

.text-slideshow__title + div {
  padding-top: 40px; }
  @media only screen and (max-width: 899px) {
    .text-slideshow__title + div {
      padding-top: 20px; } }

.text-slideshow__block-title {
  margin-bottom: 35px; }

/**
 * Slideshow.
 */
@media only screen and (min-width: 900px) {
  .text-image__slideshow .owl-stage-outer {
    width: 1790px; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .text-image__slideshow .owl-stage-outer {
    width: 1205px; } }

.text-image__slideshow .owl-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 525px;
  width: 50px;
  height: 50px;
  margin: auto 0; }
  @media only screen and (max-width: 899px) {
    .text-image__slideshow .owl-nav {
      display: none; } }
  .text-image__slideshow .owl-nav .owl-prev {
    display: none; }
  .text-image__slideshow .owl-nav .owl-next {
    display: block;
    width: 100%;
    height: 100%; }
  .text-image__slideshow .owl-nav svg {
    width: 34px;
    height: 50px; }

.text-image__slideshow .owl-dots {
  position: absolute;
  bottom: 0;
  margin-left: -28px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .text-image__slideshow .owl-dots {
      display: flex;
      right: 0;
      bottom: -35px;
      margin: 0; } }
  .text-image__slideshow .owl-dots .owl-dot {
    display: block;
    width: 14px;
    height: 14px;
    margin-top: 14px;
    transition: all 250ms ease;
    border-radius: 10px;
    background-color: transparent; }
    @media only screen and (max-width: 899px) {
      .text-image__slideshow .owl-dots .owl-dot {
        margin: 0 0 0 14px; } }

/**
 * Slides.
 */
.text-image__slide {
  position: relative;
  width: 575px;
  height: 560px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__slide {
      width: 375px;
      height: 360px; } }
  @media only screen and (max-width: 899px) {
    .text-image__slide {
      width: 100%;
      height: 450px; } }
  @media only screen and (max-width: 599px) {
    .text-image__slide {
      width: 100%;
      height: 320px; } }

/**
 * Slideshow position.
 */
.text-slideshow__block {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .text-slideshow__block {
      align-items: left;
      margin-bottom: 90px; } }
  .text-slideshow__block:last-of-type {
    margin-bottom: 0; }
  .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
    width: calc(100% - 575px);
    max-width: 550px;
    padding: 0 50px 0 100px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
        width: calc(100% - 375px);
        padding: 0 50px 0 0; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
        width: 100%;
        max-width: 100%;
        padding: 0 0 40px; } }
  .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
    width: 575px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
        width: 375px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
        width: 100%; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left {
      flex-direction: row-reverse; } }
  .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
    width: calc(100% - 575px);
    max-width: 550px;
    padding: 0 100px 0 50px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
        width: calc(100% - 375px);
        padding: 0 0 0 50px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
        width: 100%;
        max-width: auto;
        padding: 0 0 40px; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      display: flex;
      flex-direction: row-reverse;
      width: 575px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      width: 375px; } }
  @media only screen and (max-width: 899px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      width: 100%; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images .owl-carousel {
      width: auto; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .owl-nav {
      right: 0;
      left: auto; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .owl-dots {
      right: -28px;
      margin-left: 0; } }

.popup {
  background-color: black;
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  width: 549px;
  height: 370px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  padding: 65px 50px;
  opacity: 0;
  transition: all 300ms ease-in-out;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  pointer-events: none; }
  @media only screen and (max-width: 599px) {
    .popup {
      width: 320px;
      padding: 20px;
      border: none;
      background-size: contain; } }
  .popup.is-active {
    opacity: 1;
    pointer-events: all; }
  .popup::before {
    display: none;
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: black; }
  .popup::after {
    display: none;
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: black; }

.popup__close {
  width: 25px;
  height: 25px;
  position: absolute;
  right: 30px;
  top: 60px;
  cursor: pointer;
  transition: all 300ms ease-in-out; }
  @media only screen and (max-width: 599px) {
    .popup__close {
      width: 20px;
      height: 20px;
      top: 20px;
      right: 20px; } }
  .popup__close svg path {
    fill: white; }
  .popup__close:hover {
    opacity: 0.7; }

.popup__link {
  margin-top: 30px;
  color: white; }
  @media only screen and (max-width: 599px) {
    .popup__link {
      margin-top: 10px; } }
  .popup__link svg {
    fill: white; }

.popup__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 99;
  opacity: 0;
  transition: all 300ms ease-in-out;
  pointer-events: none; }
  .popup__bg.is-active {
    opacity: 1;
    pointer-events: all; }

.popup__editor {
  color: #e23212; }
  .popup__editor h2 {
    color: #e23212; }
    @media only screen and (max-width: 599px) {
      .popup__editor h2 {
        font-size: 40px;
        line-height: 120%; } }

.popup-gradient {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 20px;
  background-image: linear-gradient(90deg, #e5332a 1%, rgba(229, 52, 41, 0.99) 27%, rgba(230, 58, 38, 0.95) 40%, rgba(231, 68, 34, 0.89) 50%, rgba(233, 82, 27, 0.81) 59%, rgba(235, 100, 19, 0.7) 67%, rgba(238, 122, 9, 0.56) 74%, rgba(242, 145, 0, 0.43) 79%, rgba(255, 236, 0, 0) 100%);
  border-top-left-radius: 25px;
  opacity: 0.5; }

.popup-gradient-2 {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  height: 25px;
  width: 20px;
  background-image: linear-gradient(-90deg, #e5332a 1%, rgba(229, 52, 41, 0.99) 27%, rgba(230, 58, 38, 0.95) 40%, rgba(231, 68, 34, 0.89) 50%, rgba(233, 82, 27, 0.81) 59%, rgba(235, 100, 19, 0.7) 67%, rgba(238, 122, 9, 0.56) 74%, rgba(242, 145, 0, 0.43) 79%, rgba(255, 236, 0, 0) 100%);
  border-bottom-right-radius: 25px;
  opacity: 0.5; }

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

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

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

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

/**
       * `color` #afb7ba-50 color utility.
       */
.color-blue-light-50 {
  color: #afb7ba; }

/**
       * `background-color` #afb7ba-50 color utility.
       */
.background-color-blue-light-50 {
  background-color: #afb7ba; }

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

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

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

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

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

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

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

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

/**
       * `color` #959b97-50 color utility.
       */
.color-green-50 {
  color: #959b97; }

/**
       * `background-color` #959b97-50 color utility.
       */
.background-color-green-50 {
  background-color: #959b97; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
       * `color` #f9eee1-100 color utility.
       */
.color-flex-creme-100 {
  color: #f9eee1; }

/**
       * `background-color` #f9eee1-100 color utility.
       */
.background-color-flex-creme-100 {
  background-color: #f9eee1; }

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

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

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

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

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */
.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  -o-object-fit: cover;
     object-fit: cover; }

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

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

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

.w60 {
  width: 60%; }

.w40 {
  width: 40%; }

.w50 {
  width: 50%; }

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

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Predige-Regular"; }

.text-xs-medium {
  font-family: "Predige-Medium"; }

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

.text-sm-default {
  font-family: "Predige-Regular"; }

.text-sm-medium {
  font-family: "Predige-Medium"; }

.text-sm-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-md-default {
  font-family: "Predige-Regular"; }

.text-md-medium {
  font-family: "Predige-Medium"; }

.text-md-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-lg-default {
  font-family: "Predige-Regular"; }

.text-lg-medium {
  font-family: "Predige-Medium"; }

.text-lg-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-xl-default {
  font-family: "Predige-Regular"; }

.text-xl-medium {
  font-family: "Predige-Medium"; }

.text-xl-heading {
  font-family: "BurfordRusticShadowTwoA"; }

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

.text-xs-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-xs-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-xs-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-sm-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-sm-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-sm-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-sm-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-md-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-md-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-md-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-md-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-lg-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-lg-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-lg-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-lg-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xl-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-xl-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-xl-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-xl-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

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

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

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

.text-sm-left {
  text-align: left; }

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

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

.text-md-left {
  text-align: left; }

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

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

.text-lg-left {
  text-align: left; }

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

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

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.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; }

.iframe {
  position: relative;
  width: 560px;
  max-width: 100%; }

.iframe img {
  max-width: 100%;
  height: auto; }

.iframe iframe {
  display: none;
  max-width: 100%; }

.play-btn {
  position: absolute;
  z-index: 3;
  top: calc(50% - 50px);
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: transparent;
  border: 0; }

.play-btn:hover {
  cursor: pointer; }

.play-btn:focus {
  outline: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsInRvb2xzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYmFja2dyb3VuZC5zY3NzIiwib2JqZWN0cy9fYnV0dG9ucy5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fc2VjdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1jb2x1bW5zLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItY3RhLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faG9tZS1kbmEuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19tb2JpbGUtc2Nyb2xsLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS1tYXAuc2NzcyIsImNvbXBvbmVudHMvX3Byb3BlcnR5LXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fcHJvcGVydHktdHlwZS1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS10eXBlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlc2hvdy5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1zbGlkZXNob3cuc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlc2hvd190ZXh0LnNjc3MiLCJjb21wb25lbnRzL19wb3B1cC5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIiwic2V0dGluZ3MvX3otaW5kZXguc2NzcyIsInV0aWxpdGllcy9fdmlkZW8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNhaEI7RUFDRSxzQ0FBc0M7RUFD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QTs7QUUySDdCOztFZHU4QkU7QWNuOEJGO0VBQ0UsWUZoSTJCO0VFaUkzQixXRmpJMkIsRUFBQTtFRStIN0I7SUFLSSxtQkYzRmtDLEVBQUE7RUVzRnRDOztJQVVJLFlGekl5QixFQUFBO0VFK0g3QjtJQWNJLFlGN0l5QixFQUFBO0lFK0g3QjtNQWlCTSxZRmhKdUI7TUVpSnZCLFdGakp1QixFQUFBO0VFK0g3QjtJQXVCSSx1QkZ0SnlCO0lFdUp6QixZRnZKeUIsRUFBQTtJRStIN0I7TUEyQk0sWUYxSnVCO01FMkp2QixXRjNKdUIsRUFBQTs7QUVpSzdCOztFZHc3QkU7QWNwN0JGO0VBQ0UsY0Y3SG9DO0VFOEhwQyxhRjlIb0MsRUFBQTtFRTRIdEM7SUFLSSxpQkYxS3lCLEVBQUE7RUVxSzdCOztJQVVJLGNGdElrQyxFQUFBO0VFNEh0QztJQWNJLGNGMUlrQyxFQUFBO0lFNEh0QztNQWlCTSxjRjdJZ0M7TUU4SWhDLGFGOUlnQyxFQUFBO0VFNEh0QztJQXVCSSx1QkY1THlCO0lFNkx6QixZRjdMeUIsRUFBQTtJRXFLN0I7TUEyQk0sWUZoTXVCO01FaU12QixXRmpNdUIsRUFBQTs7QUVzTTdCOztFZDA2QkU7QWN0NkJGO0VBQ0MsY0YvSitCO0VFZ0svQixhRmhLK0IsRUFBQTtFRThKaEM7SUFLRyxpQkYvTTBCLEVBQUE7RUUwTTdCOztJQVVHLGNGeEs2QixFQUFBO0VFOEpoQztJQWNHLGNGNUs2QixFQUFBO0lFOEpoQztNQWlCRSxjRi9LOEI7TUVnTDlCLGFGaEw4QixFQUFBO0VFOEpoQztJQXVCRyx1QkZqTzBCO0lFa08xQixZRmxPMEIsRUFBQTtJRTBNN0I7TUEyQkUsa0JGck8yQjtNRXNPM0IsV0Z0TzJCLEVBQUE7O0FFNE83Qjs7RWQyNUJFO0FVN2dDRTtFSXNISjtJQUVJLGdCQUFnQixFQUFBLEVBa0JuQjs7QUFwQkQ7RUFXSSxZQUFZO0VBQ1osaUNGMU0yQixFQUFBO0VGd0UzQjtJSXNISjtNQU9NLFNBQVM7TUFDVCxpQ0Z0TXlCLEVBQUEsRUUyTTVCOztBSnZKQztFSTBJSjtJQWlCTSxpQkFBaUIsRUFBQSxFQUVwQjs7QUFHSDtFQU1FLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQTtFSm5KZjtJSTRJSjtNQUVJLGFBQWE7TUFDYixjQUFjLEVBQUEsRUFLakI7O0FDclJEOzsrRWZ5cUMrRTtBZXBxQy9FOztFZnVxQ0U7QWVucUNGO0VMMkNJLGVLMUNnQjtFTDJDaEIsaUJDOUIrQjtFRG1DL0Isa0JBQWdEO0VLL0NsRCxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsZUFBZSxFQUFBO0VBTmpCO0lBU0ksV0FBVztJQUNYLFlBQVk7SUFDWiwwQkFBMEIsRUFBQTs7QUFLOUI7O0Vmb3FDRTtBZWhxQ0Y7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtFQUhqQjtJQU1JLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsWUFBWSxFQUFBO0VBUmhCO0lBWUksY0FBYztJQUNkLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFlBQVk7SUFDWiwwQkFBMEI7SUFDMUIsV0FBVztJQUNYLFdBQVcsRUFBQTtFQXRCZjtJQTBCSSxXQUFXLEVBQUE7RUExQmY7SUE4QkkseUJIRjJCO0lHRzNCLGNISDJCLEVBQUE7SUc1Qi9CO01Ba0NNLGNITnlCO01HT3pCLGFIUHlCLEVBQUE7SUc1Qi9CO01BdUNNLG1CSFh5QixFQUFBO0lHNUIvQjtNQTJDTSxZSDlEeUIsRUFBQTtFR21CL0I7SUFnREksdUJIdEV5QjtJR3VFekIsWUh2RXlCLEVBQUE7SUdzQjdCO01Bb0RNLFlIMUV1QjtNRzJFdkIsV0gzRXVCLEVBQUE7SUdzQjdCO01BeURNLGlCSC9FdUIsRUFBQTtJR3NCN0I7TUE2RE0sY0gxQ2dDLEVBQUE7RUduQnRDO0lBa0VJLHVCSHhGeUI7SUd5RnpCLFlIekZ5QixFQUFBO0lHc0I3QjtNQXNFTSxZSDVGdUI7TUc2RnZCLFdIN0Z1QixFQUFBO0lHc0I3QjtNQTJFTSxpQkhqR3VCLEVBQUE7SUdzQjdCO01BK0VNLGNIekQwQixFQUFBO0VHdEJoQztJQW9GSSx1QkgxR3lCO0lHMkd6QixZSDNHeUIsRUFBQTtJR3NCN0I7TUF3Rk0sWUg5R3VCO01HK0d2QixXSC9HdUIsRUFBQTtJR3NCN0I7TUE2Rk0saUJIbkh1QixFQUFBO0lHc0I3QjtNQWlHTSxjSDNFMEIsRUFBQTs7QUdpRmhDOztFZjJuQ0U7QWV2bkNGO0VBRUksa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixpQkFBaUIsRUFBQTs7QUFKckI7RUFTTSxpQkFBaUIsRUFBQTs7QUFUdkI7RUFjSSxjSDdGMkIsRUFBQTtFRytFL0I7SUFpQk0sY0hoR3lCO0lHaUd6QixhSGpHeUIsRUFBQTs7QUcrRS9CO0VBdUJJLGNIeEkyQixFQUFBO0VHaUgvQjtJQTBCTSxjSDNJeUI7SUc0SXpCLGFINUl5QixFQUFBOztBR2lIL0I7RUFnQ0ksY0h4SGtDLEVBQUE7RUd3RnRDO0lBbUNNLFlIakt5QjtJR2tLekIsV0hsS3lCLEVBQUE7O0FHOEgvQjtFQXlDSSxZSDFLeUIsRUFBQTtFR2lJN0I7SUE0Q00sWUg3S3VCO0lHOEt2QixXSDlLdUIsRUFBQTs7QUdpSTdCO0VBa0RJLFlIbkx5QixFQUFBO0VHaUk3QjtJQXFETSxZSHRMdUI7SUd1THZCLFdIdkx1QixFQUFBOztBSVA3Qjs7K0VoQnd5QytFO0FnQnB5Qy9FOztFaEJ1eUNFO0FnQm55Q0Y7RU5NTSxvQ0FBMEM7RUFDMUMscUJPTW1FO0VQRnJFLFdBQVc7RUFDWCxjQUFjLEVBQUE7O0FRcEJsQjs7K0VsQm96QytFO0FrQmh6Qy9FOzs7O0VsQnF6Q0U7QWtCL3lDRjtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsZ0JBQWdCLEVBQUE7RUFIbEI7SUFNSSx5Qk55QzJCO0lNeEMzQixZTlZ5QixFQUFBO0VNRzdCO0lBTUkseUJOeUMyQjtJTXhDM0IsWU5WeUIsRUFBQTs7QU9QN0I7OytFbkJvMEMrRTtBbUJoMEMvRTs7Ozs7Ozs7Ozs7O0VuQjYwQ0U7QW1CL3pDRjs7OztFbkJvMENFO0FtQjl6Q0Y7RUFDRSxh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LEVBQUE7O0FBRXpDOztRbkJtN0VFO0FtQi82RUY7RUFDRSxxQkFQaUQsRUFBQTs7QUFFbkQ7O1FuQnk3RUU7QW1CcjdFRjtFQUNFLHFCQVAyRCxFQUFBOztBQWU3RDs7UW5CazdFRTtBbUI5NkVGO0VBQ0Usc0JBUGlCLEVBQUE7O0FBRW5COztRbkJ3N0VFO0FtQnA3RUY7RUFDRSx1QkFQeUIsRUFBQTs7QUFFM0I7O1FuQjg3RUU7QW1CMTdFRjtFQUNFLDhCQVB3QyxFQUFBOztBQUUxQzs7UW5CbzhFRTtBbUJoOEVGO0VBQ0UsNkJBUHNELEVBQUE7O0FBRXhEOztRbkIwOEVFO0FtQnQ4RUY7RUFDRSw2QkFQb0UsRUFBQTs7QUFldEU7O1FuQm04RUU7QW1CLzdFRjtFQUNFLGVBQWdDLEVBQUE7O0FBTGxDOztRbkJ5OEVFO0FtQnI4RUY7RUFDRSxnQkFBZ0MsRUFBQTs7QUFLcEM7O01uQnE4RUU7QW1CajhFRjtFQUNFLFNBQVMsRUFBQTs7QUFJWDs7TW5CazhFRTtBbUI5N0VGO0VBQ0UsUUFBUSxFQUFBOztBQUlWOztNbkIrN0VFO0FtQjM3RUY7RUFDRSwyQkFBMkIsRUFBQTs7QUMxSmpDOzsrRXBCMGxGK0U7QW9CdGxGL0U7O0VwQnlsRkU7QW9CcmxGRjs7RVY0Q0ksZVV0Q2dCO0VWdUNoQixpQkM5QitCO0VEbUMvQixzQkFBZ0Q7RVUzQ2xELDZCbkJSMEIsRUFBQTtFUzBIeEI7SVV6SEo7O01WNENJLGVVekNrQjtNVjBDbEIsaUJDOUIrQjtNRG1DL0Isb0JBQWdELEVBQUEsRVUxQ25EOztBQUdEOztFcEIwbEZFO0FvQnRsRkY7O0VWNkJJLGVVdEJnQjtFVnVCaEIsaUJDOUIrQjtFRG1DL0Isb0JBQWdEO0VVM0JsRCw2Qm5CeEIwQixFQUFBO0VTMEh4QjtJVTFHSjs7TVY2QkksZVUxQmtCO01WMkJsQixpQkM5QitCO01EbUMvQixvQkFBZ0Q7TVUvQmhELHlCQUF5QixFQUFBLEVBSzVCOztBQUdEOztFcEIybEZFO0FvQnZsRkY7O0VWYUksZ0JVQWlCO0VWQ2pCLGdCQzlCK0I7RURtQy9CLGdCQUFnRDtF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N0I7O1EvQ204SkU7QStDLzdKRjtFQUNFLHlCbkNaMkIsRUFBQTs7QW1DTzdCOztRL0N5OEpFO0ErQ3I4SkY7RUFDRSxjbkNUeUIsRUFBQTs7QW1DSTNCOztRL0MrOEpFO0ErQzM4SkY7RUFDRSx5Qm5DVHlCLEVBQUE7O0FtQ0kzQjs7US9DcTlKRTtBK0NqOUpGO0VBQ0UsY25DTndCLEVBQUE7O0FtQ0MxQjs7US9DMjlKRTtBK0N2OUpGO0VBQ0UseUJuQ053QixFQUFBOztBbUNDMUI7O1EvQ2krSkU7QStDNzlKRjtFQUNFLGNuQ0h1QixFQUFBOztBbUNGekI7O1EvQ3UrSkU7QStDbitKRjtFQUNFLHlCbkNIdUIsRUFBQTs7QW1DRnpCOztRL0M2K0pFO0ErQ3orSkY7RUFDRSxjbkNBdUIsRUFBQTs7QW1DTHpCOztRL0NtL0pFO0ErQy8rSkY7RUFDRSx5Qm5DQXVCLEVBQUE7O0FtQ0x6Qjs7US9DeS9KRTtBK0NyL0pGO0VBQ0UsY25DQzJCLEVBQUE7O0FtQ043Qjs7US9DKy9KRTtBK0MzL0pGO0VBQ0UseUJuQ0MyQixFQUFBOztBbUNON0I7O1EvQ3FnS0U7QStDamdLRjtFQUNFLGNuQ0l1QixFQUFBOztBbUNUekI7O1EvQzJnS0U7QStDdmdLRjtFQUNFLHlCbkNJdUIsRUFBQTs7QW1DVHpCOztRL0NpaEtFO0ErQzdnS0Y7RUFDRSxjbkNPd0IsRUFBQTs7QW1DWjFCOztRL0N1aEtFO0ErQ25oS0Y7RUFDRSx5Qm5DT3dCLEVBQUE7O0FtQ1oxQjs7US9DNmhLRTtBK0N6aEtGO0VBQ0UsY25DVXdCLEVBQUE7O0FtQ2YxQjs7US9DbWlLRTtBK0MvaEtGO0VBQ0UseUJuQ1V3QixFQUFBOztBbUNmMUI7O1EvQ3lpS0U7QStDcmlLRjtFQUNFLGNuQ2E2QixFQUFBOztBbUNsQi9COztRL0MraUtFO0ErQzNpS0Y7RUFDRSx5Qm5DYTZCLEVBQUE7O0FtQ2xCL0I7O1EvQ3FqS0U7QStDampLRjtFQUNFLGNuQ2dCNEIsRUFBQTs7QW1DckI5Qjs7US9DMmpLRTtBK0N2aktGO0VBQ0UseUJuQ2dCNEIsRUFBQTs7QW1DckI5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QUNFLDhCbEROc0IsRUFBQTs7QWtES3hCO0VBQ0UsNkJsRExvQixFQUFBOztBa0RJdEI7RUFDRSxzQ2xESjhCLEVBQUE7O0FrREdoQztFQUNFLDhCbEROc0IsRUFBQTs7QWtES3hCO0VBQ0UsNkJsRExvQixFQUFBOztBa0RJdEI7RUFDRSxzQ2xESjhCLEVBQUE7O0FrRFd0Qzs7RW5EdXpLRTtBbURoektJO0V6QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F5Q2hDOUM7RXpDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F5Q2hDOUM7RXpDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBeUNoQzlDO0V6QzBCRixlVG5CUTtFU29CUixpQkM5QitCO0VEbUMvQixvQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZ0JUbEJTO0VTbUJULGdCQzlCK0I7RURtQy9CLGdCQUFnRCxFQUFBOztBeUNoQzlDO0V6QzBCRixlVGpCTztFU2tCUCxpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZVRwQlE7RVNxQlIsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0F5Q2hDOUM7RXpDMEJGLGVUbkJRO0VTb0JSLGlCQzlCK0I7RURtQy9CLG9CQUFnRCxFQUFBOztBeUNoQzlDO0V6QzBCRixnQlRsQlM7RVNtQlQsZ0JDOUIrQjtFRG1DL0IsZ0JBQWdELEVBQUE7O0F5Q2hDOUM7RXpDMEJGLGVUakJPO0VTa0JQLGlCQzlCK0I7RURtQy9CLGtCQUFnRCxFQUFBOztBeUNoQzlDO0V6QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F5Q2hDOUM7RXpDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F5Q2hDOUM7RXpDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBeUNoQzlDO0V6QzBCRixlVG5CUTtFU29CUixpQkM5QitCO0VEbUMvQixvQkFBZ0QsRUFBQTs7QXlDaEM5QztFekMwQkYsZ0JUbEJTO0VTbUJULGdCQzlCK0I7RURtQy9CLGdCQUFnRCxFQUFBOztBeUNoQzlDO0V6QzBCRixlVGpCTztFU2tCUCxpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QXlDeEJwRDs7RW5EKzRLRTtBbUR4NEtJO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBUzNDOzs7O0VuRGs3S0U7QW1EdjZLSTtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFPckI7O0VuRHlpTEU7QW1EbGlMSTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQzFFMUU7OytFcEQyckwrRTtBb0Rwckw3RTtFQUNFLGtCQUFlLEVBQUE7O0FBRGpCO0VBQ0Usa0JBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUNSbkI7OytFckQrdEwrRTtBcUQzdEwvRTs7RXJEOHRMRTtBcUR6dExBO0VBQ0UsVUNGSyxFQUFBOztBRENQO0VBQ0UsV0NETSxFQUFBOztBREFSO0VBQ0UsV0NBTSxFQUFBOztBRERSO0VBQ0UsV0NDTSxFQUFBOztBREZSO0VBQ0UsV0NFTSxFQUFBOztBREhSO0VBQ0UsV0NHTSxFQUFBOztBREpSO0VBQ0UsV0NJTSxFQUFBOztBRExSO0VBQ0UsV0NLTSxFQUFBOztBRE5SO0VBQ0UsV0NNTSxFQUFBOztBRFBSO0VBQ0UsV0NPTSxFQUFBOztBRFJSO0VBQ0UsWUNRTyxFQUFBOztBQ2xCWDtFQUNFLGtCQUFpQjtFQUNqQixZQUFZO0VBQ1osZUFBZSxFQUFBOztBQUdqQjtFQUNFLGVBQWM7RUFDZCxZQUFXLEVBQUE7O0FBR2I7RUFDRSxhQUFZO0VBQ1osZUFBZSxFQUFBOztBQUdqQjtFQUNFLGtCQUFpQjtFQUNqQixVQUFTO0VBQ1QscUJBQXFCO0VBQ3JCLFNBQVE7RUFDUixnQ0FBK0I7RUFDL0IsNkJBQTRCO0VBQzVCLFNBQVEsRUFBQTs7QUFHVjtFQUNFLGVBQWMsRUFBQTs7QUFHaEI7RUFDRSxVQUFTLEVBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCdXJmb3JkUnVzdGljU2hhZG93VHdvQSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLU1lZGl1bSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKSwgdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLVJlZ3VsYXInO1xuICBzcmM6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIub3RmXCIpIGZvcm1hdChcIk9wZW5UeXBlXCIpLCB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvZmxleC9hc3NldHMvZm9udHMvUHJlZGlnZS1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0OyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IGdyYWI7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuLm93bC1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7XG4gICAgbWF4LWhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTsgfVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDsgfVxuXG4ubWZwLXByZWxvYWRlciBhIHtcbiAgY29sb3I6ICNDQ0M7IH1cblxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuXG4ubWZwLWNsb3NlOmhvdmVyLFxuLm1mcC1jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC1jbG9zZTphY3RpdmUge1xuICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWZwLWFycm93OmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC01NHB4OyB9XG5cbi5tZnAtYXJyb3c6aG92ZXIsXG4ubWZwLWFycm93OmZvY3VzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWZwLWFycm93OmJlZm9yZSxcbi5tZnAtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cblxuLm1mcC1hcnJvdzphZnRlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gIHRvcDogOHB4OyB9XG5cbi5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG5cbi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzlweDsgfVxuXG4ubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTAwcHg7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICB0b3A6IC00MHB4OyB9XG5cbi5tZnAtaWZyYW1lLXNjYWxlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4ubWZwLWZpZ3VyZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNDBweDtcbiAgYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IC0xO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogIzQ0NDsgfVxuXG4ubWZwLWZpZ3VyZSBzbWFsbCB7XG4gIGNvbG9yOiAjQkRCREJEO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4ubWZwLWZpZ3VyZSBmaWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNGM0YzRjM7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAzcHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxuICpcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cbiAqXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXG4gKi9cbmh0bWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDYyLjUlO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cbiAqXG4gKiAxLiBGaXJlZm94IDI1Ky5cbiAqIDIuIENocm9tZSA1Ky5cbiAqL1xuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAvKiAxICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc2V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxuICovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cbiAqL1xuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiAxICovXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuaHIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXG4gKiAgICBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXG4gKi9cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxucCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cbiAqL1xudGFibGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIC8qIDEgKi8gfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYWNrZ3JvdW5kXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBCYWNrZ3JvdW5kIGJhc2UuXG4gKi9cbi5iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkuXG4gKi9cbi5iYWNrZ3JvdW5kLS1kZWZhdWx0IHtcbiAgY29sb3I6IHdoaXRlO1xuICBmaWxsOiB3aGl0ZTsgfVxuICAuYmFja2dyb3VuZC0tZGVmYXVsdDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tZGVmYXVsdCBoMSxcbiAgLmJhY2tncm91bmQtLWRlZmF1bHQgaDIge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICNlMjMyMTI7IH1cbiAgICAuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6ICNlMjMyMTI7XG4gICAgICBmaWxsOiAjZTIzMjEyOyB9XG4gIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjtcbiAgICBjb2xvcjogI2UyMzIxMjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6ICNlMjMyMTI7XG4gICAgICBmaWxsOiAjZTIzMjEyOyB9XG5cbi5iYWNrZ3JvdW5kLS1ncmFkaWVudCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZmlsbDogd2hpdGU7IH1cbiAgLmJhY2tncm91bmQtLWdyYWRpZW50OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1ncmFkaWVudCBoMSxcbiAgLmJhY2tncm91bmQtLWdyYWRpZW50IGgyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJhY2tncm91bmQtLWdyYWRpZW50IC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogI2UyMzIxMjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1ncmFkaWVudCAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6ICNlMjMyMTI7XG4gICAgICBmaWxsOiAjZTIzMjEyOyB9XG4gIC5iYWNrZ3JvdW5kLS1ncmFkaWVudCAuYnV0dG9uLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMjMyMTI7XG4gICAgY29sb3I6ICNlMjMyMTI7IH1cbiAgICAuYmFja2dyb3VuZC0tZ3JhZGllbnQgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogI2UyMzIxMjtcbiAgICAgIGZpbGw6ICNlMjMyMTI7IH1cblxuLmJhY2tncm91bmQtLWdyZXkge1xuICBjb2xvcjogYmxhY2s7XG4gIGZpbGw6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1ncmV5OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNlN2U2ZGQ7IH1cbiAgLmJhY2tncm91bmQtLWdyZXkgaDEsXG4gIC5iYWNrZ3JvdW5kLS1ncmV5IGgyIHtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWdyZXkgLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5iYWNrZ3JvdW5kLS1ncmV5IC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tZ3JleSAuYnV0dG9uLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5iYWNrZ3JvdW5kLS1ncmV5IC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkgKHdpdGggcGF0dGVybikuXG4gKi9cbi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gIGNvbG9yOiBibGFjaztcbiAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmMGU0Y2I7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIGgxLFxuICAuYmFja2dyb3VuZC0tYmVpZ2UgaDIge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tYmVpZ2UgLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5iYWNrZ3JvdW5kLS1iZWlnZSAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHNlY29uZGFyeS5cbiAqL1xuLmJhY2tncm91bmQtLWJyb3duIHtcbiAgY29sb3I6ICNmMGU0Y2I7XG4gIGZpbGw6ICNmMGU0Y2I7IH1cbiAgLmJhY2tncm91bmQtLWJyb3duOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1icm93biBoMSxcbiAgLmJhY2tncm91bmQtLWJyb3duIGgyIHtcbiAgICBjb2xvcjogI2YwZTRjYjsgfVxuICAuYmFja2dyb3VuZC0tYnJvd24gLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiAjZjBlNGNiOyB9XG4gICAgLmJhY2tncm91bmQtLWJyb3duIC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogI2YwZTRjYjtcbiAgICAgIGZpbGw6ICNmMGU0Y2I7IH1cbiAgLmJhY2tncm91bmQtLWJyb3duIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWJyb3duIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHNlY29uZGFyeS5cbiAqL1xuLmJhY2tncm91bmQtLWJsYWNrIHtcbiAgY29sb3I6ICNmZmYyMDA7XG4gIGZpbGw6ICNmZmYyMDA7IH1cbiAgLmJhY2tncm91bmQtLWJsYWNrOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1ibGFjayBoMSxcbiAgLmJhY2tncm91bmQtLWJsYWNrIGgyIHtcbiAgICBjb2xvcjogI2ZmZjIwMDsgfVxuICAuYmFja2dyb3VuZC0tYmxhY2sgLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiAjZmZmMjAwOyB9XG4gICAgLmJhY2tncm91bmQtLWJsYWNrIC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogI2ZmZjIwMDtcbiAgICAgIGZpbGw6ICNmZmYyMDA7IH1cbiAgLmJhY2tncm91bmQtLWJsYWNrIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWJsYWNrIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrIGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGJvcmRlci5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYmFja2dyb3VuZC0tYm9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmJhY2tncm91bmQtLWJvcmRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiA5NXB4O1xuICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNlMjMyMTI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5iYWNrZ3JvdW5kLS1ib3JkZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNlMjMyMTI7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5iYWNrZ3JvdW5kLS1ib3JkZXIgLndyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLmJhY2tncm91bmQtLWJvcmRlciArIGRpdiB7XG4gIG1hcmdpbi10b3A6IC05NXB4O1xuICBwYWRkaW5nLXRvcDogOTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmJhY2tncm91bmQtLWJvcmRlciArIGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9ucy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEJ1dHRvbiBiYXNlLlxuICovXG4uYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5idXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cblxuLyoqXG4gKiBCdXR0b24gYm9yZGVyLlxuICovXG4uYnV0dG9uLS1ib3JkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMzVweDtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcHg7XG4gICAgcmlnaHQ6IC0zNXB4OyB9XG4gIC5idXR0b24tLWJvcmRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5idXR0b24tLWJvcmRlcjpob3Zlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tLWJvcmRlci5pcy1vcmFuZ2Uge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMjMyMTI7XG4gICAgY29sb3I6ICNlMjMyMTI7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtb3JhbmdlIHN2ZyB7XG4gICAgICBjb2xvcjogI2UyMzIxMjtcbiAgICAgIGZpbGw6ICNlMjMyMTI7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtb3JhbmdlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTIzMjEyOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLW9yYW5nZTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJyb3duIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYnJvd24gc3ZnIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZpbGw6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJyb3duOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1icm93bjpob3ZlciB7XG4gICAgICBjb2xvcjogI2YwZTRjYjsgfVxuICAuYnV0dG9uLS1ib3JkZXIuaXMtYmxhY2sge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1ibGFjayBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYmxhY2s6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJsYWNrOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmMjAwOyB9XG4gIC5idXR0b24tLWJvcmRlci5pcy1ncmVlbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWdyZWVuIHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1ncmVlbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW46aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmYyMDA7IH1cblxuLyoqXG4gKiBCdXR0b24gYXJyb3cuXG4gKi9cbi5idXR0b24tLWFycm93IHN2ZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XG5cbi5idXR0b24tLWFycm93OmhvdmVyIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5idXR0b24tLWFycm93LmlzLW9yYW5nZSB7XG4gIGNvbG9yOiAjZTIzMjEyOyB9XG4gIC5idXR0b24tLWFycm93LmlzLW9yYW5nZSBzdmcge1xuICAgIGNvbG9yOiAjZTIzMjEyO1xuICAgIGZpbGw6ICNlMjMyMTI7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtcmVkIHtcbiAgY29sb3I6ICNkZjQxMjY7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtcmVkIHN2ZyB7XG4gICAgY29sb3I6ICNkZjQxMjY7XG4gICAgZmlsbDogI2RmNDEyNjsgfVxuXG4uYnV0dG9uLS1hcnJvdy5pcy1iZWlnZSB7XG4gIGNvbG9yOiAjZjBlNGNiOyB9XG4gIC5idXR0b24tLWFycm93LmlzLWJlaWdlIHN2ZyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZpbGw6IHdoaXRlOyB9XG5cbi5idXR0b24tLWFycm93LmlzLWJyb3duIHtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC5idXR0b24tLWFycm93LmlzLWJyb3duIHN2ZyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG5cbi5idXR0b24tLWFycm93LmlzLWJsYWNrIHtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC5idXR0b24tLWFycm93LmlzLWJsYWNrIHN2ZyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXG4gKi9cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAyNHB4ICsgNTAuNjY2NjdweCk7XG4gIHBhZGRpbmc6IDAgMjUuMzMzMzNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250ZW50IENvbnN0cmFpbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cbiAqL1xuLmNvbnRlbnQtY29uc3RyYWludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNvbnRlbnQtY29uc3RyYWludCA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzIxMjtcbiAgICBjb2xvcjogYmxhY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZsZXhcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEV4YW1wbGUgb2YgYSBmbGV4IGJhc2VkIGNvbHVtbiBncmlkIGxheW91dCBpbiBwcmFjdGljZTpcbiAqXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXG4gKiBzbWFsbCBgLXNtYCBicmVha3BvaW50IGFsaWFzLCB3aGljaCBpcyBtb2JpbGUgb25seS4gUmVmZXIgdG9cbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxuICovXG4vKipcbiAqIEZsZXggb2JqZWN0LlxuICpcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxuICovXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4vKipcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cbiAqL1xuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLTEyLjY2NjY3cHg7IH1cblxuLyoqXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXG4gKi9cbi5ib3gge1xuICBmbGV4OiAxOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhzLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhzLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teHMtZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teHMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14cy1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteHMtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLXhzLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC14cy1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICovXG4uZmlyc3QteHMge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5sYXN0LXhzIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5yZXZlcnNlLXhzIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXNtLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXNtLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tc20tZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1zbS1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tc20tYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1zbS1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktc20tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktc20tc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktc20tc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLXNtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC1zbS1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICovXG4uZmlyc3Qtc20ge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5sYXN0LXNtIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5yZXZlcnNlLXNtIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLW1kLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLW1kLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbWQtZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1tZC1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbWQtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1tZC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbWQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLW1kLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC1tZC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICovXG4uZmlyc3QtbWQge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5sYXN0LW1kIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5yZXZlcnNlLW1kIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLWxnLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLWxnLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbGctZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1sZy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbGctYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1sZy1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbGctY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbGctc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbGctc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLWxnLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC1sZy1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICovXG4uZmlyc3QtbGcge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5sYXN0LWxnIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5yZXZlcnNlLWxnIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhsLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhsLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teGwtZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14bC1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teGwtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14bC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteGwtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteGwtc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteGwtc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLXhsLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC14bC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICovXG4uZmlyc3QteGwge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5sYXN0LXhsIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5yZXZlcnNlLXhsIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkaW5ncy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEhlYWRpbmcgMS5cbiAqL1xuaDEsXG4uaGVhZGluZy0xIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4MzNlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgaDEsXG4gICAgLmhlYWRpbmctMSB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtOyB9IH1cblxuLyoqXG4gKiBIZWFkaW5nIDIuXG4gKi9cbmgyLFxuLmhlYWRpbmctMiB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zaXplOiA0LjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICBoMixcbiAgICAuaGVhZGluZy0yIHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogNC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07XG4gICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9IH1cblxuLyoqXG4gKiBIZWFkaW5nIDMuXG4gKi9cbmgzLFxuLmhlYWRpbmctMyB7XG4gIGZvbnQtc2l6ZTogMTUwcHg7XG4gIGZvbnQtc2l6ZTogMTVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCAjZTIzMjEyO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICBoMyxcbiAgICAuaGVhZGluZy0zIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgICBmb250LXNpemU6IDEwcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICBoMyxcbiAgICAuaGVhZGluZy0zIHtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGluZ3MuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhhcy1sb2FkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xNTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oYXMtbG9hZFtsb2FkZWQ9J3RydWUnXSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGUgd3JhcHBlciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuLyoqXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxuICovXG4ud3JhcHBlciB7XG4gIG1heC13aWR0aDogY2FsYygxMjUwcHggKyAxOTBweCk7XG4gIHBhZGRpbmc6IDAgOTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMCA2MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENNUyBPdXRwdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXG4gKlxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cbiAqL1xuLmNtcy1vdXRwdXQgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIC8qIDEgKi8gfVxuXG4uY21zLW91dHB1dCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuY21zLW91dHB1dCB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTsgfVxuICAgIC5jbXMtb3V0cHV0IHVsIGxpOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBjb250ZW50OiAn4oC6JzsgfVxuXG4uY21zLW91dHB1dCBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuICAuY21zLW91dHB1dCBvbCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi5jbXMtb3V0cHV0IHAgPiBhIHtcbiAgY29sb3I6ICNkZjQxMjY7IH1cbiAgLmNtcy1vdXRwdXQgcCA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWN0IGZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFjdC1mb3JtIHtcbiAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICNlMjMyMTI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX3RpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQzcHg7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb2x1bW4tY29udGFjdCB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb2x1bW4tY29udGFjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxNzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9IH1cbiAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jazpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jazpmaXJzdC1vZi10eXBlIC5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNXB4O1xuICBib3R0b206IDM1JTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggI2UyMzIxMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC10aXRsZSB7XG4gICAgICBsZWZ0OiAtOHB4O1xuICAgICAgYm90dG9tOiAzNyU7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1ODVweDtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtbG9nbyB7XG4gIG1heC13aWR0aDogMjkwcHg7XG4gIG1hcmdpbi10b3A6IDU1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LWxvZ28ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERvd25sb2Fkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5kb3dubG9hZHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2FkcyAud3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5kb3dubG9hZHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cblxuLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggI2UyMzIxMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgICAgIGxlZnQ6IC03cHg7IH0gfVxuXG4uZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICB3aWR0aDogNjElO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4O1xuICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTVweDsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXJnaW46IDM1cHggMDsgfVxuXG4uZG93bmxvYWRzX19pdGVtLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTcwcHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uZG93bmxvYWRzX19pdGVtLWxpbmsge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi5kb3dubG9hZHNfX2NvbHVtbi1saW5rcyB7XG4gIHdpZHRoOiAzOSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5kb3dubG9hZHNfX2NvbHVtbi1saW5rcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH0gfVxuXG4uZG93bmxvYWRzX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uZG93bmxvYWRzX19lZGl0b3IgYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5kb3dubG9hZHNfX2VkaXRvciBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2UyMzIxMjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIGNvbHVtbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyLWNvbHVtbnMge1xuICBsaW5lLWhlaWdodDogMjlweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTsgfSB9XG4gIC5mb290ZXItY29sdW1ucyAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5mb290ZXItY29sdW1ucyAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gIC5mb290ZXItY29sdW1ucyBhIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICAgIC5mb290ZXItY29sdW1ucyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZTIzMjEyOyB9XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19jb250YWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7IH0gfVxuICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtbG9nbyBpbWcge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWF4LWhlaWdodDogOTBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtZWRpdG9yIHtcbiAgbWFyZ2luLXRvcDogNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWVkaXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwcyB7XG4gIHdpZHRoOiA0NSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1uc19fc2l0ZW1hcHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtdGl0bGUsXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC10aXRsZSxcbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsIHtcbiAgd2lkdGg6IDE1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC1saW5rcyBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC1saW5rcyBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDsgfVxuICAgIC5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIGEgc3ZnIHBhdGgge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZTIzMjEyOyB9XG4gICAgLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtbGlua3MgYTpob3ZlciBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiAjZTIzMjEyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgQ1RBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3Rlci1jdGEge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAyOyB9XG4gIC5mb290ZXItY3RhLmlzLWhvbWVwYWdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC5mb290ZXItY3RhIC53cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZvb3Rlci1jdGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7IH1cblxuLmJhY2tncm91bmQtLWJvcmRlciArIC5mb290ZXItY3RhIHtcbiAgcGFkZGluZy10b3A6IDE3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYmFja2dyb3VuZC0tYm9yZGVyICsgLmZvb3Rlci1jdGEge1xuICAgICAgcGFkZGluZy10b3A6IDc1cHg7IH0gfVxuXG4uZm9vdGVyLWN0YSArIGRpdiB7XG4gIG1hcmdpbi10b3A6IC05NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWN0YSArIGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmZvb3Rlci1jdGFfX2JvZHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTYwcHg7XG4gIHJpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDU3NXB4O1xuICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgcGFkZGluZzogNjBweCA1NXB4O1xuICBiYWNrZ3JvdW5kOiAjZTIzMjEyO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY3RhX19ib2R5IHtcbiAgICAgIHRvcDogMTIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZvb3Rlci1jdGFfX2JvZHkge1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgICBsZWZ0OiA0MHB4O1xuICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nOiA2MHB4IDQwcHg7IH0gfVxuXG4uZm9vdGVyLWN0YV9fbGluayB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmZvb3Rlci1jdGFfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwdnc7XG4gIG1pbi1oZWlnaHQ6IDU3MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWN0YV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuZm9vdGVyLWN0YV9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb290ZXIge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXIge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG5cbi5mb290ZXJfX2xpbmtzIGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlcl9fbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg1NzE0ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZvb3Rlcl9fbGlua3MgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjIwMDtcbiAgICAgIGNvbG9yOiAjZmZmMjAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9ybSB7XG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLmZvcm1fX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuXG4uZm9ybV9fY29sdW1uLWZvcm0ge1xuICB3aWR0aDogNjUlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZvcm1fX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAzNSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZm9ybV9fY29sdW1uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZm9ybV9faW1hZ2Uge1xuICB3aWR0aDogNjY3cHg7XG4gIGhlaWdodDogNjAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybV9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiA0MzVweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMTI1cHg7IH0gfVxuICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoZWlnaHQ6IDEyNXB4OyB9IH1cblxuLmhlYWRlciArIGRpdiB7XG4gIHBhZGRpbmctdG9wOiAyMTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlciArIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTI1cHg7IH0gfVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0MHB4KTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fbG9nbyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDRweCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTsgfSB9XG4gIC5oZWFkZXJfX2xvZ28gaW1nIHtcbiAgICB3aWR0aDogMjEycHg7XG4gICAgaGVpZ2h0OiAxNTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5oZWFkZXJfX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIGJvZHkuaXMtYWN0aXZlIC5oZWFkZXJfX2xvZ28ge1xuICAgIHotaW5kZXg6IDEwMDsgfSB9XG5cbi5oZWFkZXJfX2J1dHRvbnMge1xuICB3aWR0aDogNjA2cHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXJfX2J1dHRvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5qcy1vcGVuLWxvY2F0aW9uczIuaXMtYWN0aXZlLCAuanMtb3Blbi1sb2NhdGlvbnMuaXMtYWN0aXZlIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgLmpzLW9wZW4tbG9jYXRpb25zMi5pcy1hY3RpdmU6OmFmdGVyLCAuanMtb3Blbi1sb2NhdGlvbnMuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmhlYWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjtcbiAgY29sb3I6ICNlMjMyMTI7IH1cbiAgLmhlYWRlcl9fYnV0dG9uIHN2ZyB7XG4gICAgY29sb3I6ICNlMjMyMTI7XG4gICAgZmlsbDogI2UyMzIxMjsgfVxuICAuaGVhZGVyX19idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTIzMjEyOyB9XG4gIC5oZWFkZXJfX2J1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5oZWFkZXJfX2J1dHRvbi5pcy1zZWFyY2gge1xuICAgIG1hcmdpbi1yaWdodDogODBweDsgfVxuXG4vKipcbiAqIE1vYmlsZSBtZW51IGJ1dHRvbi5cbiAqL1xuLmhlYWRlcl9fbWVudS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgdG9wIDQwMG1zIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgMHM7IH1cbiAgICAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNDAwbXMsIG9wYWNpdHkgMG1zIDQwMG1zO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgYm90dG9tIDQwMG1zIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgMHM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgdG9wIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgNDAwbXM7IH1cbiAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgYm90dG9tOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNDAwbXMsIGJvdHRvbSA0MDBtcywgdHJhbnNmb3JtIDQwMG1zIDQwMG1zOyB9XG5cbi8qKlxuICogSGVhZGVyIHNlY29uZGFyeSBjb2xvcnMuXG4gKi9cbi5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTIzMjEyO1xuICBjb2xvcjogI2UyMzIxMjsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fYnV0dG9uIHN2ZyB7XG4gICAgY29sb3I6ICNlMjMyMTI7XG4gICAgZmlsbDogI2UyMzIxMjsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fYnV0dG9uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2UyMzIxMjsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmhlYWRlci0tc2Vjb25kYXJ5IC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMiksIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzIxMjsgfVxuICAgIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuOm50aC1jaGlsZCgyKSwgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH0gfVxuXG4uaGVhZGVyLmhlYWRlci0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGVhZGVyX19sb2NhdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDEyMHB4O1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIC5oZWFkZXJfX2xvY2F0aW9ucyAud3JhcHBlciAuanMtbG9jYXRpb25zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzMjEyO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cbiAgLmhlYWRlcl9fbG9jYXRpb25zLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uaGVhZGVyX19sb2NhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI4MnB4O1xuICBoZWlnaHQ6IDE3MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweDsgfVxuXG4uaGVhZGVyX19sb2NhdGlvbi1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7IH1cblxuLmhlYWRlcl9fbG9jYXRpb24tc3RhdHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE3LjVweDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLmhlYWRlcl9fbG9jYXRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHZhcigtLUJlaWdlLTEwMCwgI0ZGRik7XG4gIHRleHQtc2hhZG93OiA0cHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEwNSU7XG4gIC8qIDMzLjZweCAqL1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLmhlYWRlcl9fbG9jYXRpb24tc3VidGl0bGUge1xuICBjb2xvcjogdmFyKC0tQmVpZ2UtMTAwLCAjRkZGKTtcbiAgdGV4dC1zaGFkb3c6IDRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTA1JTtcbiAgLyogMTYuOHB4ICovXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSG9tZSBETkEgZm9ybS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIERlZmF1bHQgc3R5bGluZy5cbiAqL1xuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogd2hpdGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxuICogSG9tZUROQSBmb3JtLlxuICovXG4uaG9tZWRuYS1zdXJ2ZXkge1xuICBtYXgtd2lkdGg6IDU3NXB4OyB9XG5cbi5ob21lZG5hLXN1cnZleSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAtMjNweDtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtc3RhdGljLFxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIGEge1xuICAgIGNvbG9yOiAjZTIzMjEyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5ob21lZG5hLXN1cnZleSAucXVlc3Rpb24tdHlwZS1yYWRpbyBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ob21lZG5hLXN1cnZleSBpbnB1dFt0eXBlPXJhZGlvXSxcbi5ob21lZG5hLXN1cnZleSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBmbG9hdDogbGVmdDtcbiAgdHJhbnNpdGlvbjogMC4zNXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlOyB9XG4gIC5ob21lZG5hLXN1cnZleSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkLFxuICAuaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogNTBweCAzNXB4IDAgMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjtcbiAgY29sb3I6ICNlMjMyMTI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZSBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogLTM3cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICNlMjMyMTI7XG4gICAgZmlsbDogI2UyMzIxMjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICNlMjMyMTI7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGU6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbiNmb3JtUGFnZU5hdiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gc3BhbltkYXRhLXBhZ2VdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1OTVhNGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZm9ybVBhZ2VOYXYgPiBzcGFuW2RhdGEtcGFnZV06aG92ZXIsICNmb3JtUGFnZU5hdiA+IHNwYW5bZGF0YS1wYWdlXS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5xdWVzdGlvbi10eXBlLXJhZGlvIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGhlaWdodDogMTAwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExvY2F0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxvY2F0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uIC53cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ubG9jYXRpb25fX2NvbHVtbi10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBwYWRkaW5nOiA5MHB4IDM1cHggMCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubG9jYXRpb25fX2NvbHVtbi10ZXh0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgIG1hcmdpbjogNzBweCA0MHB4IDgwcHg7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMDsgfSB9XG4gIC5sb2NhdGlvbl9fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmxvY2F0aW9uX19jb2x1bW4tdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuXG4ubG9jYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ubG9jYXRpb25fX2NvbHVtbi1tYXAge1xuICB3aWR0aDogNzAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubG9jYXRpb25fX2NvbHVtbi1tYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubG9jYXRpb25fX21hcCB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB3aWR0aDogNjYuNnZ3O1xuICBtaW4taGVpZ2h0OiA2MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19tYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5sb2NhdGlvbl9fbWFwIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuXG4ubG9jYXRpb25fX21hcC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2JpbGUgc2Nyb2xsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1vYmlsZS1zY3JvbGwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNzc3OGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDE3MHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGNvbG9yOiBibGFjaztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubW9iaWxlLXNjcm9sbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vYmlsZS1zY3JvbGwgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBmaWxsOiBibGFjazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgIHRvcDogMTAwdmg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAxMjVweDtcbiAgICAgIHBhZGRpbmc6IDEycHggMCA0MHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfSB9XG4gIC5uYXZpZ2F0aW9uLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm5hdmlnYXRpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQ29udGFjdC5cbiAqL1xuLm5hdmlnYXRpb25fX2NvbHVtbi1jb250YWN0IHtcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19jb2x1bW4tY29udGFjdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gIC5uYXZpZ2F0aW9uX19jb250YWN0LWJsb2NrIGE6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZTIzMjEyOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWVkaXRvciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi8qKlxuICogU29jaWFsLlxuICovXG4ubmF2aWdhdGlvbl9fc29jaWFsLmlzLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLmlzLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubmF2aWdhdGlvbl9fc29jaWFsLmlzLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19zb2NpYWwuaXMtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm5hdmlnYXRpb25fX3NvY2lhbC5pcy1tb2JpbGUgLm5hdmlnYXRpb25fX3NvY2lhbC10aXRsZSwgLm5hdmlnYXRpb25fX3NvY2lhbC5pcy1tb2JpbGUgLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhIHtcbiAgICBjb2xvcjogI2Y5ZWVlMTsgfVxuXG4ubmF2aWdhdGlvbl9fc29jaWFsLXRpdGxlIHtcbiAgbWFyZ2luOiA3MHB4IDAgMjZweDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIG1hcmdpbjogMTM1cHggMCAyMXB4OyB9IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLWxpbmtzIGEge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2UyMzIxMjsgfSB9XG5cbi8qKlxuICogTWFpbiBtZW51LlxuICovXG4ubmF2aWdhdGlvbl9fY29sdW1uLW1lbnUge1xuICB3aWR0aDogNjAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogOTBweCAwIDAgOTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5hdmlnYXRpb25fX2NvbHVtbi1tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubmF2aWdhdGlvbl9fY29sdW1uLW1lbnU6OmJlZm9yZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tYWluLW1lbnUgPiBsaSA+IGEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41ODMzM2VtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiO1xuICBjb2xvcjogI2Y5ZWVlMTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5tYWluLW1lbnUgPiBsaSA+IGEge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIGNvbG9yOiBibGFjazsgfSB9XG5cbi5tYWluLW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4ubWFpbi1tZW51ID4gbGk6aG92ZXIgPiBhLFxuLm1haW4tbWVudSA+IGxpLmlzLW9wZW4gPiBhIHtcbiAgY29sb3I6ICNlMjMyMTI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5tYWluLW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsXG4gICAgLm1haW4tbWVudSA+IGxpOmhvdmVyID4gYSxcbiAgICAubWFpbi1tZW51ID4gbGkuaXMtb3BlbiA+IGEge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG4vKipcbiAqIEJhY2tncm91bmQgaGVhZGVyLlxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZTIzMjEyO1xuICAgIGNvbnRlbnQ6ICcnOyB9IH1cblxuLyoqXG4gKiBEaXNhYmxlIHNjcm9sbC5cbiAqL1xuYm9keS5pcy1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGJvZHkuaXMtYWN0aXZlIC5oZWFkZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi8qKlxuICogU3VibWVudS5cbiAqL1xuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAgMCAwIDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlOyB9XG4gIC5zdWJtZW51LXRvZ2dsZSBzdmcge1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZTsgfVxuICAuc3VibWVudS10b2dnbGUgcGF0aCB7XG4gICAgc3Ryb2tlOiAjZjllZWUxO1xuICAgIHRyYW5zaXRpb246IHN0cm9rZSAyNTBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnN1Ym1lbnUtdG9nZ2xlIHBhdGgge1xuICAgICAgICBzdHJva2U6IGJsYWNrOyB9IH1cblxuLmhhcy1zdWJtZW51LmlzLW9wZW4gPiBhIC5zdWJtZW51LXRvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLnN1Ym1lbnUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3VibWVudSB7XG4gIHBhZGRpbmc6IDRweCAwIDE2cHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnN1Ym1lbnUge1xuICAgICAgcGFkZGluZzogNHB4IDAgMTJweCAwOyB9IH1cbiAgLnN1Ym1lbnUgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcyNzI3ZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjtcbiAgICBjb2xvcjogI2Y5ZWVlMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcyBlYXNlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnN1Ym1lbnUgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICAgIGNvbG9yOiBibGFjazsgfSB9XG4gIC5zdWJtZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtIGEsXG4gIC5zdWJtZW51IGxpOmhvdmVyIGEge1xuICAgIGNvbG9yOiAjZTIzMjEyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnN1Ym1lbnUgbGkuY3VycmVudC1tZW51LWl0ZW0gYSxcbiAgICAgIC5zdWJtZW51IGxpOmhvdmVyIGEge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5ld3MgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uZXdzLWxpc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdCAud3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi8qKlxuICogSXRlbXMuXG4gKi9cbi5uZXdzLWxpc3RfX2l0ZW1zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcbiAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKipcbiAqIEl0ZW0uXG4gKi9cbi5uZXdzLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cblxuLm5ld3MtbGlzdF9faXRlbS1kYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggI2UyMzIxMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbS1kYXRlIHtcbiAgICAgIGxlZnQ6IC03cHg7IH0gfVxuXG4ubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4O1xuICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTVweDsgfSB9XG5cbi5uZXdzLWxpc3RfX2l0ZW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXJnaW46IDM1cHggMDsgfVxuXG4ubmV3cy1saXN0X19pdGVtLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTcwcHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubmV3cy1saXN0X19pdGVtLWxpbmsge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi8qKlxuICogUGFnaW5hdGlvbi5cbiAqL1xuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gIHdpZHRoOiA0NzlweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH0gfVxuICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5wcmV2LFxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLm5leHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQsXG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTk1YTRlOyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjIwMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5uZXdzLWxpc3RfX3N0aWNreS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDgwcHg7IH0gfVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tbGluayB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAubmV3cy1saXN0X19wYWdpbmF0aW9uLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZTIzMjEyOyB9XG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tZGF0ZSB7XG4gIHdpZHRoOiAxNDVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1kYXRlIHtcbiAgICAgIHdpZHRoOiA4MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcnRuZXJzIGltYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhcnRuZXJzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucGFydG5lcnMtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX190aXRsZSB7XG4gICAgICB0b3A6IC02MXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICAgICAgdG9wOiAtMzFweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1wYXJ0bmVycyB7XG4gIHdpZHRoOiA2NSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1wYXJ0bmVycyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cbiAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXI6Zmlyc3Qtb2YtdHlwZSAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE1cHg7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCBibGFjazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXRpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLXRvcDogMjM1cHg7XG4gIGNvbG9yOiBibGFjazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTUycHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTBweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU4NXB4OyB9XG4gIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1lZGl0b3IgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItZWRpdG9yIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItZWRpdG9yIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAzNSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBhcnRuZXJzLWltYWdlX19pbWFnZSB7XG4gIHdpZHRoOiA2NjdweDtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYXJ0bmVycy1pbWFnZV9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiA0MzVweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IG1hcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnByb3BlcnR5LW1hcCB7XG4gICAgbWluLWhlaWdodDogMTI1cHg7IH0gfVxuXG4ucHJvcGVydHktbWFwLmJhY2tncm91bmQtLXByaW1hcnkgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSwgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1wcmltYXJ5LXBhdHRlcm4gLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSwgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1zZWNvbmRhcnkgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSwgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1zZWNvbmRhcnktcGF0dGVybiAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogYmxhY2s7IH1cblxuLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTk1YTRlOyB9XG5cbi5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tYm9yZGVyICsgLnByb3BlcnR5LW1hcCB7XG4gIHBhZGRpbmctdG9wOiAyMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAucHJvcGVydHktbWFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cblxuLnByb3BlcnR5LW1hcCArIC5mb290ZXItY3RhIHtcbiAgcGFkZGluZy10b3A6IDE4MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwICsgLmZvb3Rlci1jdGEge1xuICAgICAgcGFkZGluZy10b3A6IDkwcHg7IH0gfVxuXG4ucHJvcGVydHktbWFwIC53cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBwYWRkaW5nLXRvcDogOTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgY29udGVudDogJyc7IH1cblxuLnByb3BlcnR5LW1hcF9fY29sdW1uLW1hcCB7XG4gIHdpZHRoOiA3MCU7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwX19jb2x1bW4tbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnByb3BlcnR5LW1hcF9fcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTVweDtcbiAgbWF4LXdpZHRoOiAyMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLnByb3BlcnR5LW1hcF9fcGxhY2Vob2xkZXIuaXMtaGlkZGVuIHtcbiAgICB0b3A6IC0xODBweDtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnRpZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTlweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5LmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnByb3BlcnR5LW1hcF9fcHJvcGVydHkuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB6LWluZGV4OiA5OTsgfSB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEzNXB4O1xuICBsZWZ0OiA4N3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xuICAgICAgbGVmdDogNTdweDsgfSB9XG4gIC5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBqdW1wIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4gICAgLnByb3BlcnR5LW1hcF9fc2Nyb2xsZG93bi1hcnJvdyBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiAjZTIzMjEyOyB9XG5cbkBrZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICBib3R0b206IDA7IH1cbiAgNTAlIHtcbiAgICBib3R0b206IDE1cHg7IH1cbiAgMTAwJSB7XG4gICAgYm90dG9tOiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHNpbmdsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS1zaW5nbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb3BlcnR5LXNpbmdsZSAud3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS1zaW5nbGUgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS1zaW5nbGUgLndyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgdG9wOiAtNDJweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tZGV0YWlscyB7XG4gIHdpZHRoOiAyOTBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLWRldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4ucHJvcGVydHktc2luZ2xlX19pbmZvcm1hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjkwcHgpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3NsaWRlc2hvdy1pbWFnZXMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjNTk1YTRlOyB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0zOHB4OyB9XG4gIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAucHJvcGVydHktc2luZ2xlX19uYXZpZ2F0aW9uIGJ1dHRvbi5hY3RpdmUsIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgdHlwZSBpdGVtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb3BlcnR5LXR5cGUtaXRlbSB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQ3LjVweCk7XG4gIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktdHlwZS1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG4gIC5wcm9wZXJ0eS10eXBlLWl0ZW0gLmJ1dHRvbi0tYXJyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IG5vcm1hbDsgfVxuICAucHJvcGVydHktdHlwZS1pdGVtIC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgdG9wOiA1cHg7XG4gICAgaGVpZ2h0OiAxNnB4OyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX2hlYWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fYXZhaWxhYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IDMwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzMjEyO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5wcm9wZXJ0eS10eXBlLWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGVhc2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuLnByb3BlcnR5LXR5cGUtbGlzdC5iYWNrZ3JvdW5kLS1icm93biAucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTIzMjEyO1xuICBjb2xvcjogI2UyMzIxMjsgfVxuXG4ucHJvcGVydHktdHlwZS1saXN0LmJhY2tncm91bmQtLWRlZmF1bHQgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UyMzIxMjtcbiAgY29sb3I6ICNlMjMyMTI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHR5cGUgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS10eXBlLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb3BlcnR5LXR5cGUtbGlzdCAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucHJvcGVydHktdHlwZS1saXN0IC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS10eXBlLWxpc3QgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4ucHJvcGVydHktdHlwZS1saXN0X190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTJweDtcbiAgbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucHJvcGVydHktdHlwZS1saXN0X190aXRsZSB7XG4gICAgICB0b3A6IC02MXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS10eXBlLWxpc3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ0ZW07XG4gICAgICB0b3A6IC00MnB4O1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTbGlkZXNob3dcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2xpZGVzaG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5zbGlkZXNob3cge1xuICAgICAgbWluLWhlaWdodDogNjAwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3cgLndyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5oZWFkZXIgKyAuc2xpZGVzaG93IHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXIgKyAuc2xpZGVzaG93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCAwOyB9IH1cbiAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMnB4OyB9IH1cblxuLnNsaWRlc2hvd19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBjb2xvcjogYmxhY2s7IH1cblxuLnNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNTYlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2xpZGVzaG93X19pbWFnZXMge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3dfX2ltYWdlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIxMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZmlsbDogI2UyMzIxMjsgfVxuICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5zbGlkZXNob3dfX2ltYWdlcyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7IH0gfVxuICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMjMyMTI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZTIzMjEyOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzIxMjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH0gfVxuICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjsgfSB9XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzMjEyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90LmFjdGl2ZSwgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH0gfVxuXG4uc2xpZGVzaG93X19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7IH1cbiAgLnNsaWRlc2hvd19fc2xpZGUgaW1nIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2LzEwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IGltYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtaW1hZ2UgLndyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZSAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9IH1cblxuLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXIge1xuICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG4gIC50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7IH1cbiAgLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmMjAwOyB9XG5cbi50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLnRleHQtaW1hZ2VfX2VkaXRvciB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4udGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC50ZXh0LWltYWdlX190aXRsZSB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4udGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cblxuLnRleHQtaW1hZ2VfX2NvbHVtbi10ZXh0IHtcbiAgd2lkdGg6IDU0JTtcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlX19jb2x1bW4tdGV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19jb2x1bW4tdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnRleHQtaW1hZ2VfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4udGV4dC1pbWFnZV9fZWRpdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuXG4udGV4dC1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgd2lkdGg6IDQ2JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2UgI3BsYXkge1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlOyB9XG4gICAgLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSAjcGxheSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1MHB4KTsgfVxuICAgICAgLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSAjcGxheSBzcGFuIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmMjAwOyB9XG4gICAgLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSAjcGxheTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zbGlkZXNob3ctdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvdy10ZXh0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93LXRleHQgLndyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5oZWFkZXIgKyAuc2xpZGVzaG93LXRleHQge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlciArIC5zbGlkZXNob3ctdGV4dCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLnNsaWRlc2hvdy10ZXh0X19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvdy10ZXh0X19jb2x1bW4tdGV4dCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xuICAgICAgcGFkZGluZzogMzVweCAwIDA7IH0gfVxuICAuc2xpZGVzaG93LXRleHRfX2NvbHVtbi10ZXh0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb250ZW50OiAnJzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3ctdGV4dF9fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMnB4OyB9IH1cblxuLnNsaWRlc2hvdy10ZXh0X19pbm5lciB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc2xpZGVzaG93LXRleHRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi5zbGlkZXNob3ctdGV4dF9fY29sdW1uLWltYWdlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNjAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3ctdGV4dF9fY29sdW1uLWltYWdlcyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzIHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcyAub3dsLW5hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzIC5vd2wtbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcyAub3dsLW5hdiAub3dsLW5leHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzIC5vd2wtbmF2IHN2ZyB7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGZpbGw6ICNlMjMyMTI7IH1cbiAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMgLm93bC1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMgLm93bC1kb3RzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7IH0gfVxuICAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzLnBhZ2luYXRpb24tcmVkIC5vd2wtZG90IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2UyMzIxMjsgfSB9XG4gICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzMjEyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzLnBhZ2luYXRpb24tcmVkIC5vd2wtZG90LmFjdGl2ZSwgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH0gfVxuICAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTIzMjEyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlMjMyMTI7IH0gfVxuICAgIC5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93LXRleHRfX2ltYWdlLXNsaWRlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdC5hY3RpdmUsIC5zbGlkZXNob3ctdGV4dF9faW1hZ2Utc2xpZGVzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlMjMyMTI7IH0gfVxuXG4uc2xpZGVzaG93LXRleHRfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDsgfVxuICAuc2xpZGVzaG93LXRleHRfX3NsaWRlIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi8xMDsgfVxuXG4uc2xpZGVzaG93LXRleHRfX251bWJlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDIwcHg7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAxMzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvdy10ZXh0X19udW1iZXJzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3R0b206IC0yNHB4OyB9IH1cblxuLnNsaWRlc2hvdy10ZXh0X19udW1iZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwIDAgNHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNTBtcyBlYXNlOyB9XG4gIC5zbGlkZXNob3ctdGV4dF9fbnVtYmVyOmhvdmVyLCAuc2xpZGVzaG93LXRleHRfX251bWJlci5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHdoaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LXNsaWRlc2hvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGV4dC1zbGlkZXNob3cgLndyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUxcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3cgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU5NWE0ZTsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2IHN2ZyB7XG4gICAgICBjb2xvcjogI2NiZDRkNztcbiAgICAgIGZpbGw6ICNjYmQ0ZDc7IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3Qge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM1OTVhNGU7IH1cbiAgICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLWRvdC5hY3RpdmUsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1uYXYsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLW5hdiwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2IHN2ZywgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJyb3duIC5vd2wtbmF2IHN2ZywgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtbmF2IHN2ZyB7XG4gICAgICBjb2xvcjogI2UyMzIxMjtcbiAgICAgIGZpbGw6ICNlMjMyMTI7IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdCwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3Q6aG92ZXIsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdC5hY3RpdmUsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdDpob3ZlciwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi50ZXh0LXNsaWRlc2hvd19fd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTJweDtcbiAgbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gICAgICB0b3A6IC0zMnB4O1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi50ZXh0LXNsaWRlc2hvd19fdGl0bGUgKyBkaXYge1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X190aXRsZSArIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfSB9XG5cbi50ZXh0LXNsaWRlc2hvd19fYmxvY2stdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbi8qKlxuICogU2xpZGVzaG93LlxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgd2lkdGg6IDE3OTBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLXN0YWdlLW91dGVyIHtcbiAgICB3aWR0aDogMTIwNXB4OyB9IH1cblxuLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUyNXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBtYXJnaW46IGF1dG8gMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLW5hdiAub3dsLXByZXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLW5hdiAub3dsLW5leHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtbmF2IHN2ZyB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLWRvdHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzVweDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7IH0gfVxuXG4vKipcbiAqIFNsaWRlcy5cbiAqL1xuLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTc1cHg7XG4gIGhlaWdodDogNTYwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZSB7XG4gICAgICB3aWR0aDogMzc1cHg7XG4gICAgICBoZWlnaHQ6IDM2MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMjBweDsgfSB9XG5cbi8qKlxuICogU2xpZGVzaG93IHBvc2l0aW9uLlxuICovXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jayB7XG4gICAgICBhbGlnbi1pdGVtczogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH0gfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3NXB4KTtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDEwMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMCAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9IH1cbiAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgd2lkdGg6IDU3NXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NzVweCk7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBwYWRkaW5nOiAwIDEwMHB4IDAgNTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB3aWR0aDogNTc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLm93bC1uYXYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC5vd2wtZG90cyB7XG4gICAgICByaWdodDogLTI4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wb3B1cCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiA1NDlweDtcbiAgaGVpZ2h0OiAzNzBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDEwMDtcbiAgcGFkZGluZzogNjVweCA1MHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnBvcHVwIHtcbiAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH0gfVxuICAucG9wdXAuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgLnBvcHVwOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIC5wb3B1cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi5wb3B1cF9fY2xvc2Uge1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzMHB4O1xuICB0b3A6IDYwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucG9wdXBfX2Nsb3NlIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuICAucG9wdXBfX2Nsb3NlIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiB3aGl0ZTsgfVxuICAucG9wdXBfX2Nsb3NlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLnBvcHVwX19saW5rIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucG9wdXBfX2xpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gIC5wb3B1cF9fbGluayBzdmcge1xuICAgIGZpbGw6IHdoaXRlOyB9XG5cbi5wb3B1cF9fYmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgei1pbmRleDogOTk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnBvcHVwX19iZy5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4ucG9wdXBfX2VkaXRvciB7XG4gIGNvbG9yOiAjZTIzMjEyOyB9XG4gIC5wb3B1cF9fZWRpdG9yIGgyIHtcbiAgICBjb2xvcjogI2UyMzIxMjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wb3B1cF9fZWRpdG9yIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTIwJTsgfSB9XG5cbi5wb3B1cC1ncmFkaWVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNlNTMzMmEgMSUsIHJnYmEoMjI5LCA1MiwgNDEsIDAuOTkpIDI3JSwgcmdiYSgyMzAsIDU4LCAzOCwgMC45NSkgNDAlLCByZ2JhKDIzMSwgNjgsIDM0LCAwLjg5KSA1MCUsIHJnYmEoMjMzLCA4MiwgMjcsIDAuODEpIDU5JSwgcmdiYSgyMzUsIDEwMCwgMTksIDAuNykgNjclLCByZ2JhKDIzOCwgMTIyLCA5LCAwLjU2KSA3NCUsIHJnYmEoMjQyLCAxNDUsIDAsIDAuNDMpIDc5JSwgcmdiYSgyNTUsIDIzNiwgMCwgMCkgMTAwJSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ucG9wdXAtZ3JhZGllbnQtMiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC05MGRlZywgI2U1MzMyYSAxJSwgcmdiYSgyMjksIDUyLCA0MSwgMC45OSkgMjclLCByZ2JhKDIzMCwgNTgsIDM4LCAwLjk1KSA0MCUsIHJnYmEoMjMxLCA2OCwgMzQsIDAuODkpIDUwJSwgcmdiYSgyMzMsIDgyLCAyNywgMC44MSkgNTklLCByZ2JhKDIzNSwgMTAwLCAxOSwgMC43KSA2NyUsIHJnYmEoMjM4LCAxMjIsIDksIDAuNTYpIDc0JSwgcmdiYSgyNDIsIDE0NSwgMCwgMC40MykgNzklLCByZ2JhKDI1NSwgMjM2LCAwLCAwKSAxMDAlKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHg7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cbiAqL1xuLyoqXG4gICAgICAgKiBgY29sb3JgIGJsYWNrLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYmxhY2stMTAwIHtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIGJsYWNrLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibGFjay0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgd2hpdGUtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci13aGl0ZS0xMDAge1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgd2hpdGUtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjY2JkNGQ3LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYmx1ZS1saWdodC0xMDAge1xuICBjb2xvcjogI2NiZDRkNzsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjY2JkNGQ3LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibHVlLWxpZ2h0LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYmQ0ZDc7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICNhZmI3YmEtNTAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJsdWUtbGlnaHQtNTAge1xuICBjb2xvcjogI2FmYjdiYTsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjYWZiN2JhLTUwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsdWUtbGlnaHQtNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWZiN2JhOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjMjE0MzkxLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYmx1ZS1kYXJrLTEwMCB7XG4gIGNvbG9yOiAjMjE0MzkxOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMyMTQzOTEtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsdWUtZGFyay0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE0MzkxOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjZDk5YjY4LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3Itb3JhbmdlLTEwMCB7XG4gIGNvbG9yOiAjZDk5YjY4OyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNkOTliNjgtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLW9yYW5nZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk5YjY4OyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjZGY0MTI2LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItcmVkLTEwMCB7XG4gIGNvbG9yOiAjZGY0MTI2OyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNkZjQxMjYtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLXJlZC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGY0MTI2OyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjNTk1YTRlLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItZ3JlZW4tMTAwIHtcbiAgY29sb3I6ICM1OTVhNGU7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzU5NWE0ZS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU5NWE0ZTsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzk1OWI5Ny01MCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItZ3JlZW4tNTAge1xuICBjb2xvcjogIzk1OWI5NzsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjOTU5Yjk3LTUwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk1OWI5NzsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzU2NTc0Yy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLWJhY2tncm91bmQtMTAwIHtcbiAgY29sb3I6ICM1NjU3NGM7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzU2NTc0Yy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tYmFja2dyb3VuZC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTY1NzRjOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjMjUxNzEzLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYnJvd24tMTAwIHtcbiAgY29sb3I6ICMyNTE3MTM7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzI1MTcxMy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYnJvd24tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MTcxMzsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzJiMWMxNy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJyb3duLWJhY2tncm91bmQtMTAwIHtcbiAgY29sb3I6ICMyYjFjMTc7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzJiMWMxNy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYnJvd24tYmFja2dyb3VuZC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxYzE3OyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjYWRjYjAwLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYm9zcy1ncmVlbi0xMDAge1xuICBjb2xvcjogI2FkY2IwMDsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjYWRjYjAwLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ib3NzLWdyZWVuLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZGNiMDA7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICMyMTI3MjEtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ib3NzLWdyZXktMTAwIHtcbiAgY29sb3I6ICMyMTI3MjE7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzIxMjcyMS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYm9zcy1ncmV5LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTI3MjE7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICM3NzQyMTItMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ib3NzLWJyb3duLTEwMCB7XG4gIGNvbG9yOiAjNzc0MjEyOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM3NzQyMTItMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtYnJvd24tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2YwZTRjYi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJvc3MtYmVpZ2UtMTAwIHtcbiAgY29sb3I6ICNmMGU0Y2I7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2YwZTRjYi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYm9zcy1iZWlnZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlNGNiOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjZmZmMjAwLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItZmxleC15ZWxsb3ctMTAwIHtcbiAgY29sb3I6ICNmZmYyMDA7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2ZmZjIwMC0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZmxleC15ZWxsb3ctMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjIwMDsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2Y5ZWVlMS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWZsZXgtY3JlbWUtMTAwIHtcbiAgY29sb3I6ICNmOWVlZTE7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2Y5ZWVlMS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZmxleC1jcmVtZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllZWUxOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjZTIzMjEyLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItdW5pdC1yZWQtMTAwIHtcbiAgY29sb3I6ICNlMjMyMTI7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2UyMzIxMi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItdW5pdC1yZWQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyMzIxMjsgfVxuXG4vKipcbiAqIEdlbmVyaWMgaGVscGVyIGNsYXNzZXMuXG4gKi9cbi8qKlxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxuICovXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCgxcHgpOyB9XG5cbi8qKlxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXG4gKi9cbi5sYXp5bG9hZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuICovXG4ub2JqZWN0LWZpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi8qKlxuICogQWxpZ24gY2VudGVyLlxuICovXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxuICogQWxpZ24gbGVmdC5cbiAqL1xuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qKlxuICogQWxpZ24gcmlnaHQuXG4gKi9cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi53NjAge1xuICB3aWR0aDogNjAlOyB9XG5cbi53NDAge1xuICB3aWR0aDogNDAlOyB9XG5cbi53NTAge1xuICB3aWR0aDogNTAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3QgRml0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPYmplY3QgZml0LlxuICpcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXG4gKi9cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgZmlsbCB1dGlsaXR5IGNsYXNzLlxuICAgKi9cbi5maWxsIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogZmlsbDtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBmaWxsOyB9XG5cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgY29udGFpbiB1dGlsaXR5IGNsYXNzLlxuICAgKi9cbi5jb250YWluIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY29udGFpbjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgY292ZXIgdXRpbGl0eSBjbGFzcy5cbiAgICovXG4uY292ZXIge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3ZlcjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4vKipcbiAgICogYG9iamVjdC1maXRgIG5vbmUgdXRpbGl0eSBjbGFzcy5cbiAgICovXG4ubm9uZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IG5vbmU7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogbm9uZTsgfVxuXG4vKipcbiAgICogYG9iamVjdC1maXRgIHNjYWxlLWRvd24gdXRpbGl0eSBjbGFzcy5cbiAgICovXG4uc2NhbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IHNjYWxlLWRvd247XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogc2NhbGUtZG93bjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zaXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXG4gKi9cbi5zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC14cy1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXhzLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LXNtLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1zbS1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXNtLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LW1kLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1tZC1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LW1kLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LWxnLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1sZy1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LWxnLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LXhsLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC14bC1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXhsLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi8qKlxuICogVGV4dCBzaXplIHV0aWxpdHkgY2xhc3Nlcy5cbiAqL1xuLnRleHQteHMtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhzLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteHMtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhzLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtc20taDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXNtLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtc20taDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXNtLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbWQtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LW1kLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbWQtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LW1kLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbGctaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LWxnLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbGctaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LWxnLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQteGwtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhsLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteGwtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhsLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteHMtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXNtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXNtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtc20tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LW1kLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LW1kLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbWQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWxnLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LWxnLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbGctY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXhsLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhsLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteGwtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxuICpcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cbiAqL1xuLnRleHQteHMtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14cy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhzLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteHMtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14cy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhzLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteHMtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14cy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhzLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtc20tMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1zbS0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXNtLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtc20tNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1zbS01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXNtLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtc20tNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1zbS04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXNtLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbWQtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1tZC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LW1kLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbWQtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1tZC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LW1kLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbWQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1tZC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LW1kLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbGctMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1sZy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LWxnLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbGctNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1sZy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LWxnLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbGctNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1sZy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LWxnLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQteGwtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14bC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhsLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteGwtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14bC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhsLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteGwtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14bC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhsLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLyoqXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC14cy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LXhzLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQteHMtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LXhzLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC1zbS1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtc20tdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1zbS1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXNtLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1zbS1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQtbWQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LW1kLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtbWQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC1tZC1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQtbWQtZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi50ZXh0LWxnLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC1sZy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LWxnLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtbGctbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LWxnLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC14bC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQteGwtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC14bC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXhsLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC14bC1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZlcnRpY2FsIFJoeXRobVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi52ci0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi52ci04IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi52ci0xNiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLnZyLTI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuXG4udnItMzIge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbi52ci00MCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnZyLTQ4IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuXG4udnItNTYge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XG5cbi52ci02NCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cblxuLnZyLTcyIHtcbiAgbWFyZ2luLWJvdHRvbTogNzJweDsgfVxuXG4udnItODAge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBaLWluZGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxuICovXG4uei1pbmRleC0wIHtcbiAgei1pbmRleDogMDsgfVxuXG4uei1pbmRleC0xIHtcbiAgei1pbmRleDogMTA7IH1cblxuLnotaW5kZXgtMiB7XG4gIHotaW5kZXg6IDIwOyB9XG5cbi56LWluZGV4LTMge1xuICB6LWluZGV4OiAzMDsgfVxuXG4uei1pbmRleC00IHtcbiAgei1pbmRleDogNDA7IH1cblxuLnotaW5kZXgtNSB7XG4gIHotaW5kZXg6IDUwOyB9XG5cbi56LWluZGV4LTYge1xuICB6LWluZGV4OiA2MDsgfVxuXG4uei1pbmRleC03IHtcbiAgei1pbmRleDogNzA7IH1cblxuLnotaW5kZXgtOCB7XG4gIHotaW5kZXg6IDgwOyB9XG5cbi56LWluZGV4LTkge1xuICB6LWluZGV4OiA5MDsgfVxuXG4uei1pbmRleC0xMCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4uaWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTYwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uaWZyYW1lIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pZnJhbWUgaWZyYW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wbGF5LWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMztcbiAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5wbGF5LWJ0bjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucGxheS1idG46Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRm9udCBmYW1pbHkgbWFwLlxuJGZvbnQtZmFtaWx5OiAoXG4gICdkZWZhdWx0JzogJ1ByZWRpZ2UtUmVndWxhcicsXG4gICdtZWRpdW0nOiAnUHJlZGlnZS1NZWRpdW0nLFxuICAnaGVhZGluZyc6ICdCdXJmb3JkUnVzdGljU2hhZG93VHdvQSdcbik7XG5cblxuLy8gRm9udCBmYWNlLlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQnVyZm9yZFJ1c3RpY1NoYWRvd1R3b0EnO1xuICBzcmM6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BLm90ZicpIGZvcm1hdCgnT3BlblR5cGUnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJlZGlnZS1NZWRpdW0nO1xuICBzcmM6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLm90ZicpIGZvcm1hdCgnT3BlblR5cGUnKSxcbiAgICAgICB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1ByZWRpZ2UtUmVndWxhcic7XG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvZmxleC9hc3NldHMvZm9udHMvUHJlZGlnZS1SZWd1bGFyLm90ZicpIGZvcm1hdCgnT3BlblR5cGUnKSxcbiAgICAgICB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vLyBGb250IHNpemUgbWFwLlxuJGZvbnQtc2l6ZTogKFxuICAnaDEnOiA0OHB4LFxuICAnaDInOiA0OHB4LFxuICAnaDMnOiAxNTBweCxcbiAgJ3AnOiAxNnB4XG4pO1xuXG5cbi8vIExpbmUgaGVpZ2h0IG1hcC5cbiRsaW5lLWhlaWdodDogKFxuICAnaDEnOiA1OHB4LFxuICAnaDInOiA1NHB4LFxuICAnaDMnOiAxNTBweCxcbiAgJ3AnOiAyNHB4XG4pO1xuXG5cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcblxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44OyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsXG5idXR0b24ubWZwLWFycm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTA0NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cbiAgLm1mcC1jbG9zZTpob3ZlcixcbiAgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7IH1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjRkZGO1xuICByaWdodDogLTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubWZwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjY1O1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XG4gIC5tZnAtYXJyb3c6aG92ZXIsXG4gIC5tZnAtYXJyb3c6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1mcC1hcnJvdzpiZWZvcmUsXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgdG9wOiA4cHg7IH1cbiAgLm1mcC1hcnJvdzpiZWZvcmUge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcbiAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICB0b3A6IC00MHB4OyB9XG5cbi5tZnAtaWZyYW1lLXNjYWxlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbmltZy5tZnAtaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNDBweDtcbiAgICBib3R0b206IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cbiAgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGNvbG9yOiAjQkRCREJEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI0YzRjNGMztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAzcHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XG5cbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXG4gKlxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cbiAqL1xuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IC8qIDEgKi9cbn1cblxuXG4vKipcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXG4gKlxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxuICovXG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDYyLjUlOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLyoqXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cbiAqXG4gKiAxLiBGaXJlZm94IDI1Ky5cbiAqIDIuIENocm9tZSA1Ky5cbiAqL1xuXG5ib2R5IHtcbiAgQGluY2x1ZGUgdGV4dCgkYm9keS10ZXh0KTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiAxICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBDb250YWluZXJcbi8vIENlbnRlciBhbGlnbnMgZWxlbWVudCB3aXRoIGdpdmVuIG1heGltdW0gd2lkdGgsIHBhZGRpbmcsIGFuZCBtYXJnaW5zIHRvcFxuLy8gYW5kIGJvdHRvbS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQGV4YW1wbGVcbi8vICAgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xuICBAaWYgKHR5cGUtb2YoJHdpZHRoKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGdhcCkgPT0gbnVtYmVyKSB7XG4gICAgQGlmICgkZ2FwICE9IDApIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcbiAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xuICB9XG59XG5cblxuLy8gU2VjdGlvblxuLy8gQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkYm90dG9tIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBleGFtcGxlXG4vLyAgIEBpbmNsdWRlIHNlY3Rpb24oMTAwcHgsIDEwMHB4KTtcbkBtaXhpbiBzZWN0aW9uKCR0b3A6IDAsICRib3R0b206IDApIHtcbiAgQGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcbiAgICBwYWRkaW5nOiAkdG9wIDAgJGJvdHRvbTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xuICB9XG59XG5cblxuLy8gRm9udFxuLy8gQWRkcyBgcmVtYCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYSBmYWxsYmFja1xuLy8gYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0XG4vLyBwcm9wZXJ0eSB0byBhbnkgcnVsZS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQGV4YW1wbGVcbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gIEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIgYW5kIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4Jykge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skZm9udC1zaXplfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcbiAgfVxuICBAaWYgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0KSA9PSBudW1iZXIgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSAncHgnKSB7XG4gICAgbGluZS1oZWlnaHQ6ICgoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgKiAxZW0pO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skbGluZS1oZWlnaHR9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xuICB9XG59XG5cblxuLy8gVGV4dFxuLy8gU2hvcnRoYW5kIGZvciB0aGUgZm9udCBtaXhpbiwgcnVucyB0aGUgZm9udCBtaXhpbiBiYXNlZCBvbiBhIGNvbW1vblxuLy8gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXG4vLyBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXG4vLyBAZXhhbXBsZVxuLy8gICBAaW5jbHVkZSB0ZXh0KCdwJyk7XG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcbiAgQGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nKSB7XG4gICAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICR2YWx1ZSksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAkdmFsdWUpKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmcnO1xuICB9XG59XG5cblxuLy8gRm9udCBBd2Vzb21lXG4vLyBBZGQgRm9udCBBd2Vzb21lIGljb25zIGFzIHBzdWVkbyBlbGVtZW50cyBieSB1c2luZyB0aGVpciB1bmljb2RlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXG4vLyBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXG4vLyBAZXhhbXBsZVxuLy8gICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XG4gIEBpZiAodHlwZS1vZigkZmFtaWx5KSA9PSBzdHJpbmcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XG4gICAgY29udGVudDogdW5pY29kZSgkY29udGVudCk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XG4gIH1cbn1cblxuXG4vLyBNZWRpYVxuLy8gTWVkaWEgcXVlcmllcyBhY2NvcmRpbmcgdG8gXCJUaGUgMTAwJSBDb3JyZWN0IFdheSBUbyBEbyBDU1MgQnJlYWtwb2ludHNcIlxuLy8gKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBleGFtcGxlXG4vLyAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHt9XG5AbWl4aW4gbWVkaWEoJHNpemUpIHtcbiAgQGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAncGhvbmUnKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRnVuY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBVbmljb2RlXG4vLyBQcmVzZXJ2ZSBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBBbiB1bmljb2RlIHN0cmluZy5cbi8vIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xuLy8gc2Fzcy1saW50OmRpc2FibGUgcXVvdGVzXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyaW5nKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XG59XG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIHF1b3Rlc1xuXG5cbi8vIFJFTVxuLy8gQ29udmVydCBwaXhlbCB1bml0cyB0byBSRU0gdW5pdHMuXG4vLyBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxuLy8gQHJldHVybiB7Kn0gLSBBIGNvbnZlcnRlZCBgcmVtYCB1bml0LlxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skcGl4ZWxzfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0Lic7XG4gIH1cbiAgQHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xufVxuXG5cbi8vIENvbHVtblxuLy8gQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1uIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRvIHNwYW4uXG4vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdGhhdCBjYW4gYmUgc3Bhbm5lZC5cbi8vIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAcmV0dXJuICgkY29sdW1uICAqIDEwMCUgLyAkY29sdW1ucyk7XG59XG5cblxuLy8gQ29sb3Jcbi8vIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXG4vLyBAcGFyYW0geyRzdHJpbmd9ICRrZXkgLSBLZXkgb2YgdGhlIGNvbG9yIHRvIGdldCBmcm9tIHRoZSBtYXAuXG4vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxuLy8gQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxuQGZ1bmN0aW9uIGNvbG9yKCRrZXksICR2YWx1ZSkge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ29sb3IgbWFwLlxuJGNvbG9yczogKFxuICAnYmxhY2snOiAoXG4gICAgJzEwMCc6IGhzbGEoMCwgMCUsIDAlLCAxKVxuICApLFxuICAnd2hpdGUnOiAoXG4gICAgJzEwMCc6IGhzbGEoMCwgMCUsIDEwMCUsIDEpLFxuICApLFxuICAnYmx1ZS1saWdodCc6IChcbiAgICAnMTAwJzogaHNsYSgxOTUsIDEzJSwgODIlLCAxKSxcbiAgICAnNTAnOiBoc2xhKDE5NiwgNy40JSwgNzAuOCUsIDEpXG4gICksXG4gICdibHVlLWRhcmsnOiAoXG4gICAgJzEwMCc6IGhzbGEoMjIyLCA2MyUsIDM1JSwgMSksXG4gICksXG4gICdvcmFuZ2UnOiAoXG4gICAgJzEwMCc6IGhzbGEoMjcsIDYwJSwgNjMlLCAxKSxcbiAgKSxcbiAgJ3JlZCc6IChcbiAgICAnMTAwJzogaHNsYSg5LCA3NCUsIDUxJSwgMSksXG4gICksXG4gICdncmVlbic6IChcbiAgICAnMTAwJzogaHNsYSg2NSwgNyUsIDMzJSwgMSksXG4gICAgJzUwJzogaHNsYSgxNDAsIDIuOSUsIDU5LjYlLCAxKSxcbiAgKSxcbiAgJ2dyZWVuLWJhY2tncm91bmQnOiAoXG4gICAgJzEwMCc6IGhzbGEoNjUsIDclLCAzMiUsIDEpLFxuICApLFxuICAnYnJvd24nOiAoXG4gICAgJzEwMCc6IGhzbGEoMTMsIDMzJSwgMTElLCAxKSxcbiAgKSxcbiAgJ2Jyb3duLWJhY2tncm91bmQnOiAoXG4gICAgJzEwMCc6IGhzbGEoMTMsIDMwJSwgMTMlLCAxKSxcbiAgKSxcbiAgJ2Jvc3MtZ3JlZW4nOiAoXG4gICAgJzEwMCc6IGhzbGEoNjguOSwgMTAwJSwgMzkuOCUsIDEpLFxuICApLFxuICAnYm9zcy1ncmV5JzogKFxuICAgICcxMDAnOiBoc2xhKDEyMCwgOC4zJSwgMTQuMSUsIDEpLFxuICApLFxuICAnYm9zcy1icm93bic6IChcbiAgICAnMTAwJzogaHNsYSgyOC41LCA3My43JSwgMjYuOSUsIDEpLFxuICApLFxuICAnYm9zcy1iZWlnZSc6IChcbiAgICAnMTAwJzogaHNsYSg0MC41LCA1NS4yJSwgODYuOSUsIDEpLFxuICApLFxuICAnZmxleC15ZWxsb3cnOiAoXG5cdCAgJzEwMCc6IGhzbGEoNTcsIDEwMCUsIDUwJSwgMSlcbiAgKSxcbiAgJ2ZsZXgtY3JlbWUnOiAoXG5cdCAgJzEwMCc6IGhzbGEoMzMsIDY3JSwgOTMlLCAxKVxuICApLFxuICAndW5pdC1yZWQnOiAoXG4gICAgJzEwMCc6IGhzbGEoOSwgODUlLCA0OCUsIDEpLCAvLyAjRTUzMjEyXG4gICksXG4pO1xuXG4vLyBDb2xvciBzaG9ydGhhbmQgdmFyaWFibGVzLlxuJGNvbG9yLWJsYWNrOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMDAnKTtcbiRjb2xvci13aGl0ZTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMTAwJyk7XG4kY29sb3ItYmx1ZS1saWdodDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWxpZ2h0JyksICcxMDAnKTtcbiRjb2xvci1ibHVlLWRhcms6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmx1ZS1kYXJrJyksICcxMDAnKTtcbiRjb2xvci1vcmFuZ2U6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnb3JhbmdlJyksICcxMDAnKTtcbiRjb2xvci1yZWQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcbiRjb2xvci1ncmVlbjogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMTAwJyk7XG4kY29sb3ItZ3JlZW4tYmFja2dyb3VuZDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbi1iYWNrZ3JvdW5kJyksICcxMDAnKTtcbiRjb2xvci1icm93bjogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdicm93bicpLCAnMTAwJyk7XG4kY29sb3ItYnJvd24tYmFja2dyb3VuZDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdicm93bi1iYWNrZ3JvdW5kJyksICcxMDAnKTtcblxuLy8gQk9TUyBjb2xvcnMuXG4kYm9zcy1ncmV5OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2Jvc3MtZ3JleScpLCAnMTAwJyk7XG4kYm9zcy1iZWlnZTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdib3NzLWJlaWdlJyksICcxMDAnKTtcblxuLy8gRmxleCBjb2xvcnMuXG4kZmxleC15ZWxsb3c6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZmxleC15ZWxsb3cnKSwgJzEwMCcpO1xuJGZsZXgtY3JlbWU6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZmxleC1jcmVtZScpLCAnMTAwJyk7XG5cbi8vIFNwZWNpZmljIGNvbG9ycy5cbiRjb2xvci1wbGFjZWhvbGRlcjogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWxpZ2h0JyksICc1MCcpO1xuJGNvbG9yLWlucHV0OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICc1MCcpO1xuXG4vLyBVbml0IGNvbG9ycy5cbiR1bml0LXJlZDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd1bml0LXJlZCcpLCAnMTAwJyk7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzZXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cbiAqL1xuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cbiAqL1xuXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IC8qIDEgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuaHIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXG4gKi9cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxuICovXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xufVxuXG5cbi8qKlxuICogMS4gT25seSBhbGxvdyB2ZXJ0aWNhbCByZXNpemluZyB0byBwcmV2ZW50IHRoZSB0ZXh0YXJlYVxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxuICovXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxuICovXG5cbnRhYmxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAxICovXG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFja2dyb3VuZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqIEJhY2tncm91bmQgYmFzZS5cbiAqL1xuXG4uYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cblxuXG4vKipcbiAqIEJhY2tncm91bmQgcHJpbWFyeS5cbiAqL1xuXG4uYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGZpbGw6ICRjb2xvci13aGl0ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgfVxuXG4gIGgxLFxuICBoMiB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxuXG4gIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogJHVuaXQtcmVkO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgICBmaWxsOiAkdW5pdC1yZWQ7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkdW5pdC1yZWQ7XG4gICAgY29sb3I6ICR1bml0LXJlZDtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgICAgZmlsbDogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxufVxuXG4uYmFja2dyb3VuZC0tZ3JhZGllbnQge1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBmaWxsOiAkY29sb3Itd2hpdGU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4gIH1cblxuICBoMSxcbiAgaDIge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICR1bml0LXJlZDtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgICAgZmlsbDogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICR1bml0LXJlZDtcbiAgICAgIGZpbGw6ICR1bml0LXJlZDtcbiAgICB9XG4gIH1cbn1cblxuLmJhY2tncm91bmQtLWdyZXkge1xuXHRjb2xvcjogJGNvbG9yLWJsYWNrO1xuXHRmaWxsOiAkY29sb3ItYmxhY2s7XG4gIFxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQ6ICNlN2U2ZGQ7XG5cdH1cbiAgXG5cdGgxLFxuXHRoMiB7XG5cdCAgY29sb3I6ICRjb2xvci1ibGFjaztcblx0fVxuICBcblx0LmJ1dHRvbi0tYXJyb3cge1xuXHQgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIFxuXHQgIHN2ZyB7XG5cdFx0Y29sb3I6ICRjb2xvci1ibGFjaztcblx0XHRmaWxsOiAkY29sb3ItYmxhY2s7XG5cdCAgfVxuXHR9XG4gIFxuXHQuYnV0dG9uLS1ib3JkZXIge1xuXHQgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcblx0ICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICBcblx0ICBzdmcge1xuXHRcdGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cdFx0ZmlsbDogJGNvbG9yLWJsYWNrO1xuXHQgIH1cblx0fVxufVxuXG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkgKHdpdGggcGF0dGVybikuXG4gKi9cblxuLmJhY2tncm91bmQtLWJlaWdlIHtcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgZmlsbDogJGNvbG9yLWJsYWNrO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGJvc3MtYmVpZ2U7XG4gIH1cblxuICBoMSxcbiAgaDIge1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIH1cblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIEJhY2tncm91bmQgc2Vjb25kYXJ5LlxuICovXG5cbi5iYWNrZ3JvdW5kLS1icm93biB7XG4gIGNvbG9yOiAkYm9zcy1iZWlnZTtcbiAgZmlsbDogJGJvc3MtYmVpZ2U7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4gIH1cblxuICBoMSxcbiAgaDIge1xuICAgIGNvbG9yOiAkYm9zcy1iZWlnZTtcbiAgfVxuXG4gIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRib3NzLWJlaWdlO1xuICAgICAgZmlsbDogJGJvc3MtYmVpZ2U7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEJhY2tncm91bmQgc2Vjb25kYXJ5LlxuICovXG5cbi5iYWNrZ3JvdW5kLS1ibGFjayB7XG5cdGNvbG9yOiAkZmxleC15ZWxsb3c7XG5cdGZpbGw6ICAkZmxleC15ZWxsb3c7XG4gIFxuXHQmOjpiZWZvcmUge1xuXHQgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcblx0fVxuICBcblx0aDEsXG5cdGgyIHtcblx0ICBjb2xvcjogICRmbGV4LXllbGxvdztcblx0fVxuICBcblx0LmJ1dHRvbi0tYXJyb3cge1xuXHQgIGNvbG9yOiAgJGZsZXgteWVsbG93O1xuICBcblx0ICBzdmcge1xuXHRcdGNvbG9yOiAkZmxleC15ZWxsb3c7XG5cdFx0ZmlsbDogJGZsZXgteWVsbG93O1xuXHQgIH1cblx0fVxuICBcblx0LmJ1dHRvbi0tYm9yZGVyIHtcblx0ICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XG5cdCAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgXG5cdCAgc3ZnIHtcblx0XHRjb2xvcjphZGp1c3QtaHVlKCRjb2xvcjogIzAwMDAwMCwgJGRlZ3JlZXM6IDApICRjb2xvci1ibGFjaztcblx0XHRmaWxsOiAkY29sb3ItYmxhY2s7XG5cdCAgfVxuXHR9XG59XG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGJvcmRlci5cbiAqL1xuXG4uYmFja2dyb3VuZC0tYm9yZGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgJHVuaXQtcmVkO1xuICAgIH1cblxuICAgIGJvdHRvbTogOTVweDtcbiAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICR1bml0LXJlZDtcbiAgfVxuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgZGl2IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICBtYXJnaW4tdG9wOiAtOTVweDtcbiAgcGFkZGluZy10b3A6IDk1cHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9ucy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBCdXR0b24gYmFzZS5cbiAqL1xuXG4uYnV0dG9uIHtcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMzJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBzdmcge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgfVxufVxuXG5cbi8qKlxuICogQnV0dG9uIGJvcmRlci5cbiAqL1xuXG4uYnV0dG9uLS1ib3JkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMzVweDtcbiAgcGFkZGluZzogMCAxMHB4O1xuXG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTNweDtcbiAgICByaWdodDogLTM1cHg7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmhvdmVyOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmlzLW9yYW5nZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICR1bml0LXJlZDtcbiAgICAgIGZpbGw6ICR1bml0LXJlZDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdW5pdC1yZWQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYnJvd24ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICBmaWxsOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYmxhY2sge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICBmaWxsOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcbiAgICB9XG4gIH1cblxuICAmLmlzLWdyZWVuIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZmxleC15ZWxsb3c7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBCdXR0b24gYXJyb3cuXG4gKi9cblxuLmJ1dHRvbi0tYXJyb3cge1xuICBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG4gIH1cblxuICAmLmlzLW9yYW5nZSB7XG4gICAgY29sb3I6ICR1bml0LXJlZDtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgICAgZmlsbDogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtcmVkIHtcbiAgICBjb2xvcjogJGNvbG9yLXJlZDtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLXJlZDtcbiAgICAgIGZpbGw6ICRjb2xvci1yZWQ7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1iZWlnZSB7XG4gICAgY29sb3I6ICRib3NzLWJlaWdlO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1icm93biB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYmxhY2sge1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBHcmlkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBHcmlkIHdpZHRoLlxuLy8gTWF4aW11bSBjb250YWluZXIgd2lkdGguXG4kZ3JpZC13aWR0aDogMTAyNHB4O1xuXG4vLyBHcmlkIGNvbHVtbnMuXG4vLyBBbW91bnQgb2YgZ3JpZCBjb2x1bW5zIHRvIGNhbGN1bGF0ZSBhIGNvbHVtbiB3aWR0aCB3aXRoLlxuJGdyaWQtY29sdW1uczogMTI7XG5cbi8vIEdyaWQgY29sdW1uLlxuLy8gQ29sdW1uIHdpZHRoIGluIHBpeGVscy5cbiRncmlkLWNvbHVtbjogNjBweDtcblxuLy8gR3JpZCBnYXAuXG4vLyBTcGFjZSBiZXR3ZWVuIGdyaWQgY29sdW1ucywgYXV0b21hdGVkLlxuJGdyaWQtZ2FwOiAoJGdyaWQtd2lkdGggLSAoJGdyaWQtY29sdW1uICogJGdyaWQtY29sdW1ucykpIC8gJGdyaWQtY29sdW1ucztcblxuXG4vLyBBc3NldHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEltYWdlIHBhdGguXG4kaW1hZ2UtcGF0aDogJy4uL2ltYWdlcy8nO1xuXG5cbi8vIEJvZHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEJvZHkgYmFja2dyb3VuZCBjb2xvci5cbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblxuLy8gQm9keSBjb2xvci5cbiRib2R5LWNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbi8vIEJvZHkgZm9udCBmYW1pbHkuXG4kYm9keS1mb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XG5cbi8vIEJvZHkgdGV4dC5cbiRib2R5LXRleHQ6ICdwJztcblxuXG4vLyBPdGhlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAkY29sb3ItcmVkO1xuXG5cbi8vIFJlc3BvbnNpdmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEdyaWQgYnJlYWtwb2ludCBhbGlhcy5cbiRicmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDYwMHB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiAxMDI0cHgsXG4gIHhsOiAxMjAwcHhcbik7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29udGVudCBDb25zdHJhaW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cbiAqL1xuXG4uY29udGVudC1jb25zdHJhaW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtcmVkO1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGbGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEV4YW1wbGUgb2YgYSBmbGV4IGJhc2VkIGNvbHVtbiBncmlkIGxheW91dCBpbiBwcmFjdGljZTpcbiAqXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XG4gKiA8L2Rpdj5cbiAqXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXG4gKiBzbWFsbCBgLXNtYCBicmVha3BvaW50IGFsaWFzLCB3aGljaCBpcyBtb2JpbGUgb25seS4gUmVmZXIgdG9cbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxuICovXG5cbi8qKlxuICogRmxleCBvYmplY3QuXG4gKlxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXG4gKi9cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG5cbi8qKlxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxuICovXG5cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIC0jeygkZ3JpZC1nYXAvMil9O1xufVxuXG5cbi8qKlxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxuICovXG5cbi5ib3gge1xuICBmbGV4OiAxO1xufVxuXG5cbi8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGtleXMgaW4gdGhlIGAkYnJlYWtwb2ludHNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXG4vLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG5cbiAgLy8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGV2ZXJ5IGtleSBpbiBgJGJyZWFrcG9pbnRzYC5cbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuXG4gICAgLy8gSXRlcmF0ZSBmcm9tIDEgdGhyb3VnaCB0aGUgYW1vdW50IG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5XG4gICAgLy8gYCRncmlkLWNvbHVtbnNgIGluIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuXG4gICAgICAuY29sLSN7JGtleX0tI3skaX0ge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgd2lkdGg6IGNvbHVtbigkaSk7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcbiAgICAgIH1cblxuXG4gICAgICAvLyBPdXRwdXQgYW4gb2Zmc2V0IHV0aWxpdHkgY2xhc3MgaWYgdGhlIGl0ZXJhdG9yIGlzIGxlc3MgdGhhbiB0aGUgYW1vdW50XG4gICAgICAvLyBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieSBgJGdyaWQtY29sdW1uc2AgaW5cbiAgICAgIC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXG4gICAgICBAaWYgKCRpIDwgJGdyaWQtY29sdW1ucykge1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBPZmZzZXQgI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG5cbiAgICAgICAgLm9mZnNldC0jeyRrZXl9LSN7JGl9IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBgYWxpZ24taXRlbXNgIHByb3BlcnR5LlxuICAgIEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXG4gICAgICAgKi9cblxuICAgICAgLmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcbiAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXG4gICAgQGVhY2ggJHZhbHVlIGluIHN0YXJ0LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4sIHNwYWNlLWFyb3VuZCwgc3BhY2UtZXZlbmx5IHtcblxuICAgICAgLyoqXG4gICAgICAgKiBKdXN0aWZ5IGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxuICAgICAgICovXG5cbiAgICAgIC5qdXN0aWZ5LSN7JGtleX0tI3skdmFsdWV9IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMb29wIHRocm91Z2ggZXZlcnkgZGlyZWN0aW9uIGZyb20gbGVmdCB0byByaWdodC5cbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcblxuICAgICAgLyoqXG4gICAgICAgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxuICAgICAgICovXG5cbiAgICAgIC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuICAgICAqL1xuXG4gICAgLmZpcnN0LSN7JGtleX0ge1xuICAgICAgb3JkZXI6IC0xO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuICAgICAqL1xuXG4gICAgLmxhc3QtI3ska2V5fSB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cbiAgICAgKi9cblxuICAgIC5yZXZlcnNlLSN7JGtleX0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRpbmdzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBIZWFkaW5nIDEuXG4gKi9cblxuaDEsXG4uaGVhZGluZy0xIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoNDhweCwgNTRweCk7XG4gIH1cblxuICBAaW5jbHVkZSBmb250KDQ4cHgsIDU4cHgpO1xuICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcbn1cblxuXG4vKipcbiAqIEhlYWRpbmcgMi5cbiAqL1xuXG5oMixcbi5oZWFkaW5nLTIge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg0OHB4LCA1NHB4KTtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9udCg0OHB4LCA1NHB4KTtcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG59XG5cblxuLyoqXG4gKiBIZWFkaW5nIDMuXG4gKi9cblxuaDMsXG4uaGVhZGluZy0zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBAaW5jbHVkZSBmb250KDEwMHB4LCAxMDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg1MHB4LCA1MHB4KTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvbnQoMTUwcHgsIDE1MHB4KTtcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCAkdW5pdC1yZWQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkaW5ncy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oYXMtbG9hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhhcy1sb2FkW2xvYWRlZD0ndHJ1ZSddIHtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAxO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgd3JhcHBlciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuXG4kd2Vic2l0ZS13aWR0aDogICAxMjUwcHg7XG4kd2Vic2l0ZS1wYWRkaW5nOiA5NXB4O1xuXG5cbi8qKlxuICogV3JhcHBlciAoZGVmYXVsdClcbiAqL1xuXG4ud3JhcHBlciB7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgcGFkZGluZzogMCA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgY29udGFpbmVyKCR3ZWJzaXRlLXdpZHRoLCAkd2Vic2l0ZS1wYWRkaW5nKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDTVMgT3V0cHV0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXG4gKlxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cbiAqL1xuXG4uY21zLW91dHB1dCB7XG5cbiAgPiAqIHtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IC8qIDEgKi9cbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBjb250ZW50OiAn4oC6JztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcbiAgICB9XG4gIH1cblxuICBwID4gYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWN0IGZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jb250YWN0LWZvcm0ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIH1cblxuICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbn1cblxuLmNvbnRhY3QtZm9ybV9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbGVmdDogLThweDtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0M3B4O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICR1bml0LXJlZDtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29sdW1uLWNvbnRhY3Qge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDUwJTtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jayB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAxNzBweDtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC10aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIGJvdHRvbTogMzclO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTVweDtcbiAgYm90dG9tOiAzNSU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICR1bml0LXJlZDtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICBwYWRkaW5nLXRvcDogMDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU4NXB4O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWxvZ28ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICBtYXgtd2lkdGg6IDI5MHB4O1xuICBtYXJnaW4tdG9wOiA1NXB4O1xufVxuXG4uY29udGFjdC1mb3JtX19jb2x1bW4tZm9ybSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNTAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERvd25sb2Fkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRvd25sb2FkcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uZG93bmxvYWRzX19pdGVtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTY0cHg7XG59XG5cbi5kb3dubG9hZHNfX2l0ZW0tZGF0ZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBsZWZ0OiAtN3B4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggJHVuaXQtcmVkO1xufVxuXG4uZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNjElO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xufVxuXG4uZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTc1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDExNXB4O1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4uZG93bmxvYWRzX19pdGVtLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgbWFyZ2luOiAzNXB4IDA7XG59XG5cbi5kb3dubG9hZHNfX2l0ZW0tZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLmRvd25sb2Fkc19faXRlbS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuLmRvd25sb2Fkc19fY29sdW1uLWxpbmtzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cblxuICB3aWR0aDogMzklO1xufVxuXG4uZG93bmxvYWRzX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG59XG5cbi5kb3dubG9hZHNfX2VkaXRvciBhIHtcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR1bml0LXJlZDtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlciBjb2x1bW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9vdGVyLWNvbHVtbnMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCgxOHB4LCAzNnB4KTtcbiAgfVxuXG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XG4gIH1cblxuICBhIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR1bml0LXJlZDtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTM1cHg7XG5cbiAgaW1nIHtcblx0ICBtYXgtd2lkdGg6IDMwMHB4O1xuXHQgIG1heC1oZWlnaHQ6IDkwcHg7XG5cdCAgaGVpZ2h0OiAxMDAlO1xuXHQgIHdpZHRoOiAxMDAlO1xuXHQgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cbn1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWVkaXRvciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgbWFyZ2luLXRvcDogNzVweDtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDQ1JTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtdGl0bGUsXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDE1JTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtbGlua3Mge1xuICBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICAgIHBhdGgge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHVuaXQtcmVkO1xuXG4gICAgICBzdmcge1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAkdW5pdC1yZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgQ1RBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9vdGVyLWN0YSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG5cbiAgJi5pcy1ob21lcGFnZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgICY6OmJlZm9yZSB7XG4gICBcdGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgIH1cbn1cblxuLmJhY2tncm91bmQtLWJvcmRlciArIC5mb290ZXItY3RhIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICB9XG5cbiAgcGFkZGluZy10b3A6IDE3NXB4O1xufVxuXG4uZm9vdGVyLWN0YSArIGRpdiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgbWFyZ2luLXRvcDogLTk1cHg7XG59XG5cbi5mb290ZXItY3RhX19ib2R5IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHRvcDogMTIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG4gICAgdG9wOiA0MHB4O1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIHBhZGRpbmc6IDYwcHggNDBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNjBweDtcbiAgcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogNTc1cHg7XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xuICBwYWRkaW5nOiA2MHB4IDU1cHg7XG4gIGJhY2tncm91bmQ6ICR1bml0LXJlZDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLmZvb3Rlci1jdGFfX2xpbmsge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uZm9vdGVyLWN0YV9faW1hZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgaGVpZ2h0OiA1MDBweCFpbXBvcnRhbnQ7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWluLWhlaWdodDogNTcwcHg7XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXIge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gIH1cblxuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR1bml0LXJlZDtcbn1cblxuLmZvb3Rlcl9fbGlua3Mge1xuICBhIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBAaW5jbHVkZSBmb250KDE0cHgsIDEycHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvbnQoMTJweCwgMTJweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZmxleC15ZWxsb3c7XG4gICAgICAgIGNvbG9yOiAkZmxleC15ZWxsb3c7XG4gICAgICB9XG4gICAgfVxuICB9ICBcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9ybSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgfVxuXG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xufVxuXG4uZm9ybV9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbGVmdDogLThweDtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA2NSU7XG59XG5cbi5mb3JtX19jb2x1bW4taW1hZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB3aWR0aDogMzUlO1xufVxuXG4uZm9ybV9faW1hZ2Uge1xuICB3aWR0aDogNjY3cHg7XG4gIGhlaWdodDogNjAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDQzNXB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlYWRlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBoZWlnaHQ6IDEyNXB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMTBweDtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICB9XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjEwcHg7XG4gIH1cbn1cblxuLmhlYWRlciArIGRpdiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTI1cHg7XG4gIH1cblxuICBwYWRkaW5nLXRvcDogMjEwcHg7XG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ0cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlO1xuICB9XG5cbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDY0MHB4KTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgei1pbmRleDogMjtcblxuICBpbWcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICB3aWR0aDogMjEycHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgfVxufVxuXG5ib2R5LmlzLWFjdGl2ZSAuaGVhZGVyX19sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxufVxuXG4uaGVhZGVyX19idXR0b25zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB3aWR0aDogNjA2cHg7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5qcy1vcGVuLWxvY2F0aW9uczIsLmpzLW9wZW4tbG9jYXRpb25zIHtcbiAgJi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuICBjb2xvcjogJHVuaXQtcmVkO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6ICR1bml0LXJlZDtcbiAgICBmaWxsOiAkdW5pdC1yZWQ7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHVuaXQtcmVkO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxuXG4gICYuaXMtc2VhcmNoIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuXG4vKipcbiAqIE1vYmlsZSBtZW51IGJ1dHRvbi5cbiAqL1xuXG4kdHJhbnNpdGlvbi10aW1pbmc6IDQwMG1zO1xuXG4uaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgei1pbmRleDogMTAwO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIG9wYWNpdHkgMG1zICR0cmFuc2l0aW9uLXRpbWluZztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBzcGFuIHtcbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCB0b3AgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJvdHRvbTogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIEhlYWRlciBzZWNvbmRhcnkgY29sb3JzLlxuICovXG5cbi5oZWFkZXItLXNlY29uZGFyeSB7XG4gIC5oZWFkZXJfX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICR1bml0LXJlZDtcbiAgICAgIGZpbGw6ICR1bml0LXJlZDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdW5pdC1yZWQ7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW4ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1yZWQ7XG5cbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXIuaGVhZGVyLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlcl9fbG9jYXRpb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxMjBweDtcbiAgbGVmdDogMDtcbiAgLy8gcGFkZGluZzogMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgXG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgLndyYXBwZXIgLmpzLWxvY2F0aW9ucyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtcmVkO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uaGVhZGVyX19sb2NhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDI4MnB4O1xuICBoZWlnaHQ6IDE3MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLmhlYWRlcl9fbG9jYXRpb24taW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB6LWluZGV4OiAxO1xufVxuXG4uaGVhZGVyX19sb2NhdGlvbi1zdGF0dXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxNy41cHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uaGVhZGVyX19sb2NhdGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tQmVpZ2UtMTAwLCAjRkZGKTtcbiAgdGV4dC1zaGFkb3c6IDRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTA1JTsgLyogMzMuNnB4ICovXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmhlYWRlcl9fbG9jYXRpb24tc3VidGl0bGUge1xuICBjb2xvcjogdmFyKC0tQmVpZ2UtMTAwLCAjRkZGKTtcbiAgdGV4dC1zaGFkb3c6IDRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTA1JTsgLyogMTYuOHB4ICovXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSG9tZSBETkEgZm9ybS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRGVmYXVsdCBzdHlsaW5nLlxuICovXG5cbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J251bWJlciddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA3cHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiAxMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcbn1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuXG4vKipcbiAqIEhvbWVETkEgZm9ybS5cbiAqL1xuXG4uaG9tZWRuYS1zdXJ2ZXkge1xuICBtYXgtd2lkdGg6IDU3NXB4O1xufVxuXG4uaG9tZWRuYS1zdXJ2ZXkgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLTIzcHg7XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ21lZGl1bScpO1xufVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtc3RhdGljLFxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ob21lZG5hLXN1cnZleSAud3JhcC1xdWVzdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICBhIHtcbiAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ob21lZG5hLXN1cnZleSAucXVlc3Rpb24tdHlwZS1yYWRpbyBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb10sXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRyYW5zaXRpb246IDAuMzVzO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGUge1xuICBAaW5jbHVkZSBmb250KDE2cHgsIDE2cHgpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogNTBweCAzNXB4IDAgMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuICBjb2xvcjogJHVuaXQtcmVkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgcmlnaHQ6IC0zN3B4O1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgZmlsbDogJHVuaXQtcmVkO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICR1bml0LXJlZDtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8taWRzXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpZC1uYW1lLWZvcm1hdFxuI2Zvcm1QYWdlTmF2IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuI2Zvcm1QYWdlTmF2ID4gLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbiNmb3JtUGFnZU5hdiA+IHNwYW5bZGF0YS1wYWdlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAzMHB4O1xuICBwYWRkaW5nOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNDUwbXMsIGNvbG9yIDQ1MG1zO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOmhvdmVyLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuLnF1ZXN0aW9uLXR5cGUtcmFkaW8ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbi8vIHNhc3MtbGludDplbmFibGUgbm8taWRzXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGlkLW5hbWUtZm9ybWF0XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTG9jYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sb2NhdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG5cbi5sb2NhdGlvbl9fY29sdW1uLXRleHQge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIG1hcmdpbjogNzBweCA0MHB4IDgwcHg7XG4gICAgcGFkZGluZzogMzVweCAwIDA7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMCU7XG4gIHBhZGRpbmc6IDkwcHggMzVweCAwIDA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbi5sb2NhdGlvbl9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyBcbn1cblxuLmxvY2F0aW9uX19jb2x1bW4tbWFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA3MCU7XG59XG5cbi5sb2NhdGlvbl9fbWFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxuXG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB3aWR0aDogNjYuNnZ3O1xuICBtaW4taGVpZ2h0OiA2MDBweDtcbn1cblxuLmxvY2F0aW9uX19tYXAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2JpbGUgc2Nyb2xsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9iaWxlLXNjcm9sbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBmb250KDE4cHgsIDIzcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDE3MHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBmaWxsOiAkY29sb3ItYmxhY2s7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOYXZpZ2F0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB0b3A6IDEwMHZoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxMjVweDtcbiAgICBwYWRkaW5nOiAxMnB4IDAgNDBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLyoqXG4gKiBDb250YWN0LlxuICovXG5cbi5uYXZpZ2F0aW9uX19jb2x1bW4tY29udGFjdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcblxuICBhIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgICAgfVxuXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xufVxuXG4ubmF2aWdhdGlvbl9fY29udGFjdC1lZGl0b3Ige1xuICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xufVxuXG5cbi8qKlxuICogU29jaWFsLlxuICovXG5cbi5uYXZpZ2F0aW9uX19zb2NpYWwge1xuICAmLmlzLWRlc2t0b3Age1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5pcy1tb2JpbGUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuXHRcbiAgICBkaXNwbGF5OiBub25lO1xuXG5cdC5uYXZpZ2F0aW9uX19zb2NpYWwtdGl0bGUsIC5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3MgYSB7XG5cdFx0Y29sb3I6ICRmbGV4LWNyZW1lO1xuXHR9XG4gIH1cbn1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC10aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAaW5jbHVkZSBmb250KDIwcHgsIDM2cHgpO1xuICAgIG1hcmdpbjogMTM1cHggMCAyMXB4O1xuICB9XG5cbiAgbWFyZ2luOiA3MHB4IDAgMjZweDtcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG59XG5cbi5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3Mge1xuICBhIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBAaW5jbHVkZSBmb250KDIwcHgsIDM2cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBNYWluIG1lbnUuXG4gKi9cblxuLm5hdmlnYXRpb25fX2NvbHVtbi1tZW51IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHdpZHRoOiA2MCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiA5MHB4IDAgMCA5NXB4O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICB9XG59XG5cbi5tYWluLW1lbnUge1xuICA+IGxpIHtcbiAgICA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBAaW5jbHVkZSBmb250KDMwcHgsIDQ4cHgpO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmb250KDQ4cHgsIDc2cHgpO1xuICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG4gICAgICBjb2xvcjogJGZsZXgtY3JlbWU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbiAgICAmOmhvdmVyID4gYSxcbiAgICAmLmlzLW9wZW4gPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQmFja2dyb3VuZCBoZWFkZXIuXG4gKi9cblxuLmhlYWRlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiAkdW5pdC1yZWQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNhYmxlIHNjcm9sbC5cbiAqL1xuXG5ib2R5LmlzLWFjdGl2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmhlYWRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBTdWJtZW51LlxuICovXG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwIDAgMCAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZTtcblxuICBzdmcge1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZTtcbiAgfVxuXG4gIHBhdGgge1xuICAgIHN0cm9rZTogJGZsZXgtY3JlbWU7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlIDI1MG1zIGVhc2U7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBzdHJva2U6ICRjb2xvci1ibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLmhhcy1zdWJtZW51IHtcbiAgJi5pcy1vcGVuID4gYSAuc3VibWVudS10b2dnbGUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuLnN1Ym1lbnUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gc2hvd24gdmlhIEpTIHNsaWRlRG93blxufVxuXG4uc3VibWVudSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nOiA0cHggMCAxMnB4IDA7XG4gIH1cblxuICBwYWRkaW5nOiA0cHggMCAxNnB4IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBAaW5jbHVkZSBmb250KDIwcHgsIDM2cHgpO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmb250KDIycHgsIDM4cHgpO1xuICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG4gICAgICBjb2xvcjogJGZsZXgtY3JlbWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcyBlYXNlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5jdXJyZW50LW1lbnUtaXRlbSBhLFxuICAgICY6aG92ZXIgYSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5ld3MgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5ld3MtbGlzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogSXRlbXMuXG4gKi9cblxuLm5ld3MtbGlzdF9faXRlbXMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogY2FsYygxMDAlIC0gNDc5cHgpO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xufVxuXG5cbi8qKlxuICogSXRlbS5cbiAqL1xuXG4ubmV3cy1saXN0X19pdGVtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTY0cHg7XG59XG5cbi5uZXdzLWxpc3RfX2l0ZW0tZGF0ZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBsZWZ0OiAtN3B4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggJHVuaXQtcmVkO1xufVxuXG4ubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTc1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDExNXB4O1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4ubmV3cy1saXN0X19pdGVtLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgbWFyZ2luOiAzNXB4IDA7XG59XG5cbi5uZXdzLWxpc3RfX2l0ZW0tZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuLm5ld3MtbGlzdF9faXRlbS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuXG4vKipcbiAqIFBhZ2luYXRpb24uXG4gKi9cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICB9XG5cbiAgd2lkdGg6IDQ3OXB4O1xuXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgLnBhZ2UtbnVtYmVycyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIH1cblxuICAgIC5wcmV2LFxuICAgIC5uZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQsXG4gICAgLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xuICAgIH1cblxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBhLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xuICAgIH1cbiAgICAvLyBzYXNzLWxpbnQ6ZW5hYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgfVxufVxuXG4ubmV3cy1saXN0X19zdGlja3kge1xuICAmLmlzLWFjdGl2ZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDgwcHg7XG4gICAgfVxuICB9XG59XG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLWxpbmsge1xuICBAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHVuaXQtcmVkO1xuICB9XG59XG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tZGF0ZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gIHdpZHRoOiAxNDVweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYXJ0bmVycyBpbWFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhcnRuZXJzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDkxcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuXHQgIFxuICB9XG59XG5cbi8vIC5wYXJ0bmVycy1pbWFnZSArIGRpdjo6YmVmb3JlIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuLy8gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICB0b3A6IC02MXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHRvcDogLTMxcHg7XG4gICAgbGVmdDogLThweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTJweDtcbiAgbGVmdDogLTE1cHg7XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLXBhcnRuZXJzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA2NSU7XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAyMjBweDtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbGVmdDogLThweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE1cHg7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCAkY29sb3ItYmxhY2s7XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDE1MnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIH1cblxuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLXRvcDogMjM1cHg7XG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU4NXB4O1xuXG4gIGJsb2NrcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ3JlZ3VsYXInKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDM1JTtcbn1cblxuLnBhcnRuZXJzLWltYWdlX19pbWFnZSB7XG4gIHdpZHRoOiA2NjdweDtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogNDM1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgbWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvcGVydHktbWFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1wcmltYXJ5LFxuICAmLmJhY2tncm91bmQtLXByaW1hcnktcGF0dGVybixcbiAgJi5iYWNrZ3JvdW5kLS1zZWNvbmRhcnksXG4gICYuYmFja2dyb3VuZC0tc2Vjb25kYXJ5LXBhdHRlcm4ge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gICAgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAucHJvcGVydHktbWFwIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogMjE1cHg7XG4gIH1cblxuICArIC5mb290ZXItY3RhIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogMTgwcHg7XG4gIH1cblxuICAud3JhcHBlciB7XG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzIHtcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0fVxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZy10b3A6IDk1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLnByb3BlcnR5LW1hcF9fY29sdW1uLW1hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA3MCU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ucHJvcGVydHktbWFwX19wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5NXB4O1xuICBtYXgtd2lkdGg6IDIxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMTtcblxuICAmLmlzLWhpZGRlbiB7XG4gICAgdG9wOiAtMTgwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucHJvcGVydHktbWFwX19wcm9wZXJ0aWVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJi5pcy1hY3RpdmUge1xuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR6LWluZGV4OiA5OTtcblx0fVxuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnByb3BlcnR5LW1hcF9fc2Nyb2xsZG93bi1hcnJvdyB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAxMzVweDtcblx0bGVmdDogODdweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuXHRcdGxlZnQ6IDU3cHg7XG5cdH1cblxuXHRzdmcge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRhbmltYXRpb246IGp1bXAgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICR1bml0LXJlZDtcbiAgICB9XG5cdH1cbn1cblxuQGtleWZyYW1lcyBqdW1wIHtcblx0MCUge1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdDUwJSB7XG5cdFx0Ym90dG9tOiAxNXB4O1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0Ym90dG9tOiAwO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHNpbmdsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb3BlcnR5LXNpbmdsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gIH1cbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHRvcDogLTYxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg2MHB4LCA3MnB4KTtcbiAgICB0b3A6IC00MnB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tZGV0YWlscyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiAyOTBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgIFxufVxuXG4ucHJvcGVydHktc2luZ2xlX19zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XG59XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX2luZm9ybWF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLW1hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjkwcHgpO1xufVxuXG4ucHJvcGVydHktc2luZ2xlX19zbGlkZXNob3ctaW1hZ2VzIHtcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuO1xufVxuXG4ucHJvcGVydHktc2luZ2xlX19uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtMzhweDtcblxuICBidXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxOHB4O1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgdHlwZSBpdGVtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvcGVydHktdHlwZS1pdGVtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cblxuICB3aWR0aDogY2FsYyg1MCUgLSA0Ny41cHgpO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xuICB9XG5cbiAgLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICB0b3A6IDVweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fYXZhaWxhYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IDMwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1yZWQ7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7IFxufVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX19pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qKlxuICogQ29sb3JzLlxuICovXG5cbi5wcm9wZXJ0eS10eXBlLWxpc3Qge1xuICAmLmJhY2tncm91bmQtLWJyb3duIHtcbiAgICAucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHVuaXQtcmVkO1xuICAgICAgY29sb3I6ICR1bml0LXJlZDtcbiAgICB9XG4gIH1cblxuICAmLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICAgIC5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkdW5pdC1yZWQ7XG4gICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHR5cGUgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb3BlcnR5LXR5cGUtbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7XG4gIH1cbn1cblxuLnByb3BlcnR5LXR5cGUtbGlzdF9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHRvcDogLTYxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg1MHB4LCA3MnB4KTtcbiAgICB0b3A6IC00MnB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNsaWRlc2hvdyB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG5cdFx0bWluLWhlaWdodDogNjAwcHg7XG5cdH1cblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcblx0XHRtaW4taGVpZ2h0OiA1MDBweDtcblx0fVxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgIG1heC1oZWlnaHQ6IDc0MHB4O1xuICBtaW4taGVpZ2h0OiA1MDBweDtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlciArIC5zbGlkZXNob3cge1xuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcbiAgICBcdGZsZXgtd3JhcDogd3JhcDtcbiAgICBcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcblx0XHQvLyBtYXJnaW4tdG9wOiAxMjVweDtcblx0fVxuXHQvLyBtYXJnaW4tdG9wOiAyMTBweDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi5zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMCAwO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBwYWRkaW5nOiA5MHB4IDM1cHggMCAwO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4uc2xpZGVzaG93X190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IFxuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xufVxuXG4uc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNTYlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbGlkZXNob3dfX2ltYWdlcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcblx0bWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogYXV0bztcblxuICAub3dsLW5hdiB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIC5vd2wtcHJldiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5vd2wtbmV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGZpbGw6ICR1bml0LXJlZDtcbiAgICB9XG4gIH1cblxuICAub3dsLWRvdHMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICByaWdodDogNDBweDtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogLTI4cHg7XG4gICAgei1pbmRleDogMjtcblxuICAgIC5vd2wtZG90IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNHB4O1xuICAgICAgfVxuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR1bml0LXJlZDtcbiAgICB9XG5cbiAgICBib3JkZXI6IDJweCBzb2xpZCAkdW5pdC1yZWQ7XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtcmVkO1xuICAgICAgfVxuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgfVxuICB9XG5cbiAgJi5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkdW5pdC1yZWQ7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bml0LXJlZDtcbiAgICAgIH1cblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpZGVzaG93X19zbGlkZSB7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIC8vIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG4gICAgLy8gbWluLWhlaWdodDogYXV0bztcblx0Ly8gd2lkdGg6IDEwMCU7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcblxuICBpbWcge1xuXHRhc3BlY3QtcmF0aW86IDE2LzEwO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBpbWFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRleHQtaW1hZ2Uge1xuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XG4gIH1cblxuICAmLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICAgIC5idXR0b24tLWJvcmRlciB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBmaWxsOiAkY29sb3ItYmxhY2s7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC1pbWFnZV9fZWRpdG9yIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgLnRleHQtaW1hZ2VfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi0tYXJyb3cge1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHdpZHRoOiA1NCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xufVxuXG4udGV4dC1pbWFnZV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGV4dC1pbWFnZV9fZWRpdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA0NiU7XG5cbiAgI3BsYXkge1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNTBweCk7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGNvbG9yOiAkZmxleC15ZWxsb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2xpZGVzaG93XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2xpZGVzaG93LXRleHQge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlciArIC5zbGlkZXNob3ctdGV4dCB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuICAgIFx0ZmxleC13cmFwOiB3cmFwO1xuICAgIFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXHRcdC8vIG1hcmdpbi10b3A6IDEyNXB4O1xuXHR9XG5cdC8vIG1hcmdpbi10b3A6IDIxMHB4O1xuXHRwYWRkaW5nLXRvcDogMDtcbn1cblxuLnNsaWRlc2hvdy10ZXh0X19jb2x1bW4tdGV4dCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDAgMDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLnNsaWRlc2hvdy10ZXh0X19pbm5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNsaWRlc2hvdy10ZXh0X190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IFxuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xufVxuXG4uc2xpZGVzaG93LXRleHRfX2NvbHVtbi1pbWFnZXMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiA2MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNsaWRlc2hvdy10ZXh0X19pbWFnZS1zbGlkZXMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cdG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgLm93bC1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICAub3dsLXByZXYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAub3dsLW5leHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBmaWxsOiAkdW5pdC1yZWQ7XG4gICAgfVxuICB9XG5cbiAgLm93bC1kb3RzIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICBib3R0b206IC0zNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAub3dsLWRvdCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTRweDtcbiAgICAgIH1cblxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLnBhZ2luYXRpb24tcmVkIC5vd2wtZG90IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkdW5pdC1yZWQ7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bml0LXJlZDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuaXQtcmVkO1xuICAgIH1cbiAgfVxuXG4gICYucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHVuaXQtcmVkO1xuICAgIH1cblxuICAgIGJvcmRlcjogMnB4IHNvbGlkICR1bml0LXJlZDtcblxuICAgICYuYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5pdC1yZWQ7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bml0LXJlZDtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWRlc2hvdy10ZXh0X19zbGlkZSB7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIC8vIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG4gICAgLy8gbWluLWhlaWdodDogYXV0bztcblx0Ly8gd2lkdGg6IDEwMCU7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcblxuICBpbWcge1xuXHRhc3BlY3QtcmF0aW86IDE2LzEwO1xuICB9XG59XG5cbi5zbGlkZXNob3ctdGV4dF9fbnVtYmVycyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IC0yNHB4O1xuICB9XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjBweDtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDEzMHB4O1xufVxuXG4uc2xpZGVzaG93LXRleHRfX251bWJlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwIDAgNHB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNTBtcyBlYXNlO1xuXG4gICY6aG92ZXIsXG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRleHQtc2xpZGVzaG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDUxcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gIH1cblxuICAmLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICAgIC5vd2wtbmF2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgICAgICBmaWxsOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLWRvdCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7ICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCxcbiAgJi5iYWNrZ3JvdW5kLS1icm93bixcbiAgJi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gICAgLm93bC1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJHVuaXQtcmVkO1xuICAgICAgICBmaWxsOiAkdW5pdC1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm93bC1kb3Qge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrO1xuXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6aG92ZXIgeyAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRleHQtc2xpZGVzaG93X193cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgdG9wOiAtNjFweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB0b3A6IC0zMnB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuXG4udGV4dC1zbGlkZXNob3dfX3RpdGxlICsgZGl2IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG5cbiAgcGFkZGluZy10b3A6IDQwcHg7XG59XG5cbi50ZXh0LXNsaWRlc2hvd19fYmxvY2stdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuXG5cbi8qKlxuICogU2xpZGVzaG93LlxuICovXG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cge1xuXG4gIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgd2lkdGg6IDE3OTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICAgIHdpZHRoOiAxMjA1cHg7XG4gICAgfVxuICB9XG5cbiAgLm93bC1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTI1cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm93bC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5vd2wtZG90cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLm93bC1kb3Qge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBTbGlkZXMuXG4gKi9cblxuLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgd2lkdGg6IDM3NXB4O1xuICAgIGhlaWdodDogMzYwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTc1cHg7XG4gIGhlaWdodDogNTYwcHg7XG59XG5cblxuLyoqXG4gKiBTbGlkZXNob3cgcG9zaXRpb24uXG4gKi9cblxuLnRleHQtc2xpZGVzaG93X19ibG9jayB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBhbGlnbi1pdGVtczogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICB9XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCB7XG4gICAgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICAgIH1cblxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3NXB4KTtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDUwcHggMCAxMDBweDtcbiAgICB9XG5cbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgICAgIHdpZHRoOiAzNzVweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgd2lkdGg6IDU3NXB4O1xuICAgIH1cbiAgfVxuXG4gICYudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgICAgfVxuXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTc1cHgpO1xuICAgICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMTAwcHggMCA1MHB4O1xuICAgIH1cblxuICAgIC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB3aWR0aDogNTc1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtbmF2IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLWRvdHMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIHJpZ2h0OiAtMjhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucG9wdXAge1xuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0d2lkdGg6IDMyMHB4O1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0fVxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG5cdC8vIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3BvcHVwX2JnLnN2ZycpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiA1NDlweDtcblx0aGVpZ2h0OiAzNzBweDtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHotaW5kZXg6IDEwMDtcblx0cGFkZGluZzogNjVweCA1MHB4O1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDIwcHg7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDVweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG5cdH1cbn1cblxuLnBvcHVwX19jbG9zZSB7XG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcblx0XHR3aWR0aDogMjBweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMHB4O1xuXHR9XG5cdHdpZHRoOiAyNXB4O1xuXHRoZWlnaHQ6IDI1cHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDMwcHg7XG5cdHRvcDogNjBweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cblx0c3ZnIHtcblx0XHRwYXRoIHtcblx0XHRcdGZpbGw6ICRjb2xvci13aGl0ZTtcblx0XHR9XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cbn1cblxuLnBvcHVwX19saW5rIHtcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblx0bWFyZ2luLXRvcDogMzBweDtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHRzdmcge1xuXHRcdGZpbGw6ICRjb2xvci13aGl0ZTtcblx0fVxufVxuXG4ucG9wdXBfX2JnIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDAlLCAwLjM1KTtcblx0ei1pbmRleDogOTk7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0fVxufVxuXG4ucG9wdXBfX2VkaXRvciB7XG5cdGNvbG9yOiAkdW5pdC1yZWQ7XG5cdGgyIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTIwJTtcblx0XHR9XG5cdFx0Y29sb3I6ICR1bml0LXJlZDtcblx0fVxufVxuXG4ucG9wdXAtZ3JhZGllbnQge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAyNXB4O1xuXHR3aWR0aDogMjBweDtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZTUzMzJhIDElLCByZ2JhKDIyOSwgNTIsIDQxLCAuOTkpIDI3JSwgcmdiYSgyMzAsIDU4LCAzOCwgLjk1KSA0MCUsIHJnYmEoMjMxLCA2OCwgMzQsIC44OSkgNTAlLCByZ2JhKDIzMywgODIsIDI3LCAuODEpIDU5JSwgcmdiYSgyMzUsIDEwMCwgMTksIC43KSA2NyUsIHJnYmEoMjM4LCAxMjIsIDksIC41NikgNzQlLCByZ2JhKDI0MiwgMTQ1LCAwLCAuNDMpIDc5JSwgcmdiYSgyNTUsIDIzNiwgMCwgMCkgMTAwJSk7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLnBvcHVwLWdyYWRpZW50LTIge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogMjVweDtcblx0d2lkdGg6IDIwcHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsICNlNTMzMmEgMSUsIHJnYmEoMjI5LCA1MiwgNDEsIC45OSkgMjclLCByZ2JhKDIzMCwgNTgsIDM4LCAuOTUpIDQwJSwgcmdiYSgyMzEsIDY4LCAzNCwgLjg5KSA1MCUsIHJnYmEoMjMzLCA4MiwgMjcsIC44MSkgNTklLCByZ2JhKDIzNSwgMTAwLCAxOSwgLjcpIDY3JSwgcmdiYSgyMzgsIDEyMiwgOSwgLjU2KSA3NCUsIHJnYmEoMjQyLCAxNDUsIDAsIC40MykgNzklLCByZ2JhKDI1NSwgMjM2LCAwLCAwKSAxMDAlKTtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHg7XG5cdG9wYWNpdHk6IDAuNTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29sb3IgdXRpbGl0eSBjbGFzc2VzLlxuICovXG5cbi8vIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvblxuLy8gZXZlcnkgY29sb3IgZGVmaW5pdGlvbiBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxuLy9cbi8vIExvb3AgdGhyb3VnaCBldmVyeSBgJGtleWAgYW5kIGAkbWFwYCBpbiB0aGUgYCRjb2xvcnNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXG4vLyBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcblxuICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYCRzaGFkZWAgYW5kIGAkcmdiYCBpbiBgJG1hcGAuXG4gIEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBgY29sb3JgIGFuZCBgYmFja2dyb3VuZC1jb2xvcmAgcnVsZXMuXG4gICAgQGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xuXG4gICAgICAvKipcbiAgICAgICAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuXG4gICAgICAuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xuICAgICAgICAjeyRydWxlfTogJHJnYjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEdlbmVyaWMgaGVscGVyIGNsYXNzZXMuXG4gKi9cblxuXG4vLyBWaXN1YWxseSBIaWRkZW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxuICovXG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDFweCk7XG59XG5cblxuLy8gTGF6eWxvYWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXG4gKi9cblxuLmxhenlsb2FkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy8gT2JqZWN0IEZpdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XG4gKiB0aGF0IHV0aWxpemVzIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXG4gKi9cblxuLm9iamVjdC1maXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuXG4vLyBBbGlnbm1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFsaWduIGNlbnRlci5cbiAqL1xuXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEFsaWduIGxlZnQuXG4gKi9cblxuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKipcbiAqIEFsaWduIHJpZ2h0LlxuICovXG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vLyBXaWR0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIDYwJSB3aWR0aFxuLnc2MCB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbi8vIDQwJSB3aWR0aFxuLnc0MCB7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi8vIDUwJSB3aWR0aFxuLnc1MCB7XG4gIHdpZHRoOiA1MCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0IEZpdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBPYmplY3QgZml0LlxuICpcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXG4gKi9cblxuLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IHZhbHVlIGZvciB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcblxuICAvKipcbiAgICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxuICAgKi9cblxuICAuI3skdmFsdWV9IHtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JHZhbHVlfTsnOyAvKiAxICovXG4gICAgb2JqZWN0LWZpdDogI3skdmFsdWV9O1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zaXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cbiAqL1xuXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xuICAuI3skdmFsdWV9IHtcbiAgICBwb3NpdGlvbjogJHZhbHVlO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LWZhbWlseSB7XG4gICAgICAudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xuICAgICAgLnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQsIGNlbnRlciB7XG4gICAgICAudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxuICpcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cbiAqL1xuXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xuICBAaW5jbHVkZSBtZWRpYSgka2V5KSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAgICRpOiAkaSAqIDEwMDsgLy8gWzFdXG5cbiAgICAgIC50ZXh0LSN7JGtleX0tI3skaX0ge1xuICAgICAgICBmb250LXdlaWdodDogI3skaX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICR0cmFuc2Zvcm0gaW4gY2FwaXRhbGl6ZSwgdXBwZXJjYXNlLCBsb3dlcmNhc2UsIG5vbmUsIGZ1bGwtd2lkdGgge1xuICAgICAgLnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmVydGljYWwgUmh5dGhtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDEwIHtcbiAgJGk6ICRpICogODtcblxuICAudnItI3skaX0ge1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBaLWluZGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIHN0YWNraW5nIG9yZGVyIGluIEhUTUwuXG4gKi9cblxuQGVhY2ggJGtleSwgJHZhbHVlIGluICR6LWluZGV4IHtcbiAgLnotaW5kZXgtI3ska2V5fSB7XG4gICAgei1pbmRleDogJHZhbHVlO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gWi1pbmRleFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQSBsaW1pdGVkIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSB0byBwcmV2ZW50XG4vLyBleGFnZ2VyYXRlZCBhbW91bnRzIGFuZCB1Z2x5IGhhY2tzLlxuXG4kei1pbmRleDogKFxuICAnMCc6ICAwLFxuICAnMSc6ICAxMCxcbiAgJzInOiAgMjAsXG4gICczJzogIDMwLFxuICAnNCc6ICA0MCxcbiAgJzUnOiAgNTAsXG4gICc2JzogIDYwLFxuICAnNyc6ICA3MCxcbiAgJzgnOiAgODAsXG4gICc5JzogIDkwLFxuICAnMTAnOiAxMDBcbik7XG4iLCIuaWZyYW1lIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHdpZHRoOiA1NjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaWZyYW1lIGltZyB7XG4gIG1heC13aWR0aDoxMDAlO1xuICBoZWlnaHQ6YXV0bztcbn1cblxuLmlmcmFtZSBpZnJhbWUge1xuICBkaXNwbGF5Om5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnBsYXktYnRuIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHotaW5kZXg6MztcbiAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xuICBsZWZ0OjUwJTtcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgYm9yZGVyOjA7XG59XG5cbi5wbGF5LWJ0bjpob3ZlciB7XG4gIGN1cnNvcjpwb2ludGVyO1xufVxuXG4ucGxheS1idG46Zm9jdXMge1xuICBvdXRsaW5lOjA7XG59XG4iXX0= */
