@charset "UTF-8";
/* Our Mixins, no Dependancies */
/**
* String Replace
*/
/**
* Font Face: https://gist.github.com/jonathantneal/d0460e5c2d5d7f9bc5e6
*/
/**
* pseudo Element Helper
*/
/**
* Resets Component fontsize, color.
*/
/**
* Single Line truncation
*/
/**
* Produces a group of color classes at various tints, given a hex code
*/
/**
* Generate classes [breakpoint]-[property]-[value]. See Helper Classes for usage
* e.g. .small-pt-2rem
*/
/**
* Computes a CSS calc function that betweens a value from
* A to B over viewport-width A to viewport-width B.
* Requires a media query to cap the value at B.
*/
/**
* Generates multiline ellipsed text
*/
/**
* Removes mouse focus ring on elements
*/
/**
* Removes mouse focus ring on elements
*/
/**
* Truncateble text
*/
/**
* Container inset — extra horizontal padding on top of the page gutter, for blocks whose
* content is meant to sit narrower than the standard container. Desktop only; below
* `large` the page gutter is already tight and the block is stacked.
*
* Insets one edge or both. The default step (32) yields 6rem on an inset edge — the 4rem
* page gutter plus 2rem — so both-sides puts content at 1248 on the 1440 artboard, and a
* single-sided inset at 1280.
*
* Blocks normally get this via the `.tsnz-container--inset{-left,-right}` classes (see
* helpers/_container-inset.scss); @include it directly only if the block would rather not
* carry the class in its template.
*
* @param {String} $sides - both | left | right
* @param {Number} $step - a step of $tsnz-space-scale to add per inset edge
*/
/**
* Shared two-column grid for Franchise Detail page sections (Contact + About).
* Figma comp column widths 584 / 646, gap 62 → space(48) on-scale. Keeps the contact
* image column aligned with the About band's right column.
*/
/**
* Brand radial gradient — the blue band fill from the Figma "Totalspan Refresh" file.
* Painted by three components: Feature (1:176), Feature Secondary (198:562) and Primary
* CTA (205:2180). Promoted to a mixin so the declaration has one source of truth rather
* than a third hand-copied literal.
*
* The centre and the two brand stops are fixed; only the ellipse size varies per band,
* because each band is a different aspect. The explicit 50% midpoint is the exact linear
* interpolation between the two brand stops, so a two-stop band (Feature) renders
* identically with it present — it just makes the shared declaration one shape.
*
* NOTE: `_utility-mixins` is imported BEFORE `_colors`, yet this references $tsnz-*
* colour vars. That is fine: with legacy `@import` everything shares one global scope and
* a mixin body is resolved at `@include` time, not at definition, so the colours exist by
* the time any component includes this. It looks wrong at a glance; it isn't.
*
* @param {List} $size - the radial ellipse size, e.g. `65.06% 67.36%`
* @param {List} $position - the ellipse centre, e.g. `39.79% 12.75%`
*/
/* Brand Colours as Vars */
/* Spacing scale + space() — must precede settings, which uses it */
/**
 *  Core foundation
 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Inter-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/Inter-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Inter-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/Inter-BoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/Inter-ExtraBold.woff2") format("woff2");
}
/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 43.75em) {
  .reveal.large, .reveal.small, .reveal.tiny, .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=43.75em&large=64em&xlarge=75em&xxlarge=90em";
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%;
}

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Inter", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #424952;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto;
}
[data-whatinput=mouse] button {
  outline: 0;
}

pre {
  overflow: auto;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

.grid-container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .grid-container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.grid-container.fluid {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .grid-container.fluid {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .grid-container.fluid {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
}
.cell.auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.cell.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.grid-x > .auto {
  width: auto;
}
.grid-x > .shrink {
  width: auto;
}

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

@media print, screen and (min-width: 43.75em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.grid-x > .small-12, .grid-x > .small-11, .grid-x > .small-10, .grid-x > .small-9, .grid-x > .small-8, .grid-x > .small-7, .grid-x > .small-6, .grid-x > .small-5, .grid-x > .small-4, .grid-x > .small-3, .grid-x > .small-2, .grid-x > .small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.grid-x > .small-1 {
  width: 8.3333333333%;
}

.grid-x > .small-2 {
  width: 16.6666666667%;
}

.grid-x > .small-3 {
  width: 25%;
}

.grid-x > .small-4 {
  width: 33.3333333333%;
}

.grid-x > .small-5 {
  width: 41.6666666667%;
}

.grid-x > .small-6 {
  width: 50%;
}

.grid-x > .small-7 {
  width: 58.3333333333%;
}

.grid-x > .small-8 {
  width: 66.6666666667%;
}

.grid-x > .small-9 {
  width: 75%;
}

.grid-x > .small-10 {
  width: 83.3333333333%;
}

.grid-x > .small-11 {
  width: 91.6666666667%;
}

.grid-x > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 43.75em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .medium-12, .grid-x > .medium-11, .grid-x > .medium-10, .grid-x > .medium-9, .grid-x > .medium-8, .grid-x > .medium-7, .grid-x > .medium-6, .grid-x > .medium-5, .grid-x > .medium-4, .grid-x > .medium-3, .grid-x > .medium-2, .grid-x > .medium-1, .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .medium-shrink {
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .large-12, .grid-x > .large-11, .grid-x > .large-10, .grid-x > .large-9, .grid-x > .large-8, .grid-x > .large-7, .grid-x > .large-6, .grid-x > .large-5, .grid-x > .large-4, .grid-x > .large-3, .grid-x > .large-2, .grid-x > .large-1, .grid-x > .large-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .large-shrink {
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

.grid-margin-y:not(.grid-y) > .cell {
  height: auto;
}

.grid-margin-x {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-margin-x {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 1rem);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-margin-x > .cell {
    width: calc(100% - 2rem);
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 1rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 1rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 1rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 1rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 1rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 1rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 1rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 1rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 1rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 1rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 1rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 1rem);
}
@media print, screen and (min-width: 43.75em) {
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 1rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 1rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 2rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 2rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 2rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 2rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 2rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 2rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 2rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 2rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 2rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 2rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 2rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 2rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 2rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 2rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 2rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 2rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 2rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 2rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 2rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 2rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 2rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 2rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 2rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 2rem);
  }
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 2rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 2rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 2rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 2rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 2rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 2rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 2rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 2rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 2rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 2rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 2rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 2rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.grid-padding-x > .cell {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-padding-x > .cell {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

.small-up-1 > .cell {
  width: 100%;
}

.small-up-2 > .cell {
  width: 50%;
}

.small-up-3 > .cell {
  width: 33.3333333333%;
}

.small-up-4 > .cell {
  width: 25%;
}

.small-up-5 > .cell {
  width: 20%;
}

.small-up-6 > .cell {
  width: 16.6666666667%;
}

.small-up-7 > .cell {
  width: 14.2857142857%;
}

.small-up-8 > .cell {
  width: 12.5%;
}

@media print, screen and (min-width: 43.75em) {
  .medium-up-1 > .cell {
    width: 100%;
  }
  .medium-up-2 > .cell {
    width: 50%;
  }
  .medium-up-3 > .cell {
    width: 33.3333333333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }
  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }
  .medium-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }
  .large-up-2 > .cell {
    width: 50%;
  }
  .large-up-3 > .cell {
    width: 33.3333333333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.6666666667%;
  }
  .large-up-7 > .cell {
    width: 14.2857142857%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1rem);
}

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1rem);
}

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.3333333333% - 1rem);
}

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1rem);
}

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1rem);
}

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.6666666667% - 1rem);
}

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.2857142857% - 1rem);
}

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1rem);
}

@media print, screen and (min-width: 43.75em) {
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 1rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 1rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 1rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 2rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 2rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 2rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 2rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 2rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 2rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 2rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 2rem);
  }
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 2rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 2rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 2rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 2rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 2rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 2rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 2rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 2rem);
  }
}
.small-margin-collapse {
  margin-right: 0;
  margin-left: 0;
}
.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0;
}
.small-margin-collapse > .small-1 {
  width: 8.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 43.75em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0;
}
.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}

@media print, screen and (min-width: 43.75em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 43.75em) {
  .medium-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 43.75em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 43.75em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

.small-offset-0 {
  margin-left: 0%;
}

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.5rem);
}

.small-offset-1 {
  margin-left: 8.3333333333%;
}

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.3333333333% + 0.5rem);
}

.small-offset-2 {
  margin-left: 16.6666666667%;
}

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.6666666667% + 0.5rem);
}

.small-offset-3 {
  margin-left: 25%;
}

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.5rem);
}

.small-offset-4 {
  margin-left: 33.3333333333%;
}

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.3333333333% + 0.5rem);
}

.small-offset-5 {
  margin-left: 41.6666666667%;
}

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.6666666667% + 0.5rem);
}

.small-offset-6 {
  margin-left: 50%;
}

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.5rem);
}

.small-offset-7 {
  margin-left: 58.3333333333%;
}

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.3333333333% + 0.5rem);
}

.small-offset-8 {
  margin-left: 66.6666666667%;
}

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.6666666667% + 0.5rem);
}

.small-offset-9 {
  margin-left: 75%;
}

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.5rem);
}

.small-offset-10 {
  margin-left: 83.3333333333%;
}

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.3333333333% + 0.5rem);
}

.small-offset-11 {
  margin-left: 91.6666666667%;
}

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.6666666667% + 0.5rem);
}

@media print, screen and (min-width: 43.75em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.5rem);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 0.5rem);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 0.5rem);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.5rem);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 0.5rem);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 0.5rem);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.5rem);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 0.5rem);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 0.5rem);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.5rem);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 0.5rem);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 0.5rem);
  }
}
@media screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1rem);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 1rem);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 1rem);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1rem);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 1rem);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 1rem);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1rem);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 1rem);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 1rem);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1rem);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 1rem);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 1rem);
  }
}
.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.grid-y > .cell {
  width: auto;
  max-width: none;
}
.grid-y > .auto {
  height: auto;
}
.grid-y > .shrink {
  height: auto;
}
.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}
@media print, screen and (min-width: 43.75em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
@media screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.grid-y > .small-12, .grid-y > .small-11, .grid-y > .small-10, .grid-y > .small-9, .grid-y > .small-8, .grid-y > .small-7, .grid-y > .small-6, .grid-y > .small-5, .grid-y > .small-4, .grid-y > .small-3, .grid-y > .small-2, .grid-y > .small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.grid-y > .small-12 {
  height: 100%;
}
@media print, screen and (min-width: 43.75em) {
  .grid-y > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .medium-12, .grid-y > .medium-11, .grid-y > .medium-10, .grid-y > .medium-9, .grid-y > .medium-8, .grid-y > .medium-7, .grid-y > .medium-6, .grid-y > .medium-5, .grid-y > .medium-4, .grid-y > .medium-3, .grid-y > .medium-2, .grid-y > .medium-1, .grid-y > .medium-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .large-12, .grid-y > .large-11, .grid-y > .large-10, .grid-y > .large-9, .grid-y > .large-8, .grid-y > .large-7, .grid-y > .large-6, .grid-y > .large-5, .grid-y > .large-4, .grid-y > .large-3, .grid-y > .large-2, .grid-y > .large-1, .grid-y > .large-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
}
.grid-padding-y > .cell {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-padding-y > .cell {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1rem);
}
@media print, screen and (min-width: 43.75em) {
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 2rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 2rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 2rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 2rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 2rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 2rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 2rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 2rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 2rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 2rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 2rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 2rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 2rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%;
}
.cell-block-container > .grid-x {
  max-height: 100%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

@media print, screen and (min-width: 43.75em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .medium-grid-frame {
    width: 100%;
  }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}
@media screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .large-grid-frame {
    width: 100%;
  }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .large-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}
.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
}
@media print, screen and (min-width: 43.75em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}
@media screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}

.cell .grid-y.grid-frame {
  height: 100%;
}
@media print, screen and (min-width: 43.75em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}
@media screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1rem);
}
@media print, screen and (min-width: 43.75em) {
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 1rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 1rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 2rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 2rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 2rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 2rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 2rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 2rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 2rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 2rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 2rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 2rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 2rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 2rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 2rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 1rem);
}
@media print, screen and (min-width: 43.75em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 2rem);
  }
}

@media print, screen and (min-width: 43.75em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1rem);
  }
}
@media screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 2rem);
  }
}
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}

em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 81.25%;
  line-height: inherit;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Inter", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  color: #034ea2;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #a4a4a4;
}

h1, .h1 {
  font-size: 1.875rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h2, .h2 {
  font-size: 1.75rem;
  line-height: 1.214;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h3, .h3 {
  font-size: 1.5rem;
  line-height: 1.208;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h4, .h4 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h5, .h5 {
  font-size: 1.125rem;
  line-height: 1.333;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h6, .h6 {
  font-size: 1rem;
  line-height: 1.375;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 43.75em) {
  h1, .h1 {
    font-size: 2.5rem;
    line-height: 1.1;
  }
  h2, .h2 {
    font-size: 2.25rem;
    line-height: 1.167;
  }
  h3, .h3 {
    font-size: 2rem;
    line-height: 1.156;
  }
  h4, .h4 {
    font-size: 1.5rem;
    line-height: 1.25;
  }
  h5, .h5 {
    font-size: 1.25rem;
    line-height: 1.35;
  }
  h6, .h6 {
    font-size: 1.125rem;
    line-height: 1.333;
  }
}
a {
  line-height: inherit;
  color: #034ea2;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: rgb(2.58, 67.08, 139.32);
  text-decoration: underline;
}
a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 90rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #a4a4a4;
  border-left: 0;
}

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.5;
}

li {
  font-size: inherit;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul, ul ol, ol ul, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

dl {
  margin-bottom: 1rem;
}
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0 0 0 1em;
  border-left: 2px solid #ffcb05;
}
blockquote, blockquote p {
  line-height: 1.5;
  color: #152931;
}

cite {
  display: block;
  font-size: 1rem;
  color: #a4a4a4;
}
cite:before {
  content: "";
}

abbr, abbr[title] {
  border-bottom: 1px dotted #152931;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #a4a4a4;
  background-color: #e4e4e4;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #152931;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e4e4e4;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #152931;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #424952;
}

.lead {
  font-size: 112.5%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}
p + .stat {
  margin-top: -1rem;
}

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none;
}

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

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

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

.text-justify {
  text-align: justify;
}

@media print, screen and (min-width: 43.75em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: black !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #424952;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.6875rem;
  margin: 0 0 1rem;
  padding: 0.625rem 1rem;
  border: 1px solid #e4e4e4;
  border-radius: 0.625rem;
  background-color: #f6f6f6;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #152931;
  -webkit-transition: border-color 0.25s ease-in-out;
  transition: border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  outline: none;
  border: 1px solid #034ea2;
  background-color: #f6f6f6;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.25s ease-in-out;
  transition: border-color 0.25s ease-in-out;
}

textarea {
  max-width: 100%;
}
textarea[rows] {
  height: auto;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e4e4e4;
  cursor: not-allowed;
}

[type=submit],
[type=button] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

input[type=search] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: #034ea2;
}

::-moz-placeholder {
  color: #034ea2;
}

:-ms-input-placeholder {
  color: #034ea2;
}

::-ms-input-placeholder {
  color: #034ea2;
}

::placeholder {
  color: #034ea2;
}

[type=file],
[type=checkbox],
[type=radio] {
  margin: 0 0 1rem;
}

[type=checkbox] + label,
[type=radio] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
}
[type=checkbox] + label[for],
[type=radio] + label[for] {
  cursor: pointer;
}

label > [type=checkbox],
label > [type=radio] {
  margin-right: 0.5rem;
}

[type=file] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #152931;
}
label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #152931;
}

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 0.625rem 0 0 0.625rem;
}
.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 0.625rem 0.625rem 0;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label, .input-group-button, .input-group-field, .input-group-label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #a4a4a4;
  background: #e4e4e4;
  color: #152931;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

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

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #a4a4a4;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 2.6875rem;
  margin: 0 0 1rem;
  padding: 0.625rem 1rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #e4e4e4;
  border-radius: 0.625rem;
  background-color: #f6f6f6;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #152931;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2866, 73, 82%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out;
  transition: border-color 0.25s ease-in-out;
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select:focus {
  outline: none;
  border: 1px solid #034ea2;
  background-color: #f6f6f6;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.25s ease-in-out;
  transition: border-color 0.25s ease-in-out;
}
select:disabled {
  background-color: #e4e4e4;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: #ed1c24;
  background-color: rgb(253.2, 232.3, 233.1);
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #ed1c24;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #ed1c24;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #ed1c24;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #ed1c24;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #ed1c24;
}

.is-invalid-label {
  color: #ed1c24;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ed1c24;
}
.form-error.is-visible {
  display: block;
}

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none;
}
.accordion[disabled] .accordion-title {
  cursor: not-allowed;
}

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0;
}
.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0;
}

.accordion-title {
  position: relative;
  display: block;
  padding: 1.125rem 0;
  border: 0;
  border-bottom: 0;
  font-size: 1.125rem;
  line-height: 1;
  color: #034ea2;
}
:last-child:not(.is-active) > .accordion-title {
  border-bottom: 0;
  border-radius: 0 0 0 0;
}
.accordion-title:hover, .accordion-title:focus {
  background-color: transparent;
}
.accordion-title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: "+";
}
.is-active > .accordion-title::before {
  content: "–";
}

.accordion-content {
  display: none;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 0;
  background-color: #ffffff;
  color: #424952;
}
:last-child > .accordion-content:last-child {
  border-bottom: 0;
}

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 1rem 1rem;
}
.accordion-menu .is-accordion-submenu a {
  padding: 1rem 1rem;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #034ea2 transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto;
}
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.is-accordion-submenu-parent {
  position: relative;
}

.has-submenu-toggle > a {
  margin-right: 40px;
}

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.submenu-toggle::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #034ea2 transparent transparent;
  top: 0;
  bottom: 0;
  margin: auto;
}

.submenu-toggle[aria-expanded=true]::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.breadcrumbs {
  margin: 0.5rem 0 0 0;
  list-style: none;
}
.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.breadcrumbs::after {
  clear: both;
}
.breadcrumbs li {
  float: left;
  font-size: 0.875rem;
  color: #ffffff;
  cursor: default;
}
.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "|";
  color: #a4a4a4;
}
.breadcrumbs a {
  color: #ffcb05;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .disabled {
  color: #a4a4a4;
  cursor: not-allowed;
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 2px solid currentColor;
  border-radius: 0;
  background-color: white;
  color: #424952;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: rgb(3.6272727273, 94.3090909091, 195.8727272727);
  color: #ffffff;
}
.callout.secondary {
  background-color: rgb(255, 208.2, 30);
  color: #424952;
}
.callout.tertiary {
  background-color: rgb(238.8, 50.7, 57.9);
  color: #ffffff;
}
.callout.dark-blue {
  background-color: rgb(2.7189189189, 70.6918918919, 148.1810810811);
  color: #ffffff;
}
.callout.mid-red {
  background-color: rgb(224.625, 42.375, 50.475);
  color: #ffffff;
}
.callout.dark-red {
  background-color: rgb(224.4690140845, 18.2309859155, 26.2070422535);
  color: #ffffff;
}
.callout.success {
  background-color: rgb(77.7, 222.6, 131.7);
  color: #424952;
}
.callout.warning {
  background-color: rgb(255, 182.1, 25.5);
  color: #424952;
}
.callout.alert {
  background-color: rgb(209.1, 93, 75);
  color: #ffffff;
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
  overflow: hidden;
  color: #424952;
}
.card > :last-child {
  margin-bottom: 0;
}

.card-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  padding: 1.5rem;
  background: #e4e4e4;
}
.card-divider > :last-child {
  margin-bottom: 0;
}

.card-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1.5rem;
}
.card-section > :last-child {
  margin-bottom: 0;
}

.card-image {
  min-height: 1px;
}

.close-button {
  position: absolute;
  color: currentColor;
  cursor: pointer;
}
[data-whatinput=mouse] .close-button {
  outline: 0;
}
.close-button:hover, .close-button:focus {
  color: #ffffff;
}
.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}
.close-button, .close-button.medium {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
[data-whatinput=mouse] .menu li {
  outline: 0;
}
.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 1rem 1rem;
}
.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}
.menu input {
  display: inline-block;
}
.menu, .menu.horizontal {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.menu.vertical {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.menu.expanded li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.menu.simple {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu.simple li + li {
  margin-left: 1rem;
}
.menu.simple a {
  padding: 0;
}
@media print, screen and (min-width: 43.75em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media screen and (min-width: 64em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}
.menu.icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-left li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}
.menu.icon-right li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}
.menu.icon-top li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu.icon-bottom li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu .is-active > a {
  background: #034ea2;
  color: #ffffff;
}
.menu .active > a {
  background: #034ea2;
  color: #ffffff;
}
.menu.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.menu.align-right li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right.vertical li {
  display: block;
  text-align: right;
}
.menu.align-right.vertical li .submenu li {
  text-align: right;
}
.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}
.menu.align-center li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu.align-center li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu .menu-text {
  padding: 1rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu-centered > .menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu-centered > .menu li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.no-js [data-responsive-menu] ul {
  display: none;
}

.is-drilldown {
  position: relative;
  overflow: hidden;
}
.is-drilldown li {
  display: block;
}
.is-drilldown.animate-height {
  -webkit-transition: height 0.5s;
  transition: height 0.5s;
}

.drilldown a {
  padding: 1rem 1rem;
  background: transparent;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #034ea2;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}
.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.drilldown .is-drilldown-submenu a {
  padding: 1rem 1rem;
}
.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid currentColor;
  border-radius: 0;
  background-color: #152931;
  font-size: 1rem;
}
.dropdown-pane.is-opening {
  display: block;
}
.dropdown-pane.is-open {
  display: block;
  visibility: visible;
}

.dropdown-pane.tiny {
  width: 100px;
}

.dropdown-pane.small {
  width: 200px;
}

.dropdown-pane.large {
  width: 400px;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu > li > a {
  background: #152931;
  padding: 1rem 1rem;
}
.dropdown.menu > li.is-active > a {
  background: transparent;
  color: currentColor;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
@media print, screen and (min-width: 43.75em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
}
@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}
.is-dropdown-menu.vertical.align-right {
  float: right;
}

.is-dropdown-submenu-parent {
  position: relative;
}
.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px;
}
.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}
.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}
.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 280px;
  border: none;
  background: #152931;
}
.dropdown .is-dropdown-submenu a {
  padding: 1rem 1rem;
}
.is-dropdown-submenu > li {
  width: 100%;
}
.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}
.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #034ea2;
  color: #ffffff;
}
.label.primary {
  background: #034ea2;
  color: #ffffff;
}
.label.secondary {
  background: #ffcb05;
  color: #152931;
}
.label.tertiary {
  background: #ed1c24;
  color: #ffffff;
}
.label.dark-blue {
  background: #02346d;
  color: #ffffff;
}
.label.mid-red {
  background: #d21e26;
  color: #ffffff;
}
.label.dark-red {
  background: #c51017;
  color: #ffffff;
}
.label.success {
  background: #3adb76;
  color: #152931;
}
.label.warning {
  background: #ffae00;
  color: #152931;
}
.label.alert {
  background: #cc4b37;
  color: #ffffff;
}

.is-off-canvas-open {
  overflow: hidden;
}

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.js-off-canvas-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}
.js-off-canvas-overlay.is-closable {
  cursor: pointer;
}
.js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}
.js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}

.off-canvas-wrapper {
  position: relative;
  overflow: hidden;
}

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #034ea2;
}
[data-whatinput=mouse] .off-canvas {
  outline: 0;
}
.off-canvas.is-transition-push {
  z-index: 12;
}
.off-canvas.is-closed {
  visibility: hidden;
}
.off-canvas.is-transition-overlap {
  z-index: 13;
}
.off-canvas.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(21, 41, 49, 0.7);
          box-shadow: 0 0 10px rgba(21, 41, 49, 0.7);
}
.off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #034ea2;
}
[data-whatinput=mouse] .off-canvas-absolute {
  outline: 0;
}
.off-canvas-absolute.is-transition-push {
  z-index: 12;
}
.off-canvas-absolute.is-closed {
  visibility: hidden;
}
.off-canvas-absolute.is-transition-overlap {
  z-index: 13;
}
.off-canvas-absolute.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(21, 41, 49, 0.7);
          box-shadow: 0 0 10px rgba(21, 41, 49, 0.7);
}
.off-canvas-absolute.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 80vw;
  -webkit-transform: translateX(-80vw);
          transform: translateX(-80vw);
}
.tsnz-offcanvas__content .off-canvas.position-left {
  -webkit-transform: translateX(-80vw);
          transform: translateX(-80vw);
}
.tsnz-offcanvas__content .off-canvas.position-left.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.tsnz-offcanvas__content.is-open-left.has-transition-push {
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
}

.position-left.is-transition-push {
  -webkit-box-shadow: inset -13px 0 20px -13px rgba(21, 41, 49, 0.25);
          box-shadow: inset -13px 0 20px -13px rgba(21, 41, 49, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 80vw;
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
}
.tsnz-offcanvas__content .off-canvas.position-right {
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
}
.tsnz-offcanvas__content .off-canvas.position-right.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.tsnz-offcanvas__content.is-open-right.has-transition-push {
  -webkit-transform: translateX(-80vw);
          transform: translateX(-80vw);
}

.position-right.is-transition-push {
  -webkit-box-shadow: inset 13px 0 20px -13px rgba(21, 41, 49, 0.25);
          box-shadow: inset 13px 0 20px -13px rgba(21, 41, 49, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(-280px);
          transform: translateY(-280px);
}
.tsnz-offcanvas__content .off-canvas.position-top {
  -webkit-transform: translateY(-280px);
          transform: translateY(-280px);
}
.tsnz-offcanvas__content .off-canvas.position-top.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.tsnz-offcanvas__content.is-open-top.has-transition-push {
  -webkit-transform: translateY(280px);
          transform: translateY(280px);
}

.position-top.is-transition-push {
  -webkit-box-shadow: inset 0 -13px 20px -13px rgba(21, 41, 49, 0.25);
          box-shadow: inset 0 -13px 20px -13px rgba(21, 41, 49, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 280px;
  -webkit-transform: translateY(280px);
          transform: translateY(280px);
}
.tsnz-offcanvas__content .off-canvas.position-bottom {
  -webkit-transform: translateY(280px);
          transform: translateY(280px);
}
.tsnz-offcanvas__content .off-canvas.position-bottom.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.tsnz-offcanvas__content.is-open-bottom.has-transition-push {
  -webkit-transform: translateY(-280px);
          transform: translateY(-280px);
}

.position-bottom.is-transition-push {
  -webkit-box-shadow: inset 0 13px 20px -13px rgba(21, 41, 49, 0.25);
          box-shadow: inset 0 13px 20px -13px rgba(21, 41, 49, 0.25);
}

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.off-canvas-content.has-transition-push {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.off-canvas-content .off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

@media print, screen and (min-width: 43.75em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-medium .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-left {
    margin-left: 80vw;
  }
  .position-left.reveal-for-medium ~ .tsnz-offcanvas__content {
    margin-left: 80vw;
  }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-medium .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-right {
    margin-right: 80vw;
  }
  .position-right.reveal-for-medium ~ .tsnz-offcanvas__content {
    margin-right: 80vw;
  }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-medium .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-top {
    margin-top: 80vw;
  }
  .position-top.reveal-for-medium ~ .tsnz-offcanvas__content {
    margin-top: 80vw;
  }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-bottom {
    margin-bottom: 80vw;
  }
  .position-bottom.reveal-for-medium ~ .tsnz-offcanvas__content {
    margin-bottom: 80vw;
  }
}
@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-large .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-left {
    margin-left: 80vw;
  }
  .position-left.reveal-for-large ~ .tsnz-offcanvas__content {
    margin-left: 80vw;
  }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-large .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-right {
    margin-right: 80vw;
  }
  .position-right.reveal-for-large ~ .tsnz-offcanvas__content {
    margin-right: 80vw;
  }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-large .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-top {
    margin-top: 80vw;
  }
  .position-top.reveal-for-large ~ .tsnz-offcanvas__content {
    margin-top: 80vw;
  }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-large .close-button {
    display: none;
  }
  .tsnz-offcanvas__content .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .tsnz-offcanvas__content.has-reveal-bottom {
    margin-bottom: 80vw;
  }
  .position-bottom.reveal-for-large ~ .tsnz-offcanvas__content {
    margin-bottom: 80vw;
  }
}
@media print, screen and (min-width: 43.75em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}
@media screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}
.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}
.pagination::before, .pagination::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.pagination::after {
  clear: both;
}
.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0.3125rem;
  font-size: 1.125rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 43.75em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0.3125rem;
  color: #a4a4a4;
}
.pagination a:hover,
.pagination button:hover {
  background: #ffffff;
}
.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #ffffff;
  color: #034ea2;
  cursor: default;
}
.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: #a4a4a4;
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: "…";
  color: #a4a4a4;
}

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden;
}
html.is-reveal-open.zf-has-scroll {
  overflow-y: scroll;
}
html.is-reveal-open body {
  overflow-y: hidden;
}

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(21, 41, 49, 0.45);
  overflow-y: auto;
}

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1.5rem;
  border: 1px solid #a4a4a4;
  border-radius: 0;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
}
[data-whatinput=mouse] .reveal {
  outline: 0;
}
@media print, screen and (min-width: 43.75em) {
  .reveal {
    min-height: 0;
  }
}
.reveal .column {
  min-width: 0;
}
.reveal > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 43.75em) {
  .reveal {
    width: 600px;
    max-width: 90rem;
  }
}
.reveal.collapse {
  padding: 0;
}
@media print, screen and (min-width: 43.75em) {
  .reveal.tiny {
    width: 30%;
    max-width: 90rem;
  }
}
@media print, screen and (min-width: 43.75em) {
  .reveal.small {
    width: 50%;
    max-width: 90rem;
  }
}
@media print, screen and (min-width: 43.75em) {
  .reveal.large {
    width: 90%;
    max-width: 90rem;
  }
}
.reveal.full {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  margin-left: 0;
  border: 0;
  border-radius: 0;
}
@media screen and (max-width: 43.74875em) {
  .reveal {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}
.reveal.without-overlay {
  position: fixed;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}
thead,
tbody,
tfoot {
  border: 1px solid rgb(155.8, 155.8, 155.8);
  background-color: #f6f6f6;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: rgb(239.85, 239.85, 239.85);
  color: #424952;
}

tfoot {
  background: rgb(233.7, 233.7, 233.7);
  color: #424952;
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: rgb(233.7, 233.7, 233.7);
}

table.unstriped tbody {
  background-color: #f6f6f6;
}
table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid rgb(155.8, 155.8, 155.8);
  background-color: #f6f6f6;
}

@media screen and (max-width: 63.99875em) {
  table.stack thead {
    display: none;
  }
  table.stack tfoot {
    display: none;
  }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block;
  }
  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: rgb(234.75, 234.75, 234.75);
}
table.hover tfoot tr:hover {
  background-color: rgb(228.6, 228.6, 228.6);
}
table.hover tbody tr:hover {
  background-color: rgb(240.9, 240.9, 240.9);
}
table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: rgb(228.15, 228.15, 228.15);
}

.table-scroll {
  overflow-x: auto;
}

.tabs {
  margin: 0;
  border: 1px solid none;
  background: transparent;
  list-style-type: none;
}
.tabs::before, .tabs::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tabs::after {
  clear: both;
}

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto;
}

.tabs.simple > li > a {
  padding: 0;
}
.tabs.simple > li > a:hover {
  background: transparent;
}

.tabs.primary {
  background: #034ea2;
}
.tabs.primary > li > a {
  color: #ffffff;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: rgb(3.3136363636, 86.1545454545, 178.9363636364);
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 0;
  font-size: 1.75rem;
  line-height: 1;
  color: #034ea2;
}
[data-whatinput=mouse] .tabs-title > a {
  outline: 0;
}
.tabs-title > a:hover {
  background: #ffffff;
  color: rgb(2.58, 67.08, 139.32);
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: transparent;
  color: #034ea2;
}

.tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: transparent;
  color: #424952;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.tabs-content.vertical {
  border: 1px solid none;
  border-left: 0;
}

.tabs-panel {
  display: none;
  padding: 0;
}
.tabs-panel.is-active {
  display: block;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

@media screen and (max-width: 43.74875em) {
  .hide-for-small-only {
    display: none !important;
  }
}

@media screen and (max-width: 0em), screen and (min-width: 43.75em) {
  .show-for-small-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 43.75em) {
  .hide-for-medium {
    display: none !important;
  }
}

@media screen and (max-width: 43.74875em) {
  .show-for-medium {
    display: none !important;
  }
}

@media screen and (min-width: 43.75em) and (max-width: 63.99875em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

@media screen and (max-width: 43.74875em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important;
  }
}

@media screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important;
  }
}

@media screen and (max-width: 63.99875em) {
  .show-for-large {
    display: none !important;
  }
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important;
  }
}

@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important;
  }
}

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.show-for-landscape,
.hide-for-portrait {
  display: block !important;
}
@media screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: block !important;
  }
}
@media screen and (orientation: portrait) {
  .show-for-landscape,
  .hide-for-portrait {
    display: none !important;
  }
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}
@media screen and (orientation: landscape) {
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
}
@media screen and (orientation: portrait) {
  .hide-for-landscape,
  .show-for-portrait {
    display: block !important;
  }
}

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.slide-in-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.slide-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.slide-in-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.slide-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.slide-out-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.slide-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.slide-out-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.fade-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.fade-in.mui-enter.mui-enter-active {
  opacity: 1;
}

.fade-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 1;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}

.fade-out.mui-leave.mui-leave-active {
  opacity: 0;
}

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-bottom.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-x.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-in-from-middle-y.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1;
}

.hinge-out-from-top.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.hinge-out-from-bottom.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0;
}

.hinge-out-from-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0;
}

.hinge-out-from-middle-x.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0;
}

.hinge-out-from-middle-y.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0;
}

.scale-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.scale-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.scale-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0;
}

.scale-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0;
}

.spin-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1;
}

.spin-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0;
}

.spin-in-ccw.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0;
}

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 1;
}

.spin-out-ccw.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1;
}

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0;
}

.slow {
  -webkit-transition-duration: 750ms !important;
          transition-duration: 750ms !important;
}

.fast {
  -webkit-transition-duration: 250ms !important;
          transition-duration: 250ms !important;
}

.linear {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}

.ease {
  -webkit-transition-timing-function: ease !important;
          transition-timing-function: ease !important;
}

.ease-in {
  -webkit-transition-timing-function: ease-in !important;
          transition-timing-function: ease-in !important;
}

.ease-out {
  -webkit-transition-timing-function: ease-out !important;
          transition-timing-function: ease-out !important;
}

.ease-in-out {
  -webkit-transition-timing-function: ease-in-out !important;
          transition-timing-function: ease-in-out !important;
}

.bounce-in {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  -webkit-transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  -webkit-transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  -webkit-transition-delay: 300ms !important;
          transition-delay: 300ms !important;
}

.long-delay {
  -webkit-transition-delay: 700ms !important;
          transition-delay: 700ms !important;
}

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7;
}
@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%);
  }
}
@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%);
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%);
  }
}

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn;
}
@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn;
}
@-webkit-keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}
@keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn);
  }
}

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg;
}
@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
  }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg);
  }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important;
}

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important;
}

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important;
}

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important;
}

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important;
}

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important;
}

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important;
}

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
}

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
}

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
}

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important;
}

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important;
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0 0;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger:hover {
  opacity: 1;
}

.hamburger-box {
  width: 1.75rem;
  height: 1.3125rem;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.09375rem;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 1.75rem;
  height: 0.1875rem;
  background-color: #034ea2;
  border-radius: 0.09375rem;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -0.5625rem;
}
.hamburger-inner::after {
  bottom: -0.5625rem;
}

/*
 * Slider Reverse
 */
.hamburger--slider-r .hamburger-inner {
  top: 0.09375rem;
}
.hamburger--slider-r .hamburger-inner::before {
  top: 0.5625rem;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
}
.hamburger--slider-r .hamburger-inner::after {
  top: 1.125rem;
}
.hamburger--slider-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 0.5625rem, 0) rotate(-45deg);
          transform: translate3d(0, 0.5625rem, 0) rotate(-45deg);
}
.hamburger--slider-r.is-active .hamburger-inner::before {
  -webkit-transform: rotate(45deg) translate3d(0.25rem, -0.375rem, 0);
          transform: rotate(45deg) translate3d(0.25rem, -0.375rem, 0);
  opacity: 0;
}
.hamburger--slider-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -1.125rem, 0) rotate(90deg);
          transform: translate3d(0, -1.125rem, 0) rotate(90deg);
}

/**
 * Helpers and Additional Typography
 */
.pos-rel {
  position: relative;
}

.drop-and-fade-in {
  -webkit-animation-name: custom-1;
          animation-name: custom-1;
}
@-webkit-keyframes custom-1 {
  0% {
    -webkit-transform: translateY(-2em);
            transform: translateY(-2em);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes custom-1 {
  0% {
    -webkit-transform: translateY(-2em);
            transform: translateY(-2em);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.lift-and-fade-out {
  -webkit-animation-name: custom-3;
          animation-name: custom-3;
}
@-webkit-keyframes custom-3 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-2em);
            transform: translateY(-2em);
    opacity: 0;
  }
}
@keyframes custom-3 {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-2em);
            transform: translateY(-2em);
    opacity: 0;
  }
}

.lift-and-fade-in {
  -webkit-animation-name: custom-5;
          animation-name: custom-5;
}
@-webkit-keyframes custom-5 {
  0% {
    -webkit-transform: translateX(-2em);
            transform: translateX(-2em);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes custom-5 {
  0% {
    -webkit-transform: translateX(-2em);
            transform: translateX(-2em);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.grecaptcha-badge {
  display: none;
}

.tsnz-gap-4 {
  gap: 0.25rem;
}

.tsnz-gap-x-4 {
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
}

.tsnz-gap-y-4 {
  row-gap: 0.25rem;
}

.tsnz-gap-8 {
  gap: 0.5rem;
}

.tsnz-gap-x-8 {
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
}

.tsnz-gap-y-8 {
  row-gap: 0.5rem;
}

.tsnz-gap-10 {
  gap: 0.625rem;
}

.tsnz-gap-x-10 {
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}

.tsnz-gap-y-10 {
  row-gap: 0.625rem;
}

.tsnz-gap-12 {
  gap: 0.75rem;
}

.tsnz-gap-x-12 {
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
}

.tsnz-gap-y-12 {
  row-gap: 0.75rem;
}

.tsnz-gap-16 {
  gap: 1rem;
}

.tsnz-gap-x-16 {
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
}

.tsnz-gap-y-16 {
  row-gap: 1rem;
}

.tsnz-gap-20 {
  gap: 1.25rem;
}

.tsnz-gap-x-20 {
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}

.tsnz-gap-y-20 {
  row-gap: 1.25rem;
}

.tsnz-gap-24 {
  gap: 1.5rem;
}

.tsnz-gap-x-24 {
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}

.tsnz-gap-y-24 {
  row-gap: 1.5rem;
}

.tsnz-gap-32 {
  gap: 2rem;
}

.tsnz-gap-x-32 {
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}

.tsnz-gap-y-32 {
  row-gap: 2rem;
}

.tsnz-gap-40 {
  gap: 2.5rem;
}

.tsnz-gap-x-40 {
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}

.tsnz-gap-y-40 {
  row-gap: 2.5rem;
}

.tsnz-gap-48 {
  gap: 3rem;
}

.tsnz-gap-x-48 {
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
}

.tsnz-gap-y-48 {
  row-gap: 3rem;
}

.tsnz-gap-64 {
  gap: 4rem;
}

.tsnz-gap-x-64 {
  -webkit-column-gap: 4rem;
     -moz-column-gap: 4rem;
          column-gap: 4rem;
}

.tsnz-gap-y-64 {
  row-gap: 4rem;
}

.tsnz-gap-80 {
  gap: 5rem;
}

.tsnz-gap-x-80 {
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
}

.tsnz-gap-y-80 {
  row-gap: 5rem;
}

.tsnz-gap-96 {
  gap: 6rem;
}

.tsnz-gap-x-96 {
  -webkit-column-gap: 6rem;
     -moz-column-gap: 6rem;
          column-gap: 6rem;
}

.tsnz-gap-y-96 {
  row-gap: 6rem;
}

html {
  font-size: 87.5%;
}
@media screen and (min-width: 90em) {
  html {
    font-size: 100%;
  }
}

/* Foundation forces actual font values */
h1,
.h1 {
  font-size: 1.875rem;
  font-weight: 800;
  /* Foundation's $header-styles has no letter-spacing support */
  letter-spacing: -0.02em;
  /* Foundation forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.625em;
}

h2,
.h2 {
  font-size: 1.75rem;
  font-weight: 800;
  /* Foundation's $header-styles has no letter-spacing support */
  letter-spacing: -0.02em;
  /* Foundation forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.625em;
}

h3,
.h3,
.tsnz-video--featured .tsnz-video__heading {
  font-size: 1.5rem;
  font-weight: 800;
  /* Foundation's $header-styles has no letter-spacing support */
  letter-spacing: -0.02em;
  /* Foundation forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.625em;
}

h4,
.h4 {
  font-size: 1.25rem;
  font-weight: bold;
  /* Foundation's $header-styles has no letter-spacing support */
  letter-spacing: -0.01em;
  /* Foundation forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.625em;
}

h5,
.h5 {
  font-size: 1.125rem;
  font-weight: bold;
  /* Foundation's $header-styles has no letter-spacing support */
  letter-spacing: -0.01em;
  /* Foundation forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.625em;
}

h6,
.h6,
.tsnz-mega-menu__text,
.tsnz-cta--simple .tsnz-cta__description {
  font-size: 1rem;
  font-weight: bold;
  /* Foundation's $header-styles has no letter-spacing support */
  letter-spacing: -0.01em;
  /* Foundation forces rem-calc on all headings margin bottom values */
  margin-bottom: 0.625em;
}

@media print, screen and (min-width: 43.75em) {
  h1,
  .h1 {
    font-size: 2.5rem;
    font-weight: 800;
    /* Foundation's $header-styles has no letter-spacing support */
    letter-spacing: -0.02em;
    /* Foundation forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.625em;
  }
  h2,
  .h2 {
    font-size: 2.25rem;
    font-weight: 800;
    /* Foundation's $header-styles has no letter-spacing support */
    letter-spacing: -0.02em;
    /* Foundation forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.625em;
  }
  h3,
  .h3,
  .tsnz-video--featured .tsnz-video__heading {
    font-size: 2rem;
    font-weight: 800;
    /* Foundation's $header-styles has no letter-spacing support */
    letter-spacing: -0.02em;
    /* Foundation forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.625em;
  }
  h4,
  .h4 {
    font-size: 1.5rem;
    font-weight: bold;
    /* Foundation's $header-styles has no letter-spacing support */
    letter-spacing: -0.02em;
    /* Foundation forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.625em;
  }
  h5,
  .h5 {
    font-size: 1.25rem;
    font-weight: bold;
    /* Foundation's $header-styles has no letter-spacing support */
    letter-spacing: -0.01em;
    /* Foundation forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.625em;
  }
  h6,
  .h6,
  .tsnz-mega-menu__text,
  .tsnz-cta--simple .tsnz-cta__description {
    font-size: 1.125rem;
    font-weight: bold;
    /* Foundation's $header-styles has no letter-spacing support */
    letter-spacing: -0.01em;
    /* Foundation forces rem-calc on all headings margin bottom values */
    margin-bottom: 0.625em;
  }
}
/* 2.0 body copy — Paragraph / Paragraph Mobile tokens */
body,
p {
  letter-spacing: -0.01em;
}

p {
  font-size: 0.9375rem; /* Paragraph Mobile */
}
@media print, screen and (min-width: 43.75em) {
  p {
    font-size: 1rem; /* Paragraph */
  }
}

/* 2.0 non-heading type tokens */
.tsnz-display {
  font-size: 1.875rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  /* No mobile Display token — scales alongside H1 */
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-display {
    font-size: 3.125rem;
    line-height: 1.2;
  }
}

.tsnz-lead, .tsnz-masthead__subheading {
  font-size: 1.25rem;
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: -0.01em;
}

.tsnz-small {
  font-size: 0.8125rem;
  font-weight: normal;
  line-height: 1.846;
  letter-spacing: -0.01em;
}

.tsnz-tagline {
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.tsnz-tagline--bold {
  font-weight: bold;
  letter-spacing: 0.08em;
}

/* 2.0 elevation */
.tsnz-shadow-magazine {
  -webkit-box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
          box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

.tsnz-shadow-logo {
  -webkit-box-shadow: 0 0 8px rgba(21, 41, 49, 0.4);
          box-shadow: 0 0 8px rgba(21, 41, 49, 0.4);
}

/* adjacent Headings*/
h1 + h2,
h1 + h3,
h2 + h3 {
  margin-top: 1rem;
}

h3 + h4,
h3 + h5,
h2 + h4,
h3 + h5 {
  margin-top: 0;
}

legend {
  font-family: "Inter", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.75em;
  font-style: normal;
  font-weight: 700;
}

blockquote {
  font-size: 1.5rem;
  font-style: italic;
}
blockquote p:last-child {
  margin-bottom: 0;
}

.svg-icon {
  vertical-align: middle;
  max-width: 1em;
  max-height: 1em;
}

.callout.validation {
  background-color: rgb(209.1, 93, 75);
  color: #ffffff;
}
.callout.info {
  background-color: rgb(209.1, 93, 75);
  color: #ffffff;
}
.callout.good {
  background-color: rgb(77.7, 222.6, 131.7);
  color: #424952;
}
.callout.bad {
  background-color: rgb(209.1, 93, 75);
  color: #ffffff;
}

/**
 * Elements
 */
.tsnz-button {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  border: 0.125rem solid #ffcb05;
  background-color: transparent;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button {
  outline: 0;
}
.tsnz-button:hover, .tsnz-button:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button:hover, .tsnz-button:focus {
  border-color: #034ea2;
  background-color: transparent;
  color: #034ea2;
}
.tsnz-button:active, .tsnz-button.active {
  opacity: 0.9;
  border-color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
  background-color: transparent;
  color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
}
.tsnz-button[disabled], .tsnz-button.disabled {
  border-color: #f6f6f6;
  background-color: #f6f6f6;
  color: #e4e4e4;
  pointer-events: none;
  cursor: not-allowed;
}
.tsnz-button:focus, .tsnz-button:active, .tsnz-button:hover {
  text-decoration: none;
}
.tsnz-button:first-child:last-child {
  max-width: 18.75rem;
}
.tsnz-button svg {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  margin-top: -0.3em;
  margin-bottom: -0.25em;
  margin-left: -0.5em;
  font-size: 1em;
}
.tsnz-button span {
  display: inline-block;
  max-width: 100%;
}
.tsnz-button span:not(:last-child) {
  margin-left: -1em;
}
.tsnz-button span + svg {
  margin-right: -0.5em;
  margin-left: 0;
}
.tsnz-button--large-icon svg {
  font-size: 2em;
}
.tsnz-button--on-white {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  border: 0.125rem solid #ffcb05;
  background-color: #ffffff;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button--on-white {
  outline: 0;
}
.tsnz-button--on-white:hover, .tsnz-button--on-white:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button--on-white:hover, .tsnz-button--on-white:focus {
  border-color: #034ea2;
  background-color: #ffffff;
  color: #034ea2;
}
.tsnz-button--on-white:active, .tsnz-button--on-white.active {
  opacity: 0.9;
  border-color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
  background-color: #ffffff;
  color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
}
.tsnz-button--on-white[disabled], .tsnz-button--on-white.disabled {
  border-color: #f6f6f6;
  background-color: #f6f6f6;
  color: #e4e4e4;
  pointer-events: none;
  cursor: not-allowed;
}
.tsnz-button--on-white:focus, .tsnz-button--on-white:active, .tsnz-button--on-white:hover {
  text-decoration: none;
}
.tsnz-button--reversed {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  border: 0.125rem solid #ffcb05;
  background-color: transparent;
  color: #ffffff;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button--reversed {
  outline: 0;
}
.tsnz-button--reversed:hover, .tsnz-button--reversed:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button--reversed:hover, .tsnz-button--reversed:focus {
  border-color: #ffcb05;
  background-color: transparent;
  color: #ffcb05;
}
.tsnz-button--reversed:active, .tsnz-button--reversed.active {
  opacity: 0.9;
  border-color: rgb(209, 165.528, 0);
  background-color: transparent;
  color: rgb(209, 165.528, 0);
}
.tsnz-button--reversed[disabled], .tsnz-button--reversed.disabled {
  border-color: #f6f6f6;
  background-color: #f6f6f6;
  color: #e4e4e4;
  pointer-events: none;
  cursor: not-allowed;
}
.tsnz-button--reversed:focus, .tsnz-button--reversed:active, .tsnz-button--reversed:hover {
  text-decoration: none;
}
.tsnz-button--secondary {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  background-color: #e4e4e4;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button--secondary {
  outline: 0;
}
.tsnz-button--secondary:hover, .tsnz-button--secondary:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button--secondary:hover, .tsnz-button--secondary:focus {
  background-color: rgb(215.25, 215.25, 215.25);
  color: #034ea2;
}
.tsnz-button--secondary:focus, .tsnz-button--secondary:active, .tsnz-button--secondary:hover {
  text-decoration: none;
  border-color: rgb(215.25, 215.25, 215.25);
}
.tsnz-button--clear {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  background-color: transparent;
  color: #034ea2;
  padding-right: 0;
  padding-left: 0;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button--clear {
  outline: 0;
}
.tsnz-button--clear:hover, .tsnz-button--clear:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button--clear:hover, .tsnz-button--clear:focus {
  background-color: transparent;
  color: #034ea2;
}
.tsnz-button--clear:focus, .tsnz-button--clear:active, .tsnz-button--clear:hover {
  text-decoration: none;
  border-color: transparent;
}
.tsnz-button--input {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  background-color: #f6f6f6;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button--input {
  outline: 0;
}
.tsnz-button--input:hover, .tsnz-button--input:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button--input:hover, .tsnz-button--input:focus {
  background-color: rgb(233.25, 233.25, 233.25);
  color: #034ea2;
}
.tsnz-button--input:focus, .tsnz-button--input:active, .tsnz-button--input:hover {
  text-decoration: none;
}
.tsnz-button--expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  white-space: normal;
}
.tsnz-button--expand-for-small {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-button--expand-for-small {
    display: inline-block;
    width: auto;
    margin: 0;
  }
}
.tsnz-button--with-arrow {
  padding-right: 1rem;
}
.tsnz-button--with-arrow:after {
  position: absolute;
  display: block;
  content: ">";
  top: calc(50% - 0.5rem);
  right: 0;
}
.tsnz-button--stacked {
  margin-top: 0.5rem;
}
.tsnz-button--vertically-aligned-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tsnz-action-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  padding: 0.5rem 1.25rem;
  border: 0;
  border-radius: 0.625rem;
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1.5rem;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, color 0.2s ease;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.tsnz-action-button:hover, .tsnz-action-button:focus, a:hover .tsnz-action-button, a:focus .tsnz-action-button {
  background-color: rgb(1.8, 46.8, 97.2);
  color: #ffffff;
  text-decoration: none;
}
.tsnz-action-button--primary {
  background-color: #ffcb05;
  color: #034ea2;
}
.tsnz-action-button--secondary {
  background-color: #034ea2;
  color: #ffffff;
}
.tsnz-action-button--tertiary {
  background-color: #e4e4e4;
  color: #034ea2;
}
.tsnz-action-button--large {
  padding: 0.8125rem 1.25rem;
  font-size: 0.875rem;
}
.tsnz-action-button--expanded {
  width: 100%;
}
.tsnz-action-button[disabled], .tsnz-action-button.disabled {
  background-color: #e4e4e4;
  color: #a4a4a4;
  pointer-events: none;
  cursor: not-allowed;
}
.tsnz-action-button .tsnz-symbol {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 1em;
  height: 1em;
}

.tsnz-link-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.25rem;
  color: #034ea2;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.tsnz-link-button__rule {
  width: 100%;
  height: 5px;
  background-color: #ffcb05;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.tsnz-link-button:hover, .tsnz-link-button:focus, a:hover .tsnz-link-button, a:focus .tsnz-link-button {
  color: #034ea2;
  text-decoration: none;
}
.tsnz-link-button:hover .tsnz-link-button__rule, .tsnz-link-button:focus .tsnz-link-button__rule, a:hover .tsnz-link-button .tsnz-link-button__rule, a:focus .tsnz-link-button .tsnz-link-button__rule {
  background-color: #034ea2;
}

.tsnz-symbol {
  display: block;
  width: 100%;
  pointer-events: none;
}
.tsnz-symbol use {
  pointer-events: none;
}
.tsnz-symbol--icon {
  max-width: 1em;
  max-height: 1em;
}
.tsnz-symbol--icon-2em {
  max-width: 2em;
  max-height: 2em;
}
.tsnz-symbol--inline {
  display: inline-block;
}

.tsnz-input {
  color: #034ea2;
}
.tsnz-input__label {
  display: block;
  margin-bottom: 0.625rem;
  font-weight: bold;
  color: #424952;
}
.tsnz-input__label.is-invalid-label {
  color: #ed1c24;
}
[data-whatintent=keyboard] .tsnz-input__input:focus, [data-whatinput=keyboard] .tsnz-input__input:focus {
  outline: -webkit-focus-ring-color auto 5px;
}
.tsnz-input__input::-webkit-input-placeholder {
  color: #424952;
}
.tsnz-input__input::-moz-placeholder {
  color: #424952;
}
.tsnz-input__input:-ms-input-placeholder {
  color: #424952;
}
.tsnz-input__input::-ms-input-placeholder {
  color: #424952;
}
.tsnz-input__input::placeholder {
  color: #424952;
}
.tsnz-input__input.is-invalid-input {
  border-color: #ed1c24;
  background-color: #f6f6f6;
}
.tsnz-input__input:-webkit-autofill {
  -webkit-animation-name: onAutoFillStart;
          animation-name: onAutoFillStart;
  -webkit-transition: background-color 50000s ease-in-out 0s;
  transition: background-color 50000s ease-in-out 0s;
}
.tsnz-input__input:not(:-webkit-autofill) {
  -webkit-animation-name: onAutoFillCancel;
          animation-name: onAutoFillCancel;
}
.tsnz-input__help-text {
  margin-top: 0.625rem;
  font-style: italic;
  color: #424952;
}
.tsnz-form--map-active .tsnz-input--build-location {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@-webkit-keyframes onAutoFillStart {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}
@keyframes onAutoFillStart {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes onAutoFillCancel {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}
@keyframes onAutoFillCancel {
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}

.tsnz-select {
  color: #034ea2;
}
.tsnz-select[hidden] {
  display: none;
}
.tsnz-select select {
  color: #424952;
  font-weight: normal;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M0.729492 0.729187L6.97949 6.97919L13.2295 0.729187' stroke='black' stroke-width='1.45833' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 14px 8px;
  background-origin: border-box;
  background-position: right 1rem center;
}
.tsnz-select select.is-invalid-input {
  border-color: #ed1c24;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #ed1c24;
}
.tsnz-select__label {
  display: block;
  margin-bottom: 0.625rem;
  color: #424952;
  font-weight: bold;
}
.tsnz-select__label.is-invalid-label {
  color: #ed1c24;
}
.tsnz-select--invisible-label label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-select--hidden-label label {
  visibility: hidden;
}
.tsnz-select--blue-border select {
  border-color: #034ea2;
}
.tsnz-select--no-margin select {
  margin: 0;
}

.tsnz-textarea {
  color: #034ea2;
}
.tsnz-textarea__label {
  display: block;
  margin-bottom: 0.625rem;
  font-weight: bold;
  color: #424952;
}
.tsnz-textarea__label.is-invalid-label {
  color: #ed1c24;
}
.tsnz-textarea__textarea::-webkit-input-placeholder {
  color: #424952;
}
.tsnz-textarea__textarea::-moz-placeholder {
  color: #424952;
}
.tsnz-textarea__textarea:-ms-input-placeholder {
  color: #424952;
}
.tsnz-textarea__textarea::-ms-input-placeholder {
  color: #424952;
}
.tsnz-textarea__textarea::placeholder {
  color: #424952;
}
.tsnz-textarea__textarea.is-invalid-input {
  border-color: #ed1c24;
  background-color: #f6f6f6;
}
.tsnz-textarea__help-text {
  margin-top: 0.625rem;
  font-style: italic;
  color: #424952;
}

.tsnz-button-group {
  margin-top: 1em;
  margin-bottom: 1em;
}
.tsnz-button-group input {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-button-group__label {
  margin-bottom: 0.5em;
  font-size: 1rem;
  font-weight: bold;
  color: currentColor;
}
.tsnz-button-group__wrapper {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0;
  font-size: 1em;
}
.tsnz-button-group__wrapper::before, .tsnz-button-group__wrapper::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-button-group__wrapper::after {
  clear: both;
}
.tsnz-button-group__wrapper .tsnz-button-group__button {
  margin: 0;
  margin-right: 0.375rem;
  margin-bottom: 0.375rem;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-button-group__wrapper .tsnz-button-group__button:last-child {
  margin-right: 0;
}
.tsnz-button-group__button {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  background-color: #f6f6f6;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-button-group__button {
  outline: 0;
}
.tsnz-button-group__button:hover, .tsnz-button-group__button:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-button-group__button:hover, .tsnz-button-group__button:focus {
  background-color: rgb(233.25, 233.25, 233.25);
  color: #034ea2;
}
.tsnz-button-group__button:focus, .tsnz-button-group__button:active, .tsnz-button-group__button:hover {
  text-decoration: none;
}
:focus + .tsnz-button-group__button.tsnz-button-group__button {
  background-color: rgb(220.5, 220.5, 220.5);
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.25s ease-in-out;
  transition: border-color 0.25s ease-in-out;
}
[data-whatintent=keyboard] :focus + .tsnz-button-group__button.tsnz-button-group__button, [data-whatinput=keyboard] :focus + .tsnz-button-group__button.tsnz-button-group__button {
  outline: -webkit-focus-ring-color auto 5px;
}
:checked + .tsnz-button-group__button, :checked:focus + .tsnz-button-group__button {
  border: 0.125rem solid #ffcb05;
  background-color: transparent;
  color: #034ea2;
}
:checked + .tsnz-button-group__button:hover, :checked + .tsnz-button-group__button:focus, :checked:focus + .tsnz-button-group__button:hover, :checked:focus + .tsnz-button-group__button:focus {
  border-color: #034ea2;
  background-color: transparent;
  color: #034ea2;
}
:checked + .tsnz-button-group__button:active, :checked + .tsnz-button-group__button.active, :checked:focus + .tsnz-button-group__button:active, :checked:focus + .tsnz-button-group__button.active {
  opacity: 0.9;
  border-color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
  background-color: transparent;
  color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
}
:checked + .tsnz-button-group__button[disabled], :checked + .tsnz-button-group__button.disabled, :checked:focus + .tsnz-button-group__button[disabled], :checked:focus + .tsnz-button-group__button.disabled {
  border-color: #f6f6f6;
  background-color: #f6f6f6;
  color: #e4e4e4;
  pointer-events: none;
  cursor: not-allowed;
}
:disabled + .tsnz-button-group__button {
  opacity: 0.2;
  cursor: not-allowed;
}
.tsnz-button-group__button.is-invalid-label {
  background-color: rgba(204, 75, 55, 0.1);
  color: #cc4b37;
}
.tsnz-button-group__optional-text, .tsnz-button-group__help-text {
  font-style: italic;
  color: #a4a4a4;
}
.tsnz-button-group--centered .tsnz-button-group__wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.tsnz-button-group--tight .tsnz-button-group__wrapper {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0;
}
.tsnz-button-group--tight .tsnz-button-group__wrapper::before, .tsnz-button-group--tight .tsnz-button-group__wrapper::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-button-group--tight .tsnz-button-group__wrapper::after {
  clear: both;
}
.tsnz-button-group--tight .tsnz-button-group__wrapper .tsnz-button-group__button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-button-group--tight .tsnz-button-group__wrapper .tsnz-button-group__button:last-child {
  margin-right: 0;
}
.tsnz-button-group--tight .tsnz-button-group__button {
  padding-right: 0.925em;
  padding-left: 0.925em;
}
.tsnz-button-group--expand .tsnz-button-group__wrapper .tsnz-button-group__button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.tsnz-button-group--hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.tsnz-checkbox-group {
  margin-top: 1em;
  margin-bottom: 2em;
}
.tsnz-checkbox-group input {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-checkbox-group__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: 0 auto;
}
.tsnz-checkbox-group__label {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
  padding-left: 2.5em;
  font-size: 1em;
  font-weight: bold;
  color: #424952;
  line-height: 1.4;
}
[type=checkbox] + .tsnz-checkbox-group__label {
  margin-left: 0;
}
.tsnz-checkbox-group__label:before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  top: 0;
  left: 0;
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #e4e4e4;
  border-radius: 0.25rem;
  background-color: #f6f6f6;
}
.tsnz-checkbox-group__label:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  top: 0.375em;
  left: 0.2em;
  display: inline-block;
  width: 0.875em;
  height: 0.375em;
  opacity: 0.2;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  border-bottom: 0.125em solid #ffffff;
  border-left: 0.125em solid #ffffff;
  -webkit-transition: opacity 0.3s 0.1s ease;
  transition: opacity 0.3s 0.1s ease;
}
:focus + .tsnz-checkbox-group__label:before {
  background-color: rgb(220.5, 220.5, 220.5);
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.25s ease-in-out;
  transition: border-color 0.25s ease-in-out;
}
[data-whatintent=keyboard] :focus + .tsnz-checkbox-group__label:before, [data-whatinput=keyboard] :focus + .tsnz-checkbox-group__label:before {
  outline: -webkit-focus-ring-color auto 5px;
}
:checked + .tsnz-checkbox-group__label:before {
  -webkit-animation: checkbox-active 0.7s cubic-bezier(0.11, 0.92, 0.05, 0.99) forwards;
          animation: checkbox-active 0.7s cubic-bezier(0.11, 0.92, 0.05, 0.99) forwards;
}
:checked + .tsnz-checkbox-group__label:after {
  opacity: 1;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-animation: tick-active 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99) 0.1s 1 forwards;
          animation: tick-active 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99) 0.1s 1 forwards;
}
.tsnz-checkbox-group__label.is-invalid-label {
  margin-bottom: 1rem;
}
.tsnz-checkbox-group--3-col .tsnz-checkbox-group__wrapper {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.tsnz-checkbox-group--3-col .tsnz-checkbox-group__label {
  width: 50%;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-checkbox-group--3-col .tsnz-checkbox-group__label {
    width: 33.3333333333%;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 1rem;
  }
}
.tsnz-checkbox-group--padding-top {
  padding-top: 1.5rem;
}

@-webkit-keyframes tick-active {
  from {
    opacity: 0;
    -webkit-transform: scale(0.3) rotate(-45deg);
            transform: scale(0.3) rotate(-45deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) rotate(-45deg);
            transform: scale(1) rotate(-45deg);
  }
}

@keyframes tick-active {
  from {
    opacity: 0;
    -webkit-transform: scale(0.3) rotate(-45deg);
            transform: scale(0.3) rotate(-45deg);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) rotate(-45deg);
            transform: scale(1) rotate(-45deg);
  }
}
@-webkit-keyframes checkbox-active {
  0% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  10% {
    opacity: 0.1;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    background: rgb(202.5, 202.5, 202.5);
  }
  12% {
    opacity: 0.4;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    background: #e4e4e4;
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 0;
    background: #034ea2;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    border-color: #034ea2;
    background: #034ea2;
  }
}
@keyframes checkbox-active {
  0% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  10% {
    opacity: 0.1;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    background: rgb(202.5, 202.5, 202.5);
  }
  12% {
    opacity: 0.4;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    background: #e4e4e4;
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border: 0;
    background: #034ea2;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    border-color: #034ea2;
    background: #034ea2;
  }
}
.tsnz-loading {
  width: 4.375em;
  height: 2.5em;
  margin: 0 auto;
  color: #034ea2;
  text-align: center;
}
.tsnz-loading div {
  display: inline-block;
  width: 0.125em;
  height: 100%;
  margin: 0 0.25em;
  background-color: currentColor;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: stretchdelay;
          animation-name: stretchdelay;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}
.tsnz-loading__rect2 {
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s;
}
.tsnz-loading__rect3 {
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}
.tsnz-loading__rect4 {
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s;
}
.tsnz-loading__rect5 {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}
.tsnz-loading--white {
  color: #ffffff;
}

@-webkit-keyframes stretchdelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.4);
            transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}

@keyframes stretchdelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.4);
            transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}
.tsnz-blockquote > p {
  font-size: 1.25rem;
  line-height: 1.2;
}
.tsnz-blockquote__cite {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  font-style: normal;
}
.tsnz-blockquote__credit {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: auto;
  margin-right: 0;
  margin-left: 0;
  text-transform: uppercase;
}
@media screen and (min-width: 64em) {
  .tsnz-blockquote__credit {
    line-height: 2.2;
  }
}
.tsnz-blockquote__button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1rem);
  margin-top: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-blockquote__button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    margin-right: 1rem;
    margin-left: 1rem;
    margin-top: 0;
  }
}

/**
 *  Components
 */
.tsnz-grid__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-grid__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-grid__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-grid__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-grid__item {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-grid__item {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-grid__hgroup {
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-grid__hgroup {
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-grid__content {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
.tsnz-grid__toggle {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  text-align: center;
}
.tsnz-grid__toggle a {
  position: relative;
  display: none;
  width: 10rem;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.tsnz-grid__toggle a:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "Hide -";
}
@media screen and (max-width: 43.74875em) {
  .tsnz-grid__toggle a[data-content] {
    display: inline-block;
  }
  .tsnz-grid__toggle a[data-content]:after {
    visibility: visible;
  }
}
@media screen and (min-width: 43.75em) and (max-width: 63.99875em) {
  .tsnz-grid__toggle a[data-med-content] {
    display: inline-block;
  }
  .tsnz-grid__toggle a[data-med-content]:after {
    visibility: visible;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-grid__toggle a[data-lrg-content] {
    display: inline-block;
  }
  .tsnz-grid__toggle a[data-lrg-content]:after {
    visibility: visible;
  }
}
.tsnz-grid__heading {
  margin: 0;
  padding: 1.5rem 0;
  line-height: 1;
  text-align: center;
}
.tsnz-block__sidebar .tsnz-grid__heading {
  padding-top: 0;
  text-align: left;
}
.tsnz-grid--no-container .tsnz-grid__container {
  padding: 0;
}
.tsnz-grid--no-container .tsnz-grid__item,
.tsnz-grid--no-container .tsnz-grid__content {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.tsnz-grid--3-up .tsnz-grid__item {
  margin-top: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-grid--3-up .tsnz-grid__item {
    margin-top: 1rem;
    margin-right: 1rem;
    margin-bottom: 1rem;
    margin-left: 1rem;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-grid--3-up .tsnz-grid__item {
    width: calc(50% - 1rem);
    margin-top: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 0.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-grid--3-up .tsnz-grid__item {
    width: calc(33.3333333333% - 2rem);
    margin-top: 1rem;
    margin-right: 1rem;
    margin-bottom: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-grid--vertical-gutters {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.tsnz-grid--margin-top {
  margin-top: 1rem;
}
.tsnz-grid--vertical-gutters .tsnz-grid__item, .tsnz-grid--gutters-bottom .tsnz-grid__item {
  margin-bottom: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-grid--vertical-gutters .tsnz-grid__item, .tsnz-grid--gutters-bottom .tsnz-grid__item {
    margin-bottom: 2rem;
  }
}
.tsnz-grid--vertical-gutters .tsnz-grid__item, .tsnz-grid--gutters-top .tsnz-grid__item {
  margin-top: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-grid--vertical-gutters .tsnz-grid__item, .tsnz-grid--gutters-top .tsnz-grid__item {
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 64em) and (min-width: 64em) {
  .tsnz-grid--vertical-gutters .tsnz-grid__item, .tsnz-grid--gutters-top .tsnz-grid__item {
    margin-top: 1rem;
  }
}
.tsnz-grid--left-aligned-title .tsnz-grid__heading {
  text-align: left;
}
.tsnz-grid--grey-border-bottom .tsnz-grid__toggle {
  border-bottom: solid 1px #e4e4e4;
}
.tsnz-grid--truncated-grid-items .tsnz-grid__item:nth-child(n+2) {
  display: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-grid--truncated-grid-items .tsnz-grid__item:nth-child(n+2) {
    display: block;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-grid--truncated-grid-items .tsnz-grid__item:nth-child(n+3) {
    display: none;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-grid--truncated-grid-items .tsnz-grid__item:nth-child(n+3) {
    display: block;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-grid--truncated-grid-items .tsnz-grid__item:nth-child(n+4) {
    display: none;
  }
}
.tsnz-grid--truncated-grid-items .tsnz-grid__content ~ .tsnz-grid__item:nth-child(4) {
  display: block;
}
.tsnz-grid--truncated-grid-items .tsnz-grid__toggle a:after {
  content: attr(data-content);
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-grid--truncated-grid-items .tsnz-grid__toggle a:after {
    content: attr(data-med-content);
  }
}
@media screen and (min-width: 64em) {
  .tsnz-grid--truncated-grid-items .tsnz-grid__toggle a:after {
    content: attr(data-lrg-content);
  }
}

.tsnz-offcanvas {
  position: relative;
  overflow: hidden;
}
.tsnz-offcanvas__panel {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #034ea2;
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 80vw;
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
  -webkit-transition: visibility 0.5s ease, -webkit-transform 0.5s ease;
  transition: visibility 0.5s ease, -webkit-transform 0.5s ease;
  transition: transform 0.5s ease, visibility 0.5s ease;
  transition: transform 0.5s ease, visibility 0.5s ease, -webkit-transform 0.5s ease;
}
.tsnz-offcanvas__panel .is-off-canvas-open {
  overflow: hidden;
}
.tsnz-offcanvas__panel .js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.tsnz-offcanvas__panel .js-off-canvas-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}
.tsnz-offcanvas__panel .js-off-canvas-overlay.is-closable {
  cursor: pointer;
}
.tsnz-offcanvas__panel .js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}
.tsnz-offcanvas__panel .js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}
[data-whatinput=mouse] .tsnz-offcanvas__panel {
  outline: 0;
}
.tsnz-offcanvas__panel.is-transition-push {
  z-index: 12;
}
.tsnz-offcanvas__panel.is-closed {
  visibility: hidden;
}
.tsnz-offcanvas__panel.is-transition-overlap {
  z-index: 13;
}
.tsnz-offcanvas__panel.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(21, 41, 49, 0.7);
          box-shadow: 0 0 10px rgba(21, 41, 49, 0.7);
}
.tsnz-offcanvas__panel.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.tsnz-offcanvas__content .off-canvas.position-right {
  -webkit-transform: translateX(80vw);
          transform: translateX(80vw);
}
.tsnz-offcanvas__content .off-canvas.position-right.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.tsnz-offcanvas__content.is-open-right.has-transition-push {
  -webkit-transform: translateX(-80vw);
          transform: translateX(-80vw);
}

.tsnz-offcanvas__panel.is-transition-push {
  -webkit-box-shadow: inset 13px 0 20px -13px rgba(21, 41, 49, 0.25);
          box-shadow: inset 13px 0 20px -13px rgba(21, 41, 49, 0.25);
}
.tsnz-offcanvas__content {
  -webkit-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.tsnz-offcanvas__content.has-transition-push {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
.tsnz-offcanvas__content .off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.tsnz-header {
  position: relative;
  z-index: 20;
  background-color: #ffffff;
}
.tsnz-header__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-header__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-header__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-header__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
@media screen and (min-width: 64em) {
  .tsnz-header__wrapper {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-bottom: 0;
  }
}
.tsnz-header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.tsnz-header__logo-link {
  display: block;
}
.tsnz-header__logo svg {
  display: block;
  width: 6.5625rem;
  height: 2.75rem;
  -webkit-box-shadow: 0 0 8px rgba(21, 41, 49, 0.4);
          box-shadow: 0 0 8px rgba(21, 41, 49, 0.4);
}
@media screen and (min-width: 64em) {
  .tsnz-header__logo svg {
    width: 13.5625rem;
    height: 5.6875rem;
  }
}
.tsnz-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-header__actions {
    gap: 2rem;
  }
}
.tsnz-header__action {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #034ea2;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.tsnz-header__action:hover, .tsnz-header__action:focus {
  color: rgb(1.8, 46.8, 97.2);
  text-decoration: none;
}
.tsnz-header__action .tsnz-symbol {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: visible;
  color: #ffcb05;
}
.tsnz-header__search .tsnz-symbol {
  width: 1.25rem;
  height: 1.25rem;
}
.tsnz-header__phone .tsnz-symbol {
  width: 1.5rem;
  height: 1.5rem;
}
.tsnz-header__action-label {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-header__action-label {
    display: inline-block;
  }
}
.tsnz-header__cta {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-header__cta {
    display: block;
  }
}
.tsnz-header__nav-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 64em) {
  .tsnz-header__nav-toggle {
    display: none;
  }
}
.tsnz-header__nav-toggle > button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  color: #034ea2;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
[data-whatintent=mouse] .tsnz-header__nav-toggle > button, [data-whatintent=touch] .tsnz-header__nav-toggle > button {
  outline: none;
}
.tsnz-header__nav-toggle > button:hover, .tsnz-header__nav-toggle > button:focus {
  color: rgb(1.8, 46.8, 97.2);
}
.tsnz-header__nav-toggle .hamburger-inner,
.tsnz-header__nav-toggle .hamburger-inner::before,
.tsnz-header__nav-toggle .hamburger-inner::after {
  background-color: currentColor;
}
.tsnz-header__nav {
  display: none;
  max-width: 100rem;
  margin: 0 auto;
  background-color: #034ea2;
}
@media screen and (min-width: 64em) {
  .tsnz-header__nav {
    display: block;
  }
}
.tsnz-header__nav-container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-header__nav-container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-header__nav-container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}

.tsnz-footer {
  padding-top: 2.5rem;
  padding-bottom: 2rem;
  background-color: #02346d;
  color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-footer {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
}
.tsnz-footer__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-footer__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-footer__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-footer__nav a, .tsnz-footer__phone-link, .tsnz-footer__social-icon, .tsnz-footer__credit a, .tsnz-footer__legal a {
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.tsnz-footer__nav a:hover, .tsnz-footer__nav a:focus, .tsnz-footer__phone-link:hover, .tsnz-footer__phone-link:focus, .tsnz-footer__social-icon:hover, .tsnz-footer__social-icon:focus, .tsnz-footer__credit a:hover, .tsnz-footer__credit a:focus, .tsnz-footer__legal a:hover, .tsnz-footer__legal a:focus {
  opacity: 0.8;
}
.tsnz-footer__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  text-align: center;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: left;
  }
}
.tsnz-footer__aside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__aside {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 18.5625rem;
            flex: 0 0 18.5625rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2rem;
  }
}
.tsnz-footer__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__actions {
    gap: 0.5rem;
    width: 12.5rem;
  }
}
.tsnz-footer__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.tsnz-footer__phone-label {
  color: #ffffff;
}
.tsnz-footer__phone-link {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.875rem;
  letter-spacing: -0.02em;
  color: #ffcb05;
}
.tsnz-footer__phone-link:hover, .tsnz-footer__phone-link:focus {
  color: #ffcb05;
}
.tsnz-footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__social {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.tsnz-footer__social-title {
  color: #a4a4a4;
}
.tsnz-footer__social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
}
.tsnz-footer__social-icon {
  display: block;
  width: 2.4375rem;
  height: 2.4375rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.tsnz-footer__social-icon:hover, .tsnz-footer__social-icon:focus {
  opacity: 1;
  color: #e4e4e4;
}
.tsnz-footer__social-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.tsnz-footer__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  width: 100%;
  text-align: left;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__nav {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
  }
}
.tsnz-footer__nav-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__nav-group {
    display: contents;
  }
}
.tsnz-footer__nav-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.tsnz-footer__nav-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tsnz-footer__nav-column li a {
  color: #e4e4e4;
  font-size: 0.9375rem;
  line-height: 1.625rem;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__nav-column li a {
    font-size: 1rem;
    line-height: 1.875rem;
  }
}
.tsnz-footer__nav-header {
  margin: 0;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.5rem;
  letter-spacing: -0.01em;
}
.tsnz-footer__nav-header a {
  color: #ffcb05;
}
.tsnz-footer__rule {
  width: 100%;
  margin: 2rem 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.tsnz-footer__credit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  text-align: center;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__credit {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.5rem;
    text-align: left;
  }
}
.tsnz-footer__credit-copy {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  letter-spacing: -0.01em;
  opacity: 0.8;
}
@media screen and (min-width: 64em) {
  .tsnz-footer__credit-copy {
    opacity: 1;
  }
}
.tsnz-footer__legal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.5rem;
  letter-spacing: -0.01em;
}

.tsnz-block__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-block__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-block__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-block__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-block__sidebar, .tsnz-block__content {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-block__sidebar, .tsnz-block__content {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-block:before {
  background-color: #ffffff;
}
.tsnz-block__wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.tsnz-block__container:not(:last-child) {
  margin-bottom: 2rem;
}
.tsnz-block__content > *, .tsnz-block__sidebar > * {
  margin-bottom: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-block__content > *, .tsnz-block__sidebar > * {
    margin-bottom: 2rem;
  }
}
.tsnz-block__content > *:last-child, .tsnz-block__sidebar > *:last-child {
  margin-bottom: 0;
}
.tsnz-block__sidebar {
  min-width: 21rem;
  max-width: 48.125rem;
  margin-top: 2rem;
}
@media screen and (min-width: 65em) {
  .tsnz-block__sidebar {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-block__sidebar {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-block__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: auto;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  max-width: 48.125rem;
}
@media screen and (min-width: 50.625em) {
  .tsnz-block__content {
    min-width: 48.125rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-block__content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-block--dark-gray {
  background-color: rgb(56.9027027027, 62.9378378378, 70.6972972973);
}
.tsnz-block--dark-gray:before {
  background-color: rgb(56.9027027027, 62.9378378378, 70.6972972973);
}
@supports (background-image: conic-gradient(from 100deg, rgb(56.9027027027, 62.9378378378, 70.6972972973), #424952)) {
  .tsnz-block--dark-gray {
    background-image: conic-gradient(from 100deg, rgb(56.9027027027, 62.9378378378, 70.6972972973), #424952);
  }
}
.tsnz-block--dark-gray h2 {
  color: #ffcb05;
}
.tsnz-block--refresh-dark-gray {
  color: #034ea2;
  background-color: #e2e8ef;
}
.tsnz-block--refresh-dark-gray:before {
  background-color: #e2e8ef;
}
.tsnz-block--refresh-dark-gray h2 {
  color: #034ea2;
}
.tsnz-block--white {
  background-color: #ffffff;
}
.tsnz-block--white:before {
  background-color: #ffffff;
}
.tsnz-block--lightest-gray {
  background-color: #f6f6f6;
}
.tsnz-block--lightest-gray:before {
  background-color: #f6f6f6;
}
.tsnz-block--light-blue {
  background-color: #C8E7FE;
}
.tsnz-block--light-blue:before {
  background-color: #C8E7FE;
}
.tsnz-block--min-height-60vh {
  min-height: 60vh;
}
.tsnz-block--padding {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.tsnz-block--double-padding {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.tsnz-block--triple-padding {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.tsnz-block--triple-padding-bottom {
  padding-bottom: 6rem;
}
.tsnz-block--padding-top {
  padding-top: 2rem;
}
.tsnz-block--double-padding-top {
  padding-top: 4rem;
}
.tsnz-block--padding-bottom {
  padding-bottom: 2rem;
}
.tsnz-block--double-padding-bottom {
  padding-bottom: 4rem;
}
.tsnz-block--over-hanging + .tsnz-block {
  padding-top: 4rem;
}
.tsnz-block--white-border {
  border-bottom: 1px solid #ffffff;
}
.tsnz-block--offset {
  position: relative;
}
.tsnz-block--offset:before {
  position: absolute;
  top: -3rem;
  width: 100%;
  height: 3rem;
  content: " ";
}
@media screen and (max-width: 23.75em) {
  .tsnz-blocks--collapse-for-xsmall .tsnz-block:first-child {
    padding-top: 0;
    background-color: #ffffff;
  }
}
@media screen and (max-width: 23.75em) {
  .tsnz-blocks--has-menu .tsnz-block:nth-child(1) {
    padding-top: 0;
    background-color: #ffffff;
  }
}
[data-tsnz-tabs] .tsnz-block[aria-hidden=false] {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: custom-5;
          animation-name: custom-5;
  -webkit-animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
          animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
}
[data-tsnz-tabs] .tsnz-block[aria-hidden=true] {
  display: none;
}

.tsnz-block-menu {
  background-color: #f6f6f6;
}
.tsnz-block-menu__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-block-menu__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-block-menu__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-block-menu__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-block-menu__button, .tsnz-block-menu__menu {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-block-menu__button, .tsnz-block-menu__menu {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-block-menu__wrapper {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 1rem;
}
.tsnz-block-menu__menu {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-block-menu__menu {
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-block-menu__button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: auto;
  margin-top: 0.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-block-menu__button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    margin-top: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 0.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-block-menu__button {
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-block-menu__menu-list {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
[data-whatinput=mouse] .tsnz-block-menu__menu-list li {
  outline: 0;
}
.tsnz-block-menu__menu-list a,
.tsnz-block-menu__menu-list .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 1rem 1rem;
}
.tsnz-block-menu__menu-list input,
.tsnz-block-menu__menu-list select,
.tsnz-block-menu__menu-list a,
.tsnz-block-menu__menu-list button {
  margin-bottom: 0;
}
.tsnz-block-menu__menu-list input {
  display: inline-block;
}
@media screen and (min-width: 64em) {
  .tsnz-block-menu__menu-list {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}
@media screen and (min-width: 64em) and (min-width: 64em) {
  .tsnz-block-menu__menu-list {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.tsnz-block-menu__menu-item {
  margin-top: 1rem;
  margin-bottom: 1rem;
  position: relative;
}
.tsnz-block-menu__menu-item:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  top: auto;
  right: 0.5rem;
  left: 0.5rem;
  display: block;
  height: 2px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
  background: #ffcb05;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 64em) {
  .tsnz-block-menu__menu-item:after {
    right: 1rem;
    left: 1rem;
  }
}
.tsnz-block-menu__menu-item:hover:after, .tsnz-block-menu__menu-item.is-active:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.tsnz-block-menu__menu-link {
  font-size: 1.125rem;
  font-weight: bold;
}
[data-whatintent=mouse] .tsnz-block-menu__menu-link, [data-whatintent=touch] .tsnz-block-menu__menu-link {
  outline: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-block-menu__menu-link {
    font-size: 1.5rem;
  }
}

.tsnz-card__content {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-card__content {
    padding: 1.5rem;
  }
}

.tsnz-card__wrapper {
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

@media screen and (min-width: 23.75em) {
  .tsnz-card h2 {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 4.025rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1.75rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 2;
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 23.75em) {
  .tsnz-card h3 {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 3.51rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1.5rem;
    line-height: 1.17;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 2;
    margin-bottom: 0.75em;
  }
}
@media screen and (min-width: 23.75em) {
  .tsnz-card h4 {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 3.5rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1.25rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 2;
    margin-bottom: 1rem;
  }
}
.tsnz-card__wrapper {
  background-color: #ffffff;
  font-size: 1rem;
  color: #152931;
  position: relative;
  display: block;
}
.tsnz-card__wrapper[href],
.tsnz-card__wrapper a {
  color: currentColor;
}
.tsnz-card__wrapper[href]:hover,
.tsnz-card__wrapper a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-card__wrapper::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  background-color: rgba(21, 41, 49, 0.05);
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  pointer-events: none;
}
.tsnz-card__wrapper[href]:hover::before {
  opacity: 1;
}
.tsnz-card__heading {
  color: #034ea2;
}
.tsnz-card__subtitle {
  color: #a4a4a4;
}
.tsnz-card__description {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 5.6rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 4;
  margin-bottom: 1.875rem;
  color: currentColor;
}
.tsnz-card__link {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  background-color: #e4e4e4;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-card__link {
  outline: 0;
}
.tsnz-card__link:hover, .tsnz-card__link:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-card__link:hover, .tsnz-card__link:focus {
  background-color: rgb(215.25, 215.25, 215.25);
  color: #034ea2;
}
.tsnz-card__link:focus, .tsnz-card__link:active, .tsnz-card__link:hover {
  text-decoration: none;
  border-color: rgb(215.25, 215.25, 215.25);
}
.tsnz-card__image {
  position: relative;
}
.tsnz-card__image svg {
  position: absolute;
  top: calc(50% - 2em);
  right: calc(50% - 2em);
  display: block;
  width: 4em;
  height: 4em;
  color: currentColor;
}
.tsnz-card__badge {
  position: absolute;
  top: 1rem;
  left: 0;
  z-index: 5;
  display: inline-block;
  padding: 0.75rem 2rem;
  background-color: #034ea2;
  font-style: italic;
  font-weight: bold;
  color: #ffffff;
}
.tsnz-card--primary-button .tsnz-card__link {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  border: 0.125rem solid #ffcb05;
  background-color: transparent;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-card--primary-button .tsnz-card__link {
  outline: 0;
}
.tsnz-card--primary-button .tsnz-card__link:hover, .tsnz-card--primary-button .tsnz-card__link:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-card--primary-button .tsnz-card__link:hover, .tsnz-card--primary-button .tsnz-card__link:focus {
  border-color: #034ea2;
  background-color: transparent;
  color: #034ea2;
}
.tsnz-card--primary-button .tsnz-card__link:active, .tsnz-card--primary-button .tsnz-card__link.active {
  opacity: 0.9;
  border-color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
  background-color: transparent;
  color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
}
.tsnz-card--primary-button .tsnz-card__link[disabled], .tsnz-card--primary-button .tsnz-card__link.disabled {
  border-color: #f6f6f6;
  background-color: #f6f6f6;
  color: #e4e4e4;
  pointer-events: none;
  cursor: not-allowed;
}
.tsnz-card--primary-button .tsnz-card__link:focus, .tsnz-card--primary-button .tsnz-card__link:active, .tsnz-card--primary-button .tsnz-card__link:hover {
  text-decoration: none;
}
@media screen and (min-width: 34.375em) {
  .tsnz-card--horizontal .tsnz-card__wrapper, .tsnz-card--vertical-for-sidebar .tsnz-card__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    max-width: 48.125rem;
  }
}
@media screen and (min-width: 34.375em) {
  .tsnz-card--horizontal .tsnz-card__image, .tsnz-card--vertical-for-sidebar .tsnz-card__image {
    width: 50%;
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 34.375em) {
  .tsnz-card--horizontal .tsnz-card__image img, .tsnz-card--vertical-for-sidebar .tsnz-card__image img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    font-family: "object-fit: cover";
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 34.375em) {
  .tsnz-card--horizontal .tsnz-card__content, .tsnz-card--vertical-for-sidebar .tsnz-card__content {
    width: 50%;
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (max-width: 23.75em) {
  .tsnz-card--collapse-for-xsmall .tsnz-card__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
@media screen and (min-width: 65em) {
  .tsnz-card--vertical-for-sidebar .tsnz-card__image {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-bottom: 67.5675675676%;
  }
}
@media screen and (min-width: 65em) {
  .tsnz-card--vertical-for-sidebar .tsnz-card__content {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
.tsnz-card--featured .tsnz-card__wrapper {
  max-width: 90rem;
}
.tsnz-card--featured .tsnz-card__heading {
  display: block;
  height: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-card--featured .tsnz-card__description {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 8.4rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 6;
    margin-bottom: 1.875rem;
  }
}
.tsnz-card--promo .tsnz-card__badge {
  background-color: rgb(210, 29.625, 37.625);
}

.tsnz-card-grid__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-card-grid__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-card-grid__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-card-grid__header {
  max-width: 43.75rem;
  margin: 0 auto 1rem;
  text-align: center;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-card-grid__header {
    margin-bottom: 2.5rem;
  }
}
.tsnz-card-grid__heading {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-card-grid__heading {
    margin-bottom: 1.5rem;
  }
}
.tsnz-card-grid__intro {
  margin-bottom: 0;
}
.tsnz-card-grid__items {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 3rem;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-card-grid__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
.tsnz-card-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tsnz-card-grid__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.tsnz-card-grid__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.tsnz-card-grid__link:hover, .tsnz-card-grid__link:focus {
  color: inherit;
  text-decoration: none;
}
.tsnz-card-grid__link:hover .tsnz-card-grid__image, .tsnz-card-grid__link:focus .tsnz-card-grid__image {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.tsnz-card-grid__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  margin-bottom: 1rem;
}
@supports not (aspect-ratio: 1) {
  .tsnz-card-grid__media {
    height: 0;
    padding-bottom: 100%;
  }
}
.tsnz-card-grid__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.tsnz-card-grid__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-card-grid__body {
    gap: 1rem;
  }
}
.tsnz-card-grid__card-heading {
  margin-bottom: 0;
  color: #034ea2;
}
.tsnz-card-grid__description {
  margin-bottom: 0;
}
.tsnz-card-grid__cta {
  margin-top: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-card-grid--3-up .tsnz-card-grid__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 64em) {
  .tsnz-card-grid--4-up .tsnz-card-grid__items {
    grid-template-columns: repeat(4, 1fr);
  }
}
.tsnz-card-grid--5-4 .tsnz-card-grid__media {
  aspect-ratio: 5/4;
}
@supports not (aspect-ratio: 5/4) {
  .tsnz-card-grid--5-4 .tsnz-card-grid__media {
    height: 0;
    padding-bottom: 80%;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-card-grid--hide-images-mobile .tsnz-card-grid__items {
    gap: 1rem;
  }
  .tsnz-card-grid--hide-images-mobile .tsnz-card-grid__media {
    display: none;
  }
  .tsnz-card-grid--hide-images-mobile .tsnz-card-grid__card {
    border: 1px solid rgba(0, 0, 0, 0.08);
    background-color: #ffffff;
  }
  .tsnz-card-grid--hide-images-mobile .tsnz-card-grid__link {
    padding: 1.25rem;
  }
  .tsnz-card-grid--hide-images-mobile .tsnz-card-grid__card > .tsnz-card-grid__body {
    padding: 1.25rem;
  }
}

.tsnz-content-image__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content-image__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-image__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-content-image__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-image__inner {
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 4rem;
  }
}
.tsnz-content-image__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@supports not (aspect-ratio: 4/3) {
  .tsnz-content-image__media {
    height: 0;
    padding-bottom: 75%;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-image__media {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
.tsnz-content-image__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-content-image__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-image__content {
    padding-top: 1.5rem;
    gap: 1.5rem;
  }
}
.tsnz-content-image__heading {
  margin-bottom: 0;
  text-wrap: balance;
}
.tsnz-content-image__body > :last-child {
  margin-bottom: 0;
}
.tsnz-content-image__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
.tsnz-content-image__buttons > .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-content-image__buttons > .tsnz-action-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-image--image-left .tsnz-content-image__media {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-content-image--mobile-image-bottom .tsnz-content-image__media {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-content-image--mobile-image-hidden .tsnz-content-image__media {
    display: none;
  }
}

.tsnz-content-block__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content-block__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-block__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-content-block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-block__inner {
    gap: 1.5rem;
  }
}
.tsnz-content-block__heading {
  margin-bottom: 0;
  text-wrap: balance;
}
.tsnz-content-block__body > :last-child {
  margin-bottom: 0;
}
.tsnz-content-block__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
.tsnz-content-block__buttons > .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-content-block__buttons > .tsnz-action-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.tsnz-content-block-secondary__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  padding-block: 2.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content-block-secondary__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-block-secondary__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-block-secondary__container {
    padding-block: 4rem;
  }
}
.tsnz-content-block-secondary__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 60rem;
  margin-inline: auto;
  text-align: center;
  gap: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-block-secondary__inner {
    gap: 2rem;
  }
}
.tsnz-content-block-secondary__heading {
  margin-bottom: 0;
  color: #034ea2;
  text-wrap: balance;
}
.tsnz-content-block-secondary__body {
  color: #034ea2;
}
.tsnz-content-block-secondary__body > :last-child {
  margin-bottom: 0;
}
.tsnz-content-block-secondary__body a {
  color: inherit;
  text-decoration: underline;
}

.tsnz-case-study-header__container {
  width: 100%;
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-case-study-header__container {
    padding-left: 0;
    padding-right: 0;
  }
}
.tsnz-case-study-header__eyebrow {
  margin: 0 0 0.5rem;
  color: #ffcb05;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.tsnz-case-study-header__title {
  margin: 0;
  color: #034ea2;
}
.tsnz-case-study-header__rule {
  display: block;
  width: 100%;
  height: 0.1875rem;
  margin-top: 1.25rem;
  background-color: #ffcb05;
}

.tsnz-cs-content,
.tsnz-cs-video,
.tsnz-cs-image,
.tsnz-cs-quote {
  margin-top: 2.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cs-content,
  .tsnz-cs-video,
  .tsnz-cs-image,
  .tsnz-cs-quote {
    margin-top: 3rem;
  }
}

.tsnz-cs-content__container {
  width: 100%;
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cs-content__container {
    padding-left: 0;
    padding-right: 0;
  }
}
.tsnz-cs-content__body {
  color: #424952;
}
.tsnz-cs-content__body h2,
.tsnz-cs-content__body h3,
.tsnz-cs-content__body h4,
.tsnz-cs-content__body h5 {
  color: #034ea2;
}
.tsnz-cs-content__body > *:first-child {
  margin-top: 0;
}
.tsnz-cs-content__body > *:last-child {
  margin-bottom: 0;
}

.tsnz-cs-video__container {
  width: 100%;
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cs-video__container {
    padding-left: 0;
    padding-right: 0;
  }
}
.tsnz-cs-video__heading {
  margin: 0 0 1rem;
  color: #034ea2;
  font-weight: bold;
  font-size: 1rem;
}
.tsnz-cs-video__media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background-color: #034ea2;
}
.tsnz-cs-video__media iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
@supports not (aspect-ratio: 16/9) {
  .tsnz-cs-video__media {
    height: 0;
    padding-top: 56.25%;
  }
}
.tsnz-cs-video__facade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.tsnz-cs-video__facade:hover .tsnz-cs-video__play, .tsnz-cs-video__facade:focus-visible .tsnz-cs-video__play {
  -webkit-transform: translate(-50%, -50%) scale(1.06);
          transform: translate(-50%, -50%) scale(1.06);
}
.tsnz-cs-video__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-cs-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  background-color: #ffcb05;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.tsnz-cs-video__play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 0.6875rem 0 0.6875rem 1.125rem;
  border-color: transparent transparent transparent #034ea2;
}

.tsnz-cs-image__container {
  width: 100%;
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cs-image__container {
    padding-left: 0;
    padding-right: 0;
  }
}
.tsnz-cs-image__heading {
  margin: 0 0 1rem;
  color: #034ea2;
  font-weight: bold;
  font-size: 1rem;
}
.tsnz-cs-image__image {
  display: block;
  width: 100%;
  height: auto;
}

.tsnz-cs-quote__container {
  width: 100%;
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cs-quote__container {
    padding-left: 0;
    padding-right: 0;
  }
}
.tsnz-cs-quote__mark {
  display: block;
  width: 3.125rem;
  margin-bottom: 1.5rem;
  color: #ffcb05;
}
.tsnz-cs-quote__mark .svg-icon {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
}
.tsnz-cs-quote__text {
  margin: 0;
  padding: 0;
  border: 0;
  color: #424952;
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1.5;
}
.tsnz-cs-quote__attribution {
  margin: 1.5rem 0 0;
  color: #034ea2;
}

.tsnz-partners__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  padding-block: 2.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-partners__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-partners__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-partners__container {
    padding-block: 4rem;
  }
}
.tsnz-partners__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 64em) {
  .tsnz-partners__inner {
    gap: 2.5rem;
  }
}
.tsnz-partners__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 43.75rem;
  text-align: center;
  color: #034ea2;
  gap: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-partners__header {
    gap: 2.5rem;
  }
}
.tsnz-partners__heading {
  margin-bottom: 0;
  color: #034ea2;
  text-wrap: balance;
}
.tsnz-partners__intro > :last-child {
  margin-bottom: 0;
}
.tsnz-partners__intro a {
  color: inherit;
  text-decoration: underline;
}
.tsnz-partners__logos {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-partners__logos {
    gap: 2.5rem 3rem;
  }
}
.tsnz-partners__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 calc(50% - 1.5rem);
          flex: 0 1 calc(50% - 1.5rem);
}
@media screen and (min-width: 64em) {
  .tsnz-partners__logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.tsnz-partners__logo:last-child:nth-child(odd) {
  margin-right: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-partners__logo:last-child:nth-child(odd) {
    margin-right: 0;
  }
}
.tsnz-partners__logo-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tsnz-partners__logo-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 7.5rem;
  max-height: 2.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 64em) {
  .tsnz-partners__logo-image {
    max-width: 9.375rem;
    max-height: 2.5rem;
  }
}

.tsnz-embed__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-embed__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-embed__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-embed__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-embed__inner {
    gap: 2rem;
  }
}
.tsnz-embed__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-embed__content {
    gap: 1.5rem;
  }
}
.tsnz-embed__heading {
  margin-bottom: 0;
  text-wrap: balance;
}
.tsnz-embed__body > :last-child {
  margin-bottom: 0;
}
.tsnz-embed__media {
  width: 100%;
  min-width: 0;
}
.tsnz-embed__media iframe,
.tsnz-embed__media object,
.tsnz-embed__media embed,
.tsnz-embed__media video {
  display: block;
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-embed--half:not(.tsnz-embed--centred) .tsnz-embed__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 66%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 4rem;
  }
}
.tsnz-embed--centred .tsnz-embed__media {
  max-width: 60rem;
  margin-inline: auto;
}

.tsnz-primary-cta {
  color: #ffffff;
}
.tsnz-primary-cta__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-primary-cta__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-primary-cta__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-primary-cta__container {
    padding-right: 0;
    padding-left: 0;
  }
}
.tsnz-primary-cta__inner {
  background: #034ea2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  padding-block: 3rem;
  padding-inline: 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-primary-cta__inner {
    background: radial-gradient(65.06% 67.36% at 39.79% 12.75%, #1f69bc 0%, rgb(17, 91.5, 175) 50%, #034ea2 100%);
    padding-block: 4rem;
    padding-inline: 6rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.tsnz-primary-cta__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  text-align: center;
}
@media screen and (min-width: 64em) {
  .tsnz-primary-cta__content {
    gap: 1.5rem;
    max-width: 44.5rem;
    text-align: left;
  }
}
.tsnz-primary-cta .tsnz-primary-cta__heading {
  margin-bottom: 0;
  color: #ffffff;
  text-wrap: balance;
}
.tsnz-primary-cta__intro {
  color: #ffffff;
}
.tsnz-primary-cta__intro > :last-child {
  margin-bottom: 0;
}
.tsnz-primary-cta__action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tsnz-primary-cta__action > .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-primary-cta__action > .tsnz-action-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.tsnz-icon-grid {
  color: #424952;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid {
    padding-bottom: 1.5rem;
  }
}
.tsnz-icon-grid__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-icon-grid__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-icon-grid__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.tsnz-icon-grid__heading {
  margin-bottom: 1.25rem;
  color: #034ea2;
  text-align: center;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__heading {
    margin-bottom: 3.75rem;
  }
}
.tsnz-icon-grid__items {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 1rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__items--mobile {
    display: none;
  }
}
.tsnz-icon-grid__items--desktop {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__items--desktop {
    display: grid;
  }
}
.tsnz-icon-grid__item {
  border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.08);
}
.tsnz-icon-grid__item:last-child {
  border-bottom: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__item {
    display: grid;
    grid-template-columns: 3.375rem minmax(0, 1fr);
    -ms-flex-line-pack: start;
        align-content: start;
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    border-bottom: 0;
  }
}
.tsnz-icon-grid__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  padding: 1.125rem 1.25rem;
  color: #034ea2;
  text-decoration: none;
}
.tsnz-icon-grid__item-header:hover, .tsnz-icon-grid__item-header:focus {
  color: #034ea2;
  text-decoration: none;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__item-header {
    display: contents;
    padding: 0;
    pointer-events: none;
  }
}
.tsnz-icon-grid__icon {
  display: block;
  width: 2rem;
  height: 2rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 2rem;
          flex: 0 0 2rem;
}
.tsnz-icon-grid__icon img {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__icon {
    grid-row: 1/span 2;
    width: 3.375rem;
    height: 3.375rem;
  }
}
.tsnz-icon-grid__item-heading {
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-bottom: 0;
  color: #034ea2;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__item-heading {
    grid-column: 2;
    margin-top: 0;
  }
}
.tsnz-icon-grid__caret {
  width: 0.625rem;
  height: 0.625rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 0.625rem;
          flex: 0 0 0.625rem;
  margin-right: 0.25rem;
  border-right: 0.125rem solid currentColor;
  border-bottom: 0.125rem solid currentColor;
  -webkit-transform: rotate(45deg) translateY(-25%);
          transform: rotate(45deg) translateY(-25%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.is-active > .tsnz-icon-grid__item-header .tsnz-icon-grid__caret {
  -webkit-transform: rotate(225deg) translate(-25%, -25%);
          transform: rotate(225deg) translate(-25%, -25%);
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__caret {
    display: none;
  }
}
.tsnz-icon-grid__item-content {
  display: none;
  padding: 0.625rem 1.25rem 1.125rem;
  border: 0;
  background: transparent;
  color: inherit;
}
@media screen and (min-width: 64em) {
  .tsnz-icon-grid__item-content {
    grid-column: 2;
    padding: 1rem 0 0;
  }
}
.tsnz-icon-grid__item-content--static {
  display: block;
}
.tsnz-icon-grid__description {
  margin-bottom: 0;
}

.tsnz-block--refresh-dark-gray .tsnz-icon-grid {
  color: #034ea2;
}

.tsnz-feature {
  color: #ffffff;
}
.tsnz-feature__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-feature__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-feature__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-feature__container {
    padding-right: 0;
    padding-left: 0;
  }
}
.tsnz-feature__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.5rem 1.5rem;
  background: #034ea2;
}
@media screen and (min-width: 64em) {
  .tsnz-feature__inner {
    background: radial-gradient(67.36% 65.06% at 39.79% 12.75%, #1f69bc 0%, rgb(17, 91.5, 175) 50%, #034ea2 100%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    padding: 0 6rem;
  }
}
.tsnz-feature__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  text-align: center;
}
@media screen and (min-width: 64em) {
  .tsnz-feature__content {
    gap: 2rem;
    padding: 4rem 0;
    text-align: left;
  }
}
.tsnz-feature .tsnz-feature__heading {
  margin-bottom: 0;
  color: #ffffff;
  text-wrap: balance;
}
.tsnz-feature__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  color: #ffffff;
}
.tsnz-feature__body > * {
  margin-bottom: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-feature__body {
    gap: 1.5rem;
  }
}
.tsnz-feature__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
}
.tsnz-feature__buttons > .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-feature__buttons > .tsnz-action-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.tsnz-feature__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
  overflow: hidden;
}
@media screen and (min-width: 64em) {
  .tsnz-feature__media {
    position: relative;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    overflow: visible;
  }
}
.tsnz-feature__image {
  display: block;
  width: 100%;
  max-width: 30rem;
  height: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-feature__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: top center;
       object-position: top center;
    -webkit-transform: translateY(-1.25rem);
            transform: translateY(-1.25rem);
  }
}

.tsnz-feature-secondary {
  background: #034ea2;
  color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary {
    position: relative;
    background: radial-gradient(65.06% 67.36% at 39.79% 12.75%, #1f69bc 0%, rgb(17, 91.5, 175) 50%, #034ea2 100%);
    margin-block: 2.5rem;
    overflow: visible;
  }
}
.tsnz-feature-secondary__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-feature-secondary__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__container {
    overflow: visible;
  }
}
.tsnz-feature-secondary__inner {
  display: grid;
  grid-template-columns: 1fr 30%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  row-gap: 1.25rem;
  padding-block: 2.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__inner {
    grid-template-columns: 1fr 30% 1fr;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    padding-block: 0;
    overflow: visible;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .tsnz-feature-secondary__inner {
    grid-template-columns: 1fr 42% 1fr;
  }
}
.tsnz-feature-secondary__content {
  display: contents;
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
    grid-column: 1;
    min-width: 0;
    padding-block: 4rem;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .tsnz-feature-secondary__content {
    padding-block: 4rem;
  }
}
.tsnz-feature-secondary .tsnz-feature-secondary__heading {
  margin-bottom: 0;
  color: #ffffff;
  text-wrap: balance;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-feature-secondary .tsnz-feature-secondary__heading {
    grid-column: 1;
    grid-row: 1;
  }
}
.tsnz-feature-secondary__body {
  color: #ffffff;
}
.tsnz-feature-secondary__body p {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: 1rem;
}
@media screen and (max-width: 43.74875em) {
  .tsnz-feature-secondary__body {
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-feature-secondary__body {
    grid-column: 1/-1;
  }
}
.tsnz-feature-secondary__body > :last-child {
  margin-bottom: 0;
}
.tsnz-feature-secondary__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 0;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-feature-secondary__media {
    grid-column: 2;
    grid-row: 1;
  }
}
@media screen and (min-width: 43.75em) and (max-width: 63.99875em) {
  .tsnz-feature-secondary__media {
    max-width: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__media {
    position: relative;
    -ms-flex-item-align: stretch;
        align-self: stretch;
    min-height: 0;
  }
}
.tsnz-feature-secondary__image {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__image {
    position: absolute;
    top: -2.5rem;
    left: 50%;
    width: auto;
    max-width: 100%;
    height: calc(100% + 5rem);
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.tsnz-feature-secondary__aside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-feature-secondary__aside {
    grid-column: 1/-1;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__aside {
    gap: 1.5rem;
    grid-column: 3;
    align-self: center;
    padding-block: 6rem;
  }
}
@media screen and (min-width: 64em) and (max-width: 74.99875em) {
  .tsnz-feature-secondary__aside {
    padding-block: 4rem;
  }
}
.tsnz-feature-secondary__aside-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__aside-copy {
    gap: 1rem;
  }
}
.tsnz-feature-secondary .tsnz-feature-secondary__aside-heading {
  margin-bottom: 0;
  color: #ffffff;
}
.tsnz-feature-secondary__aside-body {
  color: #ffffff;
}
.tsnz-feature-secondary__aside-body > :last-child {
  margin-bottom: 0;
}
.tsnz-feature-secondary__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
}
.tsnz-feature-secondary__buttons > .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-feature-secondary__buttons > .tsnz-action-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.tsnz-two-column-feature__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-two-column-feature__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-two-column-feature__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__inner {
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 2rem;
  }
}
.tsnz-two-column-feature__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding: 1.25rem;
  background-color: #e2e8ef;
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__column {
    gap: 2rem;
    padding: 2rem;
  }
}
.tsnz-two-column-feature__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.8446601942;
}
@supports not (aspect-ratio: 1/1) {
  .tsnz-two-column-feature__media {
    height: 0;
    padding-bottom: 54.2105263158%;
  }
}
.tsnz-two-column-feature__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-two-column-feature__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__content {
    gap: 1.5rem;
  }
}
.tsnz-two-column-feature__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__text {
    gap: 1.25rem;
  }
}
.tsnz-two-column-feature__heading {
  margin-bottom: 0;
  text-wrap: balance;
}
.tsnz-two-column-feature__body {
  color: #424952;
}
.tsnz-two-column-feature__body > :last-child {
  margin-bottom: 0;
}
.tsnz-two-column-feature__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__buttons {
    margin-top: auto;
  }
}
.tsnz-two-column-feature__buttons > .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-two-column-feature__buttons > .tsnz-action-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.tsnz-accordion-block {
  color: #424952;
}
.tsnz-accordion-block__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-accordion-block__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-accordion-block__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block__container {
    display: grid;
    grid-template-columns: 5fr 7fr;
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block--no-content .tsnz-accordion-block__container {
    grid-template-columns: minmax(0, 1fr);
  }
}
.tsnz-accordion-block__content {
  margin-bottom: 2rem;
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block__content {
    margin-bottom: 0;
  }
}
.tsnz-accordion-block__heading {
  margin-bottom: 1rem;
  color: #034ea2;
}
.tsnz-accordion-block__copy p {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
@media screen and (max-width: 43.74875em) {
  .tsnz-accordion-block__copy {
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
}
.tsnz-accordion-block__copy > :last-child {
  margin-bottom: 0;
}
.tsnz-accordion-block__actions {
  margin-top: 1.5rem;
}
@media screen and (max-width: 43.74875em) {
  .tsnz-accordion-block__actions .tsnz-action-button {
    display: block;
    width: 100%;
  }
}
.tsnz-accordion-block__items {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tsnz-accordion-block__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.tsnz-accordion-block__item:last-child {
  border-bottom: 0;
}
.tsnz-accordion-block__item-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 0;
  color: #034ea2;
  text-decoration: none;
}
.tsnz-accordion-block__item-header:hover, .tsnz-accordion-block__item-header:focus {
  color: #034ea2;
  text-decoration: none;
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block__item-header {
    padding: 1rem 0;
  }
}
.tsnz-accordion-block__question {
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-bottom: 0;
  color: #034ea2;
}
.tsnz-accordion-block__caret {
  width: 1.25rem;
  height: 1.25rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 1.25rem;
          flex: 0 0 1.25rem;
  background: url("../img/icons/caret-down.svg") no-repeat center center;
  background-size: contain;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.is-active > .tsnz-accordion-block__item-header .tsnz-accordion-block__caret {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block__caret {
    width: 2.5rem;
    height: 2.5rem;
    -ms-flex-preferred-size: 2.5rem;
        flex-basis: 2.5rem;
  }
}
.tsnz-accordion-block__item-content {
  display: none;
  padding: 0.625rem 0 1.25rem;
  border: 0;
  background: transparent;
  color: #424952;
}
@media screen and (min-width: 64em) {
  .tsnz-accordion-block__item-content {
    padding: 1.5rem 0 1rem;
  }
}
.tsnz-accordion-block__answer > :last-child {
  margin-bottom: 0;
}

.tsnz-cta__wrapper {
  display: block;
  margin-right: 0;
  margin-left: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

.tsnz-cta__top {
  padding: 0.75rem;
  background-color: #02346d;
}
@media screen and (min-width: 64em) {
  .tsnz-cta__top {
    padding: 1.25rem;
  }
}

.tsnz-cta__content {
  display: block;
  padding: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cta__content {
    padding: 1.25rem;
  }
}

.tsnz-cta__heading {
  color: #ffcb05;
}
.tsnz-cta__heading:last-child {
  margin-bottom: 0;
}

.tsnz-cta__description {
  margin-bottom: 1.5rem;
}

.tsnz-cta--blue .tsnz-cta__wrapper, .tsnz-cta--map-nz .tsnz-cta__wrapper {
  position: relative;
  background-color: rgb(2.6290909091, 68.3563636364, 141.9709090909);
}
@supports (background-image: conic-gradient(from 100deg, rgb(2.6290909091, 68.3563636364, 141.9709090909), #034ea2)) {
  .tsnz-cta--blue .tsnz-cta__wrapper, .tsnz-cta--map-nz .tsnz-cta__wrapper {
    background-image: conic-gradient(from 100deg, rgb(2.6290909091, 68.3563636364, 141.9709090909), #034ea2);
  }
}
.tsnz-cta--blue .tsnz-cta__top, .tsnz-cta--map-nz .tsnz-cta__top {
  background: none;
}
.tsnz-cta--blue .tsnz-cta__content, .tsnz-cta--map-nz .tsnz-cta__content {
  color: #ffffff;
}
.tsnz-cta--map-nz .tsnz-cta__wrapper:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  left: auto;
  right: 5px;
  width: 50%;
  margin-top: 1rem;
  margin-bottom: 1rem;
  background-image: url("../img/map-new-zealand.svg");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 100%;
}
.tsnz-cta--map-nz .tsnz-cta__top {
  padding-right: 49%;
}
.tsnz-cta--map-nz .tsnz-cta__content {
  padding-top: 0;
  padding-right: 49%;
}
.tsnz-cta--simple .tsnz-cta__top {
  display: none;
}
.tsnz-cta--simple .tsnz-cta__description {
  margin-bottom: 1em;
  color: #034ea2;
}

.tsnz-search {
  position: relative;
  background-color: transparent;
  font-size: 1rem;
  color: #ffffff;
  max-width: 100vw;
  background-color: rgb(2.6290909091, 68.3563636364, 141.9709090909);
}
@supports (background-image: conic-gradient(from 100deg, rgb(2.6290909091, 68.3563636364, 141.9709090909), #034ea2)) {
  .tsnz-search {
    background-image: conic-gradient(from 100deg, rgb(2.6290909091, 68.3563636364, 141.9709090909), #034ea2);
  }
}
.tsnz-search__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.tsnz-search__form {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  max-width: 50em;
  padding: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-search__form {
    padding: 3rem;
    border: solid 1px #ffffff;
  }
}
.tsnz-search__heading {
  margin-bottom: 1em;
  color: #ffcb05;
}
.tsnz-search__inputs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-search__input {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  height: auto;
  margin-bottom: 2em;
  padding: 0.4em;
  border-bottom: solid 1px #ffcb05;
  font-size: 1em;
  font-weight: bold;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-search__input {
    width: 75%;
    margin-right: 0;
    margin-left: 0;
  }
}
.tsnz-search__button {
  width: 25%;
  margin-right: 0;
  margin-left: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-search__button {
    text-align: right;
  }
}
.tsnz-search__quick-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-top: 2rem;
}
.tsnz-search__quick-links-title {
  width: calc(100% - 4rem);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: solid 2px #ffffff;
  color: #ffcb05;
}
.tsnz-search__quick-links-column {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-search__quick-links-column {
    width: calc(33.3333333333% - 1rem);
    margin-right: 0.5rem;
  }
}
.tsnz-search__quick-links-column a {
  display: block;
  color: #ffffff;
}
.tsnz-search__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 2em;
  line-height: 1;
  color: #ffcb05;
  z-index: 999;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-search__close {
    top: 2rem;
    right: 2rem;
  }
}

.tsnz-accordion__wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-accordion__wrapper {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 23.75em) {
  .tsnz-accordion__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-accordion__accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none;
}
.tsnz-accordion__accordion[disabled] .accordion-title {
  cursor: not-allowed;
}
.tsnz-accordion__title {
  position: relative;
  display: block;
  padding: 1.125rem 0;
  border: 0;
  border-bottom: 0;
  font-size: 1.125rem;
  line-height: 1;
  color: #034ea2;
  padding-right: 2rem;
  font-weight: bold;
  line-height: 1.4;
}
:last-child:not(.is-active) > .tsnz-accordion__title {
  border-bottom: 0;
  border-radius: 0 0 0 0;
}
.tsnz-accordion__title:hover, .tsnz-accordion__title:focus {
  background-color: transparent;
}
.tsnz-accordion__title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: "+";
}
.is-active > .tsnz-accordion__title::before {
  content: "–";
}
.tsnz-accordion__title:hover, .tsnz-accordion__title:focus {
  text-decoration: none;
}
.tsnz-accordion__title:before {
  line-height: 1;
}
.tsnz-accordion__item {
  border-top: solid 1px #e4e4e4;
}
.tsnz-accordion__item:first-child > :first-child {
  border-radius: 0 0 0 0;
}
.tsnz-accordion__item:last-child > :last-child {
  border-radius: 0 0 0 0;
}
.tsnz-accordion__item.last {
  border-bottom: solid 1px #e4e4e4;
}
.tsnz-accordion__item.is-active {
  border-top: solid 1px #ffcb05;
}
.tsnz-accordion__content {
  display: none;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 0;
  background-color: #ffffff;
  color: #424952;
}
:last-child > .tsnz-accordion__content:last-child {
  border-bottom: 0;
}

.tsnz-nav {
  background-color: transparent;
  font-size: 1rem;
  color: #ffffff;
}
.tsnz-nav__enquiry-button {
  margin: 1rem;
}
.tsnz-nav__close-button button {
  top: 1.25rem;
}
.tsnz-nav__child-list, .tsnz-nav__grandchild-list {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
[data-whatinput=mouse] .tsnz-nav__child-list li, [data-whatinput=mouse] .tsnz-nav__grandchild-list li {
  outline: 0;
}
.tsnz-nav__child-list a,
.tsnz-nav__child-list .button, .tsnz-nav__grandchild-list a,
.tsnz-nav__grandchild-list .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 1rem 1rem;
}
.tsnz-nav__child-list input,
.tsnz-nav__child-list select,
.tsnz-nav__child-list a,
.tsnz-nav__child-list button, .tsnz-nav__grandchild-list input,
.tsnz-nav__grandchild-list select,
.tsnz-nav__grandchild-list a,
.tsnz-nav__grandchild-list button {
  margin-bottom: 0;
}
.tsnz-nav__child-list input, .tsnz-nav__grandchild-list input {
  display: inline-block;
}
.tsnz-nav__list, .tsnz-nav__child-list, .tsnz-nav__grandchild-list {
  background-color: transparent;
  font-size: 1.125rem;
  color: #ffffff;
}
.tsnz-nav__list[href],
.tsnz-nav__list a, .tsnz-nav__child-list[href],
.tsnz-nav__child-list a, .tsnz-nav__grandchild-list[href],
.tsnz-nav__grandchild-list a {
  color: currentColor;
}
.tsnz-nav__list[href]:hover,
.tsnz-nav__list a:hover, .tsnz-nav__child-list[href]:hover,
.tsnz-nav__child-list a:hover, .tsnz-nav__grandchild-list[href]:hover,
.tsnz-nav__grandchild-list a:hover {
  color: currentColor;
  text-decoration: none;
}
.opens-right .tsnz-nav__child-list.js-dropdown-active {
  left: 0;
}
.opens-left .tsnz-nav__child-list.js-dropdown-active {
  right: 0;
  left: auto;
}
.section > a > .tsnz-nav__link-text, .current > a > .tsnz-nav__link-text, .section > a > .tsnz-nav__child-text, .current > a > .tsnz-nav__child-text, .section > a > .tsnz-nav__grandchild-text, .current > a > .tsnz-nav__grandchild-text {
  text-shadow: 0.03em 0 #034ea2, -0.03em 0 #034ea2, 0 0.03em #034ea2, 0 -0.03em #034ea2, 0.06em 0 #034ea2, -0.06em 0 #034ea2, 0.09em 0 #034ea2, -0.09em 0 #034ea2, 0.12em 0 #034ea2, -0.12em 0 #034ea2, 0.15em 0 #034ea2, -0.15em 0 #034ea2;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ffcb05), to(#ffcb05));
  background-image: linear-gradient(#ffcb05, #ffcb05);
  background-position: 0% 95%;
  background-repeat: repeat-x;
  background-size: 1px 1px;
  color: #ffcb05;
  text-decoration: none;
}
.section > a > .tsnz-nav__link-text::-moz-selection, .current > a > .tsnz-nav__link-text::-moz-selection, .section > a > .tsnz-nav__child-text::-moz-selection, .current > a > .tsnz-nav__child-text::-moz-selection, .section > a > .tsnz-nav__grandchild-text::-moz-selection, .current > a > .tsnz-nav__grandchild-text::-moz-selection {
  text-shadow: 0.03em 0 #e4e4e4, -0.03em 0 #e4e4e4, 0 0.03em #e4e4e4, 0 -0.03em #e4e4e4, 0.06em 0 #e4e4e4, -0.06em 0 #e4e4e4, 0.09em 0 #e4e4e4, -0.09em 0 #e4e4e4, 0.12em 0 #e4e4e4, -0.12em 0 #e4e4e4, 0.15em 0 #e4e4e4, -0.15em 0 #e4e4e4;
  background: #e4e4e4;
}
.section > a > .tsnz-nav__link-text::selection, .current > a > .tsnz-nav__link-text::selection, .section > a > .tsnz-nav__child-text::selection, .current > a > .tsnz-nav__child-text::selection, .section > a > .tsnz-nav__grandchild-text::selection, .current > a > .tsnz-nav__grandchild-text::selection {
  text-shadow: 0.03em 0 #e4e4e4, -0.03em 0 #e4e4e4, 0 0.03em #e4e4e4, 0 -0.03em #e4e4e4, 0.06em 0 #e4e4e4, -0.06em 0 #e4e4e4, 0.09em 0 #e4e4e4, -0.09em 0 #e4e4e4, 0.12em 0 #e4e4e4, -0.12em 0 #e4e4e4, 0.15em 0 #e4e4e4, -0.15em 0 #e4e4e4;
  background: #e4e4e4;
}
.section > a > .tsnz-nav__link-text::-moz-selection, .current > a > .tsnz-nav__link-text::-moz-selection, .section > a > .tsnz-nav__child-text::-moz-selection, .current > a > .tsnz-nav__child-text::-moz-selection, .section > a > .tsnz-nav__grandchild-text::-moz-selection, .current > a > .tsnz-nav__grandchild-text::-moz-selection {
  text-shadow: 0.03em 0 #e4e4e4, -0.03em 0 #e4e4e4, 0 0.03em #e4e4e4, 0 -0.03em #e4e4e4, 0.06em 0 #e4e4e4, -0.06em 0 #e4e4e4, 0.09em 0 #e4e4e4, -0.09em 0 #e4e4e4, 0.12em 0 #e4e4e4, -0.12em 0 #e4e4e4, 0.15em 0 #e4e4e4, -0.15em 0 #e4e4e4;
  background: #e4e4e4;
}
.section > a > .tsnz-nav__link-text *,
.section > a > .tsnz-nav__link-text *:after, .section > a > .tsnz-nav__link-text:after,
.section > a > .tsnz-nav__link-text *:before, .section > a > .tsnz-nav__link-text:before, .current > a > .tsnz-nav__link-text *,
.current > a > .tsnz-nav__link-text *:after, .current > a > .tsnz-nav__link-text:after,
.current > a > .tsnz-nav__link-text *:before, .current > a > .tsnz-nav__link-text:before, .section > a > .tsnz-nav__child-text *,
.section > a > .tsnz-nav__child-text *:after, .section > a > .tsnz-nav__child-text:after,
.section > a > .tsnz-nav__child-text *:before, .section > a > .tsnz-nav__child-text:before, .current > a > .tsnz-nav__child-text *,
.current > a > .tsnz-nav__child-text *:after, .current > a > .tsnz-nav__child-text:after,
.current > a > .tsnz-nav__child-text *:before, .current > a > .tsnz-nav__child-text:before, .section > a > .tsnz-nav__grandchild-text *,
.section > a > .tsnz-nav__grandchild-text *:after, .section > a > .tsnz-nav__grandchild-text:after,
.section > a > .tsnz-nav__grandchild-text *:before, .section > a > .tsnz-nav__grandchild-text:before, .current > a > .tsnz-nav__grandchild-text *,
.current > a > .tsnz-nav__grandchild-text *:after, .current > a > .tsnz-nav__grandchild-text:after,
.current > a > .tsnz-nav__grandchild-text *:before, .current > a > .tsnz-nav__grandchild-text:before {
  text-shadow: none;
}
.section > a > .tsnz-nav__link-text:visited, .current > a > .tsnz-nav__link-text:visited, .section > a > .tsnz-nav__child-text:visited, .current > a > .tsnz-nav__child-text:visited, .section > a > .tsnz-nav__grandchild-text:visited, .current > a > .tsnz-nav__grandchild-text:visited {
  color: #ffcb05;
}
.tsnz-nav__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  margin-top: 2rem;
}
.tsnz-nav__ctas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
.tsnz-nav__ctas .tsnz-action-button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  font-size: 0.8125rem;
  white-space: nowrap;
}
.tsnz-nav__phone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
}
.tsnz-nav__phone-label {
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: bold;
  letter-spacing: 0.09375rem;
  text-transform: uppercase;
}
.tsnz-nav__phone-number {
  color: #ffcb05;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.1;
}
.tsnz-nav__phone-number:hover, .tsnz-nav__phone-number:focus {
  color: #ffcb05;
}
.tsnz-nav__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
}
.tsnz-nav__social-icon {
  display: block;
  width: 2.4375rem;
  height: 2.4375rem;
  color: #ffffff;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.tsnz-nav__social-icon:hover, .tsnz-nav__social-icon:focus {
  color: #e4e4e4;
}
.tsnz-nav__social-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.tsnz-nav--vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
  padding: 1.25rem 1.5rem 2rem;
}
.tsnz-nav--vertical:focus {
  outline: none;
}
.tsnz-nav--vertical .tsnz-nav__list,
.tsnz-nav--vertical .tsnz-nav__mega-menu,
.tsnz-nav--vertical .is-drilldown-submenu {
  margin: 0;
  list-style: none;
}
.tsnz-nav--vertical .is-drilldown-submenu {
  min-height: 100%;
  background-color: #034ea2;
}
.tsnz-nav--vertical .tsnz-nav__item,
.tsnz-nav--vertical .tsnz-nav__child-item {
  display: block;
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.tsnz-nav--vertical .tsnz-nav__link,
.tsnz-nav--vertical .tsnz-nav__child-link {
  position: relative;
  display: block;
  padding: 1.125rem 1.5rem 1.125rem 0;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: normal;
  line-height: 1.2;
  background: transparent;
}
.tsnz-nav--vertical .tsnz-nav__link:hover, .tsnz-nav--vertical .tsnz-nav__link:focus,
.tsnz-nav--vertical .tsnz-nav__child-link:hover,
.tsnz-nav--vertical .tsnz-nav__child-link:focus {
  color: #ffcb05;
}
.tsnz-nav--vertical .is-drilldown-submenu .tsnz-nav__child-link {
  padding: 1.125rem 1.5rem 1.125rem 0;
}
.tsnz-nav--vertical .is-active > .tsnz-nav__link,
.tsnz-nav--vertical .is-active > .tsnz-nav__child-link,
.tsnz-nav--vertical .section > .tsnz-nav__link,
.tsnz-nav--vertical .section > .tsnz-nav__child-link,
.tsnz-nav--vertical .current > .tsnz-nav__link,
.tsnz-nav--vertical .current > .tsnz-nav__child-link {
  color: #ffcb05;
  font-weight: bold;
}
.tsnz-nav--vertical .is-active .tsnz-nav__link-text,
.tsnz-nav--vertical .is-active .tsnz-nav__child-text,
.tsnz-nav--vertical .section .tsnz-nav__link-text,
.tsnz-nav--vertical .section .tsnz-nav__child-text,
.tsnz-nav--vertical .current .tsnz-nav__link-text,
.tsnz-nav--vertical .current .tsnz-nav__child-text {
  background-image: none;
}
.tsnz-nav--vertical .is-drilldown-submenu-parent > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.25rem;
  width: 0.5625rem;
  height: 0.5625rem;
  margin-top: -0.3125rem;
  border: solid #ffcb05;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.tsnz-nav--vertical .js-drilldown-back {
  border-bottom: 0;
}
.tsnz-nav--vertical .js-drilldown-back > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0 1.125rem;
  color: #ffcb05;
  font-size: 0.9375rem;
  font-weight: bold;
  background: transparent;
}
.tsnz-nav--vertical .js-drilldown-back > a::before {
  content: "";
  width: 0.5625rem;
  height: 0.5625rem;
  border: solid #ffcb05;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.tsnz-nav--vertical .is-submenu-parent-item {
  border-bottom: 0;
}
.tsnz-nav--vertical .is-submenu-parent-item > a {
  display: block;
  padding: 0 0 0.5rem;
  color: #ffffff;
  font-size: 1.375rem;
  font-weight: 800;
  line-height: 1.1;
  background: transparent;
}
.tsnz-nav--vertical .is-submenu-parent-item > a:hover, .tsnz-nav--vertical .is-submenu-parent-item > a:focus {
  color: #ffffff;
}
.tsnz-nav--horizontal {
  background-color: transparent;
  font-size: 1rem;
  color: #ffffff;
}
.tsnz-nav--horizontal[href],
.tsnz-nav--horizontal a {
  color: currentColor;
}
.tsnz-nav--horizontal[href]:hover,
.tsnz-nav--horizontal a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-nav--horizontal.tsnz-nav--horizontal .tsnz-nav__mega-menu {
  right: 0;
  left: 0;
}
.tsnz-nav--horizontal .tsnz-nav__item {
  position: static;
  display: inline;
  font-weight: bold;
}
.tsnz-nav--horizontal .tsnz-nav__link {
  display: inline-block;
  padding: 1rem 1rem;
  font-size: 1rem;
}
.tsnz-nav--horizontal .tsnz-nav__link, .tsnz-nav--horizontal .tsnz-nav__link:hover, .tsnz-nav--horizontal .tsnz-nav__link:focus {
  text-decoration: none;
}
.tsnz-nav--horizontal .tsnz-nav__link .tsnz-nav__link-text {
  position: relative;
}
.tsnz-nav--horizontal .tsnz-nav__link .tsnz-nav__link-text::after {
  content: "";
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  height: 3px;
  background-color: #ffcb05;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.tsnz-nav--horizontal .tsnz-nav__link:hover .tsnz-nav__link-text::after, .tsnz-nav--horizontal .tsnz-nav__link:focus .tsnz-nav__link-text::after {
  opacity: 1;
}
.tsnz-nav--horizontal .tsnz-nav__item.section .tsnz-nav__link-text,
.tsnz-nav--horizontal .tsnz-nav__item.current .tsnz-nav__link-text {
  background-image: none;
}
.tsnz-nav--horizontal .tsnz-nav__item.section .tsnz-nav__link-text::after,
.tsnz-nav--horizontal .tsnz-nav__item.current .tsnz-nav__link-text::after {
  opacity: 1;
}
.tsnz-nav--horizontal .tsnz-nav__item:first-child .tsnz-nav__link {
  padding-left: 0;
}
.tsnz-nav--horizontal .tsnz-nav__list {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0;
  list-style: none;
  text-align: left;
}
.tsnz-nav--horizontal .tsnz-nav__mega-menu {
  top: 80%;
  display: none;
  margin-left: 0;
  list-style: none;
  background: transparent;
  border: 0;
}
.tsnz-nav--horizontal .tsnz-nav__mega-menu.js-dropdown-active {
  top: 100%;
  display: block;
}

.tsnz-mega-menu {
  background-color: transparent;
  font-size: 1rem;
  color: #424952;
  margin: auto;
  border-bottom: solid 5px #ffcb05;
  background: #f6f6f6;
  text-align: left;
  font-size-adjust: 0.6;
}
.tsnz-mega-menu[href],
.tsnz-mega-menu a {
  color: currentColor;
}
.tsnz-mega-menu[href]:hover,
.tsnz-mega-menu a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-mega-menu__container {
  position: relative;
  max-width: 86rem;
  margin: 0 auto;
  padding-top: 2em;
  padding-bottom: 1em;
}
.tsnz-mega-menu__container:before, .tsnz-mega-menu__container:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  top: 2em;
  z-index: 1;
  width: 25%;
  border-right: 1px solid #034ea2;
  border-left: 1px solid #034ea2;
  pointer-events: none;
}
.tsnz-mega-menu__container:after {
  left: 50%;
}
.tsnz-mega-menu__wrapper {
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  overflow: hidden;
}
.tsnz-mega-menu__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -ms-flex-item-align: start;
      align-self: flex-start;
  width: 25%;
  margin-left: 0;
  padding-top: 1em;
  padding-right: 1.25rem;
  padding-bottom: 1em;
  padding-left: 1.25rem;
}
.tsnz-mega-menu__link {
  display: block;
}
.tsnz-mega-menu__list {
  margin: 1em 0 0;
  padding: 0;
  list-style: none;
}
.tsnz-mega-menu__list, .tsnz-mega-menu__description {
  font-weight: normal;
}
.tsnz-mega-menu__text {
  display: inline-block;
  line-height: 1.4;
}
.tsnz-mega-menu__text:last-child {
  margin-bottom: 0;
}
:hover > .tsnz-mega-menu__text {
  color: #034ea2;
}
.current > a > .tsnz-mega-menu__text {
  color: #034ea2;
}
.current > a > .tsnz-mega-menu__text:hover, .current > a > .tsnz-mega-menu__text:active {
  color: #034ea2;
}
.tsnz-mega-menu__list-link {
  padding-top: 0.125em;
  padding-bottom: 0.125em;
  line-height: 1.4;
}
.current > .tsnz-mega-menu__list-link {
  color: #034ea2;
}
.current > .tsnz-mega-menu__list-link:hover, .current > .tsnz-mega-menu__list-link:active {
  color: #034ea2;
}
:hover > .tsnz-mega-menu__list-text {
  color: #034ea2;
}
.current > a > .tsnz-mega-menu__text, .current > a > .tsnz-mega-menu__list-text {
  text-shadow: 0.03em 0 #f6f6f6, -0.03em 0 #f6f6f6, 0 0.03em #f6f6f6, 0 -0.03em #f6f6f6, 0.06em 0 #f6f6f6, -0.06em 0 #f6f6f6, 0.09em 0 #f6f6f6, -0.09em 0 #f6f6f6, 0.12em 0 #f6f6f6, -0.12em 0 #f6f6f6, 0.15em 0 #f6f6f6, -0.15em 0 #f6f6f6;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#034ea2), to(#034ea2));
  background-image: linear-gradient(#034ea2, #034ea2);
  background-position: 0% 95%;
  background-repeat: repeat-x;
  background-size: 1px 1px;
  color: #034ea2;
  text-decoration: none;
}
.current > a > .tsnz-mega-menu__text::-moz-selection, .current > a > .tsnz-mega-menu__list-text::-moz-selection {
  text-shadow: 0.03em 0 #e4e4e4, -0.03em 0 #e4e4e4, 0 0.03em #e4e4e4, 0 -0.03em #e4e4e4, 0.06em 0 #e4e4e4, -0.06em 0 #e4e4e4, 0.09em 0 #e4e4e4, -0.09em 0 #e4e4e4, 0.12em 0 #e4e4e4, -0.12em 0 #e4e4e4, 0.15em 0 #e4e4e4, -0.15em 0 #e4e4e4;
  background: #e4e4e4;
}
.current > a > .tsnz-mega-menu__text::selection, .current > a > .tsnz-mega-menu__list-text::selection {
  text-shadow: 0.03em 0 #e4e4e4, -0.03em 0 #e4e4e4, 0 0.03em #e4e4e4, 0 -0.03em #e4e4e4, 0.06em 0 #e4e4e4, -0.06em 0 #e4e4e4, 0.09em 0 #e4e4e4, -0.09em 0 #e4e4e4, 0.12em 0 #e4e4e4, -0.12em 0 #e4e4e4, 0.15em 0 #e4e4e4, -0.15em 0 #e4e4e4;
  background: #e4e4e4;
}
.current > a > .tsnz-mega-menu__text::-moz-selection, .current > a > .tsnz-mega-menu__list-text::-moz-selection {
  text-shadow: 0.03em 0 #e4e4e4, -0.03em 0 #e4e4e4, 0 0.03em #e4e4e4, 0 -0.03em #e4e4e4, 0.06em 0 #e4e4e4, -0.06em 0 #e4e4e4, 0.09em 0 #e4e4e4, -0.09em 0 #e4e4e4, 0.12em 0 #e4e4e4, -0.12em 0 #e4e4e4, 0.15em 0 #e4e4e4, -0.15em 0 #e4e4e4;
  background: #e4e4e4;
}
.current > a > .tsnz-mega-menu__text *,
.current > a > .tsnz-mega-menu__text *:after, .current > a > .tsnz-mega-menu__text:after,
.current > a > .tsnz-mega-menu__text *:before, .current > a > .tsnz-mega-menu__text:before, .current > a > .tsnz-mega-menu__list-text *,
.current > a > .tsnz-mega-menu__list-text *:after, .current > a > .tsnz-mega-menu__list-text:after,
.current > a > .tsnz-mega-menu__list-text *:before, .current > a > .tsnz-mega-menu__list-text:before {
  text-shadow: none;
}
.current > a > .tsnz-mega-menu__text:visited, .current > a > .tsnz-mega-menu__list-text:visited {
  color: #034ea2;
}

.tsnz-nav__mega-host {
  margin: 0;
  padding: 0;
  list-style: none;
}

.tsnz-nav--horizontal .tsnz-nav__mega-host ~ .tsnz-nav__child-item {
  display: none;
}

.tsnz-mega-panel {
  color: #424952;
  text-align: left;
  cursor: default;
}
.tsnz-mega-panel__container {
  max-width: 78rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 2rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 12px 32px 0 rgba(20, 41, 48, 0.2);
          box-shadow: 0 12px 32px 0 rgba(20, 41, 48, 0.2);
  -webkit-clip-path: inset(0 -48px -48px -48px);
          clip-path: inset(0 -48px -48px -48px);
}
.tsnz-mega-panel__main {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
.tsnz-mega-panel__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.tsnz-mega-panel__eyebrow, .tsnz-mega-panel__cta-eyebrow {
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1rem;
  letter-spacing: 0.125rem;
}
.tsnz-mega-panel__eyebrow {
  color: #034ea2;
}
.tsnz-mega-panel__view-all {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-weight: bold;
  font-size: 0.8125rem;
  line-height: normal;
  white-space: nowrap;
}
.tsnz-mega-panel__view-all .tsnz-mega-panel__view-all-text {
  color: #034ea2;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.tsnz-mega-panel__view-all .tsnz-symbol {
  width: 0.375rem;
  height: 0.625rem;
  color: #ffcb05;
}
.tsnz-mega-panel__view-all:hover .tsnz-mega-panel__view-all-text, .tsnz-mega-panel__view-all:focus .tsnz-mega-panel__view-all-text {
  color: rgb(1.8, 46.8, 97.2);
}
.tsnz-mega-panel__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.tsnz-mega-panel__card {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
  margin: 0;
}
.tsnz-mega-panel__card-link {
  display: block;
  color: inherit;
}
.tsnz-mega-panel__card-link:hover .tsnz-mega-panel__card-heading, .tsnz-mega-panel__card-link:focus .tsnz-mega-panel__card-heading {
  color: rgb(1.8, 46.8, 97.2);
}
.tsnz-mega-panel__card-media {
  display: block;
  margin-bottom: 1rem;
  overflow: hidden;
  aspect-ratio: 1.775;
  background-color: #f6f6f6;
}
.tsnz-mega-panel__card-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-mega-panel__card-body {
  display: block;
}
.tsnz-mega-panel__card-heading {
  display: block;
  margin-bottom: 0.625rem;
  color: #034ea2;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.3;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.tsnz-mega-panel__card-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-bottom: 1rem;
  color: #424952;
  font-weight: normal;
  font-size: 0.8125rem;
  line-height: 1.25rem;
}
.tsnz-mega-panel__links {
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
}
.tsnz-mega-panel__link-item {
  margin: 0 0 0.5rem;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}
.tsnz-mega-panel__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  color: inherit;
}
.tsnz-mega-panel__link:hover .tsnz-mega-panel__link-heading, .tsnz-mega-panel__link:focus .tsnz-mega-panel__link-heading {
  color: rgb(1.8, 46.8, 97.2);
}
.tsnz-mega-panel__link .tsnz-symbol {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.375rem;
  height: 0.625rem;
  color: #ffcb05;
}
.tsnz-mega-panel__link-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.tsnz-mega-panel__link-heading {
  display: block;
  color: #034ea2;
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 1.25rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.tsnz-mega-panel__link-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  color: #424952;
  font-weight: normal;
  font-size: 0.75rem;
  line-height: 1rem;
}
.tsnz-mega-panel__cta {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20rem;
          flex: 0 0 20rem;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  padding: 1.75rem;
  background-color: #034ea2;
  color: #ffffff;
}
.tsnz-mega-panel__cta-eyebrow {
  color: #ffcb05;
}
.tsnz-mega-panel__cta-heading {
  margin: 0;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.625rem;
  letter-spacing: -0.03125rem;
}
.tsnz-mega-panel__cta-body {
  margin: 0;
  color: #ffffff;
  font-weight: normal;
  font-size: 0.8125rem;
  line-height: 1.25rem;
  opacity: 0.85;
}
.tsnz-mega-panel__cta-action .tsnz-action-button--primary {
  color: #034ea2;
}
.tsnz-mega-panel__cta-action .tsnz-action-button--primary:hover, .tsnz-mega-panel__cta-action .tsnz-action-button--primary:focus {
  color: #ffffff;
}

.tsnz-image {
  position: relative;
}
.tsnz-image img {
  width: 100%;
}
.tsnz-image__caption {
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: rgba(255, 255, 255, 0.9);
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image__caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding-top: 2rem;
    padding-right: 4.5rem;
    padding-bottom: 2rem;
    padding-left: 1.5rem;
  }
}
.tsnz-image__caption strong {
  color: #034ea2;
}
.tsnz-image__caption-text {
  display: inline-block;
  padding-right: 2.5em;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image__caption-text {
    padding-right: 4em;
  }
}
.tsnz-image__button {
  margin-top: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image__button {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: 2rem;
    margin-left: 2rem;
  }
}
.tsnz-image__counter {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  width: 3rem;
  height: 3rem;
  border-radius: 8rem;
  background-color: #034ea2;
  font-weight: bold;
  line-height: 3rem;
  color: #ffffff;
  text-align: center;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image__counter {
    top: 2rem;
    left: 2rem;
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
  }
}
.tsnz-image__zoom {
  position: absolute;
  right: 0;
  bottom: 0.75em;
  zoom: 0;
  font-size: 2em;
  color: #034ea2;
  cursor: pointer;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image__zoom {
    right: 0.75em;
    bottom: 0.75em;
  }
}
.tsnz-image__zoom:hover {
  color: rgb(2.0727272727, 53.8909090909, 111.9272727273);
}
.tsnz-image__zoom:active {
  opacity: 0.9;
}

/* Vendor */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.tsnz-masthead {
  position: relative;
  padding-bottom: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-masthead {
    padding-bottom: 0;
  }
}
.tsnz-masthead__image-outer {
  overflow: hidden;
}
.tsnz-masthead__background {
  position: relative;
  max-width: 100rem;
  margin: 0 auto;
}
.tsnz-masthead__picture {
  position: relative;
  height: 48.4375vw;
  max-height: 35rem;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 64em) {
  .tsnz-masthead__picture {
    height: calc(100vw * 0.35);
  }
}
.tsnz-masthead__placeholder {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
.lazyloaded > .tsnz-masthead__placeholder {
  opacity: 0;
}
.tsnz-masthead__header {
  position: relative;
  z-index: 1;
  max-width: 100rem;
  margin: 0 auto;
  padding-top: 1.5rem;
  padding-bottom: 2rem;
  border-top: 6px solid #ffcb05;
  background-color: #034ea2;
}
.tsnz-masthead__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-masthead__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-masthead__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-masthead__breadcrumbs {
  margin-top: 0;
}
.tsnz-masthead__breadcrumbs .breadcrumbs {
  margin-top: 0;
}
.tsnz-masthead__breadcrumbs .breadcrumbs li {
  font-size: 0.8125rem;
}
.tsnz-masthead__breadcrumbs .breadcrumbs li:not(:last-child)::after {
  content: "/";
  color: #ffffff;
}
.tsnz-masthead__heading {
  margin-top: 0.75rem;
  margin-bottom: 0;
  color: #ffffff;
}
.tsnz-masthead__subheading {
  margin-top: 1rem;
  max-width: 55rem;
  color: #ffffff;
}
.tsnz-masthead__subheading a {
  color: #ffcb05;
}
.tsnz-masthead__subheading p {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
@media screen and (max-width: 43.74875em) {
  .tsnz-masthead__subheading {
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
}
.tsnz-masthead__subheading > :last-child {
  margin-bottom: 0;
}
.tsnz-masthead__sam-slot {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  max-width: 90rem;
  margin: 0 auto;
  pointer-events: none;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-masthead__sam-slot {
    display: none;
  }
}
.tsnz-masthead__sam {
  position: absolute;
  bottom: 0;
  width: 10.625rem;
  height: 16.25rem;
  left: 1rem;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: contain;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-masthead__sam {
    left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-masthead__sam {
    left: 6rem;
  }
}
.tsnz-masthead__arrows {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 10;
  max-width: 100rem;
  margin: 0 auto;
  pointer-events: none;
  aspect-ratio: 390/300;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-masthead__arrows {
    aspect-ratio: 1600/560;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-masthead__arrows {
    display: none;
  }
}
.tsnz-masthead__arrow {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #ffcb05;
  -webkit-transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  font-size: 0;
  pointer-events: auto;
  cursor: pointer;
}
.tsnz-masthead__arrow:hover {
  opacity: 1;
}
.tsnz-masthead__arrow:active {
  background-color: rgb(209, 165.528, 0);
}
.tsnz-masthead__arrow:after {
  display: block;
  width: 0.5625rem;
  height: 1rem;
  margin: 0 auto;
  background-size: 0.5625rem 1rem;
  content: "";
}
.tsnz-masthead__arrow--left {
  left: 1rem;
}
.tsnz-masthead__arrow--left:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M.32 7.2L7.12.34a1.1 1.1 0 0 1 1.56 0c.43.44.43 1.15 0 1.58L2.67 8l6 6.09c.44.43.44 1.14 0 1.58a1.1 1.1 0 0 1-1.56 0L.32 8.8a1.12 1.12 0 0 1 0-1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-masthead__arrow--right {
  right: 1rem;
}
.tsnz-masthead__arrow--right:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M8.68 8.8l-6.8 6.87a1.1 1.1 0 0 1-1.56 0 1.13 1.13 0 0 1 0-1.58L6.33 8l-6-6.09a1.13 1.13 0 0 1 0-1.58 1.1 1.1 0 0 1 1.56 0L8.68 7.2a1.12 1.12 0 0 1 0 1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-masthead__paging {
  display: none;
}
.tsnz-masthead--no-padding-bottom {
  padding-bottom: 0;
}

.tsnz-breadcrumbs {
  position: relative;
}
.tsnz-breadcrumbs li {
  line-height: 1.75rem;
}
.tsnz-breadcrumbs--white {
  position: relative;
  background-color: #ffffff;
}
.tsnz-breadcrumbs--white:before {
  position: absolute;
  top: -3rem;
  width: 100%;
  height: 3rem;
  background-color: #ffffff;
  content: " ";
}

.tsnz-product-detail__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-product-detail__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-product-detail__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-product-detail__justified-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.tsnz-product-detail__tabs-bg {
  margin-bottom: 3.125rem;
  background-color: #ffffff;
}
.tsnz-product-detail__tabs-navigation-container {
  margin: 0;
  border: 1px solid none;
  background: transparent;
  list-style-type: none;
}
.tsnz-product-detail__tabs-navigation-container::before, .tsnz-product-detail__tabs-navigation-container::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-product-detail__tabs-navigation-container::after {
  clear: both;
}
.tsnz-product-detail__tabs-title {
  float: left;
  margin-top: 1.25rem;
  margin-right: 1.25rem;
  margin-bottom: 1.25rem;
  font-weight: bold;
  text-decoration: none;
}
.tsnz-product-detail__tabs-title > a {
  display: block;
  padding: 0;
  font-size: 1.75rem;
  line-height: 1;
  color: #034ea2;
}
[data-whatinput=mouse] .tsnz-product-detail__tabs-title > a {
  outline: 0;
}
.tsnz-product-detail__tabs-title > a:hover {
  background: #ffffff;
  color: rgb(2.58, 67.08, 139.32);
}
.tsnz-product-detail__tabs-title > a:focus, .tsnz-product-detail__tabs-title > a[aria-selected=true] {
  background: transparent;
  color: #034ea2;
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__tabs-title {
    margin-top: 1.75rem;
    margin-right: 3rem;
    margin-bottom: 1.75rem;
  }
}
.tsnz-product-detail__tabs-title.is-active::after {
  width: 100%;
}
.tsnz-product-detail__tabs-title::after {
  display: block;
  width: 0;
  height: 2px;
  margin-top: 0.375rem;
  background: #ffcb05;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
  content: "";
}
.tsnz-product-detail__tabs-title:hover::after {
  width: 100%;
}
.tsnz-product-detail__tabs-title a {
  font-size: 1rem;
  text-decoration: none;
}
[data-whatinput=mouse] .tsnz-product-detail__tabs-title a {
  outline: 0;
}
@media screen and (min-width: 23.4375em) {
  .tsnz-product-detail__tabs-title a {
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-product-detail__tabs-title a {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__tabs-title a {
    font-size: 1.75rem;
  }
}
.tsnz-product-detail__tabs-navigation {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__tabs-navigation {
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-product-detail__tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: transparent;
  color: #424952;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.tsnz-product-detail__tabs-panel {
  display: none;
  padding: 0;
}
.tsnz-product-detail__tabs-panel.is-active {
  display: block;
}
.tsnz-product-detail__quote {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  white-space: nowrap;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-product-detail__quote {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    -ms-flex-item-align: center;
        align-self: center;
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-product-detail__content {
  width: calc(100% - 1rem);
  margin-bottom: 0.5rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 1.75rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-product-detail__content {
    width: calc(50% - 1rem);
    margin-bottom: 0.5rem;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__content {
    width: calc(66.6666666667% - 2rem);
    margin-bottom: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
.tsnz-product-detail__content-text:not([data-content-truncate-content]) p:last-child {
  margin-bottom: 0;
}
.tsnz-product-detail__sidebar {
  width: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-product-detail__sidebar {
    width: calc(50% - 1rem);
    margin-bottom: 0.5rem;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-top: 0;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__sidebar {
    width: calc(33.3333333333% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-product-detail__gallery {
  width: calc(100% - 1rem);
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  padding: 1.75rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-product-detail__gallery {
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}
.tsnz-product-detail__main-video {
  width: calc(100% - 2rem);
  margin-bottom: 1rem;
  margin-left: 1rem;
  margin-right: 1rem;
}
.tsnz-product-detail [data-content-truncate-content] {
  position: relative;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  overflow: hidden;
}
.tsnz-product-detail [data-content-truncate-content]:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%);
}

.tsnz-location {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.tsnz-location__container {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-location__container {
    padding: 1.5rem;
  }
}

.tsnz-location address {
  font-style: normal;
}
@media screen and (max-width: 23.75em) {
  .tsnz-location__container {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-location__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-location__details, .tsnz-location__image, .tsnz-location__open-hours, .tsnz-location__actions, .tsnz-location__body, .tsnz-location__description {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.tsnz-location__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
}
.tsnz-location__details {
  font-size: 1.125em;
  color: #034ea2;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-location__details {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    padding-right: 1rem;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-location__image {
    width: 50%;
    margin-right: 0;
    margin-left: 0;
  }
}
.tsnz-location__body img,
.tsnz-location__body iframe {
  width: 100%;
}
.tsnz-location__body iframe {
  display: block;
  height: calc((100vw - 3rem - 2rem) * 0.5625);
  max-height: 42.1875rem;
  margin-bottom: 1em;
  background-color: #152931;
  font-size: 1rem;
}
@media screen and (min-width: 44.75em) {
  .tsnz-location__body iframe {
    height: calc((48.125rem - 2.875rem) * 0.5625);
  }
}
.tsnz-location__body > h2:not(:first-child),
.tsnz-location__body > h3:not(:first-child),
.tsnz-location__body > h4:not(:first-child),
.tsnz-location__body > h5:not(:first-child),
.tsnz-location__body > h6:not(:first-child) {
  margin-top: 1.5em;
}
.tsnz-location__owner-label, .tsnz-location__address-label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-location__phone-label, .tsnz-location__fax-label {
  width: 18%;
  margin-right: 0;
  margin-left: 0;
  display: block;
  margin-right: 0.5em;
}
.tsnz-location__email-label {
  width: 18%;
  margin-right: 0;
  margin-left: 0;
  display: block;
  margin-right: 0.5em;
  margin-bottom: 0;
}
.tsnz-location__owner, .tsnz-location__address {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.tsnz-location__phone, .tsnz-location__fax, .tsnz-location__email {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  width: auto;
  margin-right: 0;
  margin-left: 0;
  display: block;
}
.tsnz-location__buttons {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tsnz-location__buttons::before, .tsnz-location__buttons::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-location__buttons::after {
  clear: both;
}
.tsnz-location__buttons .tsnz-button {
  margin: 0;
  margin-right: 1rem;
  margin-bottom: 1rem;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-location__buttons .tsnz-button:last-child {
  margin-right: 0;
}
.tsnz-location__buttons .tsnz-button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.tsnz-location__buttons .tsnz-button:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-location__buttons .tsnz-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
  .tsnz-location__buttons .tsnz-button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-location__buttons {
    max-width: 28rem;
  }
}
.tsnz-location__actions, .tsnz-location__body {
  margin-bottom: 1rem;
}
.tsnz-location__awards {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.tsnz-location__details, .tsnz-location__image, .tsnz-location__address {
  margin-bottom: 2rem;
}
.tsnz-location__testimonials blockquote {
  margin-bottom: 0;
}
.tsnz-location [data-content-truncate-content] {
  position: relative;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  overflow: hidden;
}
.tsnz-location [data-content-truncate-content]:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%);
}
.tsnz-location [data-content-truncate-content]:after {
  display: none;
}
.tsnz-location__testimonial {
  padding-bottom: 1em;
}

.tsnz-location-page #details {
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
}

.tsnz-franchise-contact {
  color: #424952;
}
.tsnz-franchise-contact__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  padding-block: 2.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchise-contact__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__container {
    padding-block: 4rem;
  }
}
.tsnz-franchise-contact__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__inner {
    grid-template-columns: minmax(0, 584fr) minmax(0, 646fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 3rem;
  }
}
.tsnz-franchise-contact__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__content {
    padding-left: 2rem;
    gap: 1.5rem;
  }
}
.tsnz-franchise-contact__heading {
  margin-bottom: 0;
  padding-bottom: 1rem;
  color: #034ea2;
  text-wrap: balance;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-franchise-contact__heading {
    padding-bottom: 0;
  }
}
.tsnz-franchise-contact__identity p,
.tsnz-franchise-contact__identity address, .tsnz-franchise-contact__block p,
.tsnz-franchise-contact__block address {
  margin-bottom: 0;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-franchise-contact__identity, .tsnz-franchise-contact__block {
    font-size: 0.9375rem;
    line-height: 1.4375rem;
  }
}
.tsnz-franchise-contact__identity a, .tsnz-franchise-contact__block a {
  color: inherit;
  text-decoration: none;
}
.tsnz-franchise-contact__identity a:hover, .tsnz-franchise-contact__identity a:focus, .tsnz-franchise-contact__block a:hover, .tsnz-franchise-contact__block a:focus {
  text-decoration: underline;
}
.tsnz-franchise-contact address {
  font-style: normal;
  margin: 0;
}
.tsnz-franchise-contact__owners, .tsnz-franchise-contact__label {
  font-weight: bold;
}
.tsnz-franchise-contact__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@supports not (aspect-ratio: 4/3) {
  .tsnz-franchise-contact__media {
    height: 0;
    padding-bottom: 75%;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__media {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
.tsnz-franchise-contact__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-franchise-contact__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  padding-top: 0.75rem;
  width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__buttons {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.75rem;
    padding-top: 1.5rem;
    width: auto;
  }
}
.tsnz-franchise-contact__buttons > .tsnz-action-button {
  width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-contact__buttons > .tsnz-action-button {
    width: auto;
  }
}

.tsnz-franchise-about {
  color: #424952;
}
.tsnz-franchise-about__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  padding-block: 2.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchise-about__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__container {
    padding-block: 4rem;
  }
}
.tsnz-franchise-about__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__inner {
    grid-template-columns: minmax(0, 584fr) minmax(0, 646fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 3rem;
  }
}
.tsnz-franchise-about__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__col {
    gap: 1.5rem;
  }
}
.tsnz-franchise-about__heading {
  margin-bottom: 0;
  color: #034ea2;
  font-size: 1.75rem;
  line-height: 1.214;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__heading {
    font-size: 2rem;
    line-height: 1.156;
  }
}
.tsnz-franchise-about__left p, .tsnz-franchise-about__right p {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.tsnz-franchise-about__left p:last-child, .tsnz-franchise-about__right p:last-child {
  margin-bottom: 0;
}
.tsnz-franchise-about__left {
  font-size: 0.9375rem;
  line-height: 1.4375rem;
  letter-spacing: -0.01em;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__left {
    font-size: 1.25rem;
    line-height: 2rem;
  }
}
.tsnz-franchise-about__right {
  font-size: 0.9375rem;
  line-height: 1.4375rem;
  letter-spacing: -0.01em;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-about__right {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.tsnz-content {
  text-align: left;
}
.tsnz-content__wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-content__wrapper {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 23.75em) {
  .tsnz-content__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-content__body[data-content-truncate-content] {
  position: relative;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  overflow: hidden;
}
.tsnz-content__body[data-content-truncate-content]:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%);
}
.tsnz-content__body [href]:visited {
  color: rgb(110.45, 110.45, 110.45);
}
@media print {
  .tsnz-content__body {
    height: auto !important;
  }
}
.tsnz-content__body > ul > li,
.tsnz-content__body > ol > li {
  margin-bottom: 0.5rem;
}
.tsnz-content__body > h2:not(:first-child),
.tsnz-content__body > h3:not(:first-child),
.tsnz-content__body > h4:not(:first-child),
.tsnz-content__body > h5:not(:first-child),
.tsnz-content__body > h6:not(:first-child) {
  margin-top: 1.5em;
}
.tsnz-content__body > img,
.tsnz-content__body > iframe,
.tsnz-content__body > p > img,
.tsnz-content__body > p > iframe,
.tsnz-content__body > p > a > img,
.tsnz-content__body > p > a > iframe {
  width: 100%;
}
.tsnz-content__body > iframe,
.tsnz-content__body > p > iframe {
  display: block;
  height: calc((100vw - 3rem - 2rem) * 0.5625);
  max-height: 42.1875rem;
  margin-bottom: 1em;
  background-color: #152931;
  font-size: 1rem;
}
@media screen and (min-width: 44.75em) {
  .tsnz-content__body > iframe,
  .tsnz-content__body > p > iframe {
    height: calc((48.125rem - 2.875rem) * 0.5625);
  }
}
.tsnz-content__form .tsnz-form__form {
  width: 100%;
  margin: 2em 0 1em;
}
.tsnz-content--text {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content--text {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content--text {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-content--text .tsnz-content__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content--text .tsnz-content__wrapper {
    padding: 0;
  }
}
.tsnz-content--text .tsnz-content__body {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content--text .tsnz-content__body {
    width: calc(66.6666666667% - 1rem);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    padding-right: 3rem;
  }
}
.tsnz-content--text .tsnz-content__buttons {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content--text .tsnz-content__buttons {
    width: calc(33.3333333333% - 1rem);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    margin-top: 2.75rem;
  }
}
.tsnz-content--full-width {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content--full-width {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content--full-width {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-content--full-width .tsnz-content__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content--full-width .tsnz-content__wrapper {
    padding: 0;
  }
}
.tsnz-content--full-width .tsnz-content__body,
.tsnz-content--full-width .tsnz-content__buttons {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}

.tsnz-cladding__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-cladding__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-cladding__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-cladding__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-cladding__content {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-cladding__content {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-cladding__content-inner {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-cladding__content-inner {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 23.75em) {
  .tsnz-cladding__content-inner {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-cladding__brands {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
[data-whatinput=mouse] .tsnz-cladding__brands li {
  outline: 0;
}
.tsnz-cladding__brands a,
.tsnz-cladding__brands .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 1rem 1rem;
}
.tsnz-cladding__brands input,
.tsnz-cladding__brands select,
.tsnz-cladding__brands a,
.tsnz-cladding__brands button {
  margin-bottom: 0;
}
.tsnz-cladding__brands input {
  display: inline-block;
}
.tsnz-cladding__brands li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.tsnz-cladding__brand {
  background-color: transparent;
  font-size: 1rem;
  color: #152931;
  text-align: center;
}
.tsnz-cladding__brand[href],
.tsnz-cladding__brand a {
  color: currentColor;
}
.tsnz-cladding__brand[href]:hover,
.tsnz-cladding__brand a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-cladding__brand img {
  width: 100%;
  max-width: 12.75rem;
  padding-bottom: 1em;
}
.tsnz-cladding__brand.is-active {
  background-color: rgb(239.85, 239.85, 239.85);
}
.tsnz-cladding__brand-link {
  height: 100%;
  padding: 1rem;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
[data-whatintent=mouse] .tsnz-cladding__brand-link, [data-whatintent=touch] .tsnz-cladding__brand-link {
  outline: none;
}
.tsnz-cladding__brand-name {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-cladding__brand-description {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-cladding__brand-description {
    position: static !important;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }
}
.tsnz-cladding__table {
  display: block;
  width: 100%;
  overflow-x: auto;
  margin-bottom: 0;
}
.tsnz-cladding__table[aria-hidden=false] {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: custom-5;
          animation-name: custom-5;
  -webkit-animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
          animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
}
.tsnz-cladding__table[aria-hidden=true] {
  display: none;
}
.tsnz-cladding__color-row td,
.tsnz-cladding__color-row th {
  position: relative;
  vertical-align: middle;
  width: 13.5%;
  min-width: 3em;
  height: 4rem;
  border-width: 5px 1px;
  border-style: solid;
  border-color: #ffffff;
}
.tsnz-cladding__color-row td {
  text-align: center;
}
.tsnz-cladding__color-row th {
  text-align: left;
}
.tsnz-cladding__colour {
  visibility: hidden;
}
.tsnz-cladding__colour:after {
  width: 0.75rem;
  height: 0.75rem;
  margin: auto;
  visibility: visible;
  border-radius: 50%;
  background-color: currentColor;
}
.tsnz-cladding__colour--available:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.tsnz-cladding__view-swatch {
  font-size: 1.5em;
}
.tsnz-cladding__view-swatch svg {
  margin: auto;
}
.tsnz-cladding__caption {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-cladding__option-labels {
  border-top: none;
  border-color: #ffffff;
  background-color: rgb(239.85, 239.85, 239.85);
}
.tsnz-cladding__option-labels img {
  display: block;
  max-width: 8.75rem;
  mix-blend-mode: multiply;
  margin: auto;
}
.tsnz-cladding__option-labels th,
.tsnz-cladding__option-labels td {
  vertical-align: top;
  border: 1px solid rgb(155.8, 155.8, 155.8);
  border-top: 0;
}
.tsnz-cladding__option-labels th:first-child,
.tsnz-cladding__option-labels td:first-child {
  border-left-color: #ffffff;
}
.tsnz-cladding__option-labels th:last-child,
.tsnz-cladding__option-labels td:last-child {
  border-right-color: #ffffff;
}
.tsnz-cladding__option-labels [rowspan="2"] {
  border-bottom: 0;
}
.tsnz-cladding__option-sizes td,
.tsnz-cladding__option-sizes th {
  border-bottom: 0;
  text-align: center;
}
.tsnz-cladding__disclaimer {
  border-color: #ffffff;
  background-color: #ffffff;
}
.tsnz-cladding__disclaimer td {
  padding-left: 0;
  font-size: 81.25%;
  font-weight: normal;
}

.tsnz-option-item h3 {
  margin-bottom: 0.75em;
  font-weight: normal;
}
.tsnz-option-item__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-option-item__image {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 1rem;
}
@media screen and (min-width: 34.375em) {
  .tsnz-option-item__image {
    width: calc(50% - 4rem);
    margin-bottom: 2rem;
    margin-right: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-option-item__image {
    width: calc(50% - 4rem);
    margin-bottom: 2rem;
    margin-right: 2rem;
  }
}
.tsnz-option-item__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 1rem;
}
@media screen and (min-width: 34.375em) {
  .tsnz-option-item__content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-option-item__content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 2rem;
  }
}
.tsnz-option-item__description {
  margin-bottom: 0;
}

.tsnz-pagination {
  margin-top: 2rem;
  color: #034ea2;
}
.tsnz-pagination a {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.tsnz-pagination a:hover {
  text-decoration: none;
}
.tsnz-pagination a:active {
  background: rgb(249.9, 249.9, 249.9);
}
.tsnz-pagination__previous span,
.tsnz-pagination__previous a, .tsnz-pagination__next span,
.tsnz-pagination__next a {
  display: block;
  padding: 0.1875rem 1rem;
  border: solid 2px #ffcb05;
  border-radius: 5px;
  background: #ffffff;
  font-size: 1rem;
  font-weight: bold;
  color: currentColor;
}
.tsnz-pagination__previous span:hover,
.tsnz-pagination__previous a:hover, .tsnz-pagination__next span:hover,
.tsnz-pagination__next a:hover {
  border-color: currentColor;
  color: currentColor;
}
.tsnz-pagination .current {
  font-weight: bold;
}
.tsnz-pagination .disabled span {
  opacity: 0.2;
  border-color: #a4a4a4;
}

.tsnz-highlights__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-highlights__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-highlights__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-highlights__detail, .tsnz-highlights__image, .tsnz-highlights__case-studies, .tsnz-highlights__highlight {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__detail, .tsnz-highlights__image, .tsnz-highlights__case-studies, .tsnz-highlights__highlight {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-highlights__header {
  margin-bottom: 1rem;
}
.tsnz-highlights__highlight {
  margin-bottom: 2rem;
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__highlight {
    width: calc(58.3333333333% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__case-studies {
    width: calc(41.6666666667% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-highlights__case-studies blockquote:nth-child(n+3) {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__case-studies blockquote:nth-child(n+3) {
    display: block;
  }
}
.tsnz-highlights__highlight-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__highlight-wrapper {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.tsnz-highlights__descriptions {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 4.2rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 3;
}
.tsnz-highlights__image {
  display: block;
  margin-bottom: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__image {
    width: calc(57.1428571429% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-highlights__detail {
    width: calc(42.8571428571% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-highlights__heading {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 3.6rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1.5rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 2;
  margin-bottom: 1rem;
}
.tsnz-highlights__subtitle {
  color: #a4a4a4;
}

.tsnz-image-menu__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-menu__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-image-menu__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-image-menu__inner {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__inner {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-image-menu__inner-wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__inner-wrapper {
    padding: 1.5rem;
  }
}

.tsnz-image-menu__inner-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 23.75em) {
  .tsnz-image-menu__inner-wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-image-menu__heading {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__heading {
    display: block;
  }
}
.tsnz-image-menu__body[data-content-truncate-content] {
  position: relative;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  overflow: hidden;
}
.tsnz-image-menu__body[data-content-truncate-content]:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(white));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, white 100%);
}
.tsnz-image-menu__body > h2:not(:first-child),
.tsnz-image-menu__body > h3:not(:first-child),
.tsnz-image-menu__body > h4:not(:first-child),
.tsnz-image-menu__body > h5:not(:first-child),
.tsnz-image-menu__body > h6:not(:first-child) {
  margin-top: 1.5em;
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__heading-mobile {
    display: none;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-menu__content {
    margin-top: 1rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__content {
    width: 33.3333333333%;
    margin-right: 0;
    margin-left: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 0;
    padding-right: 2.5em;
  }
}
@media screen and (min-width: 90em) {
  .tsnz-image-menu__content {
    padding-right: 4.5em;
  }
}
.tsnz-image-menu__button {
  margin-top: 1.5em;
}
.tsnz-image-menu__menu {
  width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__menu {
    width: 66.6666666667%;
    margin-right: 0;
    margin-left: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.tsnz-image-menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  list-style: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-menu__list {
    margin-top: -0.5rem;
    margin-bottom: -0.5rem;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 64em) {
  .tsnz-image-menu__list {
    margin-top: -1rem;
    margin-bottom: -1rem;
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.tsnz-image-menu__item {
  width: calc(50% - 1rem);
  margin-top: 0.5rem;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  margin-bottom: 0.5rem;
  position: relative;
}
@media screen and (min-width: 64em) {
  .tsnz-image-menu__item {
    width: calc(50% - 2rem);
    margin-top: 1rem;
    margin-right: 1rem;
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
}
.tsnz-image-menu__link::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  background-color: rgba(21, 41, 49, 0.3);
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  pointer-events: none;
}
.tsnz-image-menu__link[href]:hover::before {
  opacity: 0.8;
}
.tsnz-image-menu__link[href]:active::before {
  opacity: 1;
  -webkit-transition: opacity 0.1s ease-out;
  transition: opacity 0.1s ease-out;
}
.tsnz-image-menu__image {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 54.0540540541%;
  background-color: #f6f6f6;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.tsnz-image-menu__link-label {
  z-index: 5;
  display: block;
  font-size: 1.125em;
  font-weight: bold;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-menu__link-label {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0.5em;
    background-color: rgba(255, 203, 5, 0.9);
    text-align: center;
  }
}

.tsnz-pathway {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  color: #ffffff;
  text-align: left;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}
@media screen and (min-width: 43.75em) and (min-width: 64em) {
  .tsnz-pathway {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-pathway {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-right: -2em;
  }
}
.tsnz-pathway__image, .tsnz-pathway__content {
  width: 100%;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  display: block;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway__image, .tsnz-pathway__content {
    width: 50%;
    padding-right: 0;
    padding-left: 0;
  }
}
.tsnz-pathway__content {
  background-color: #424952;
}
@supports (background-image: conic-gradient(from 100deg, rgb(56.9027027027, 62.9378378378, 70.6972972973), #424952)) {
  .tsnz-pathway__content {
    background-image: conic-gradient(from 100deg, rgb(56.9027027027, 62.9378378378, 70.6972972973), #424952);
  }
}
.tsnz-pathway__image {
  position: relative;
  min-height: 21.875rem;
  background-color: #f6f6f6;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway__image {
    min-height: 28.75rem;
  }
}
.tsnz-pathway__image img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  font-family: "object-fit: cover";
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-pathway__play-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 1em;
  height: 1em;
  margin: auto;
  font-size: 5rem;
}
.tsnz-pathway__body {
  overflow: hidden;
}
.tsnz-pathway__body[data-content-truncate-content] {
  position: relative;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  overflow: hidden;
}
.tsnz-pathway__body[data-content-truncate-content]:after {
  position: absolute;
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(66, 73, 82, 0)), to(#424952));
  background: linear-gradient(180deg, rgba(66, 73, 82, 0) 0%, #424952 100%);
}
.tsnz-pathway__body a {
  color: currentColor;
  text-decoration: underline;
}
.tsnz-pathway__body a:hover {
  opacity: 0.8;
}
@media screen and (min-width: 90em) {
  .tsnz-pathway__body p {
    margin-bottom: 2em;
  }
}
.tsnz-pathway__body p:first-child {
  font-size: 112.5%;
}
.tsnz-pathway__body-wrapper button {
  color: currentColor;
}
.tsnz-pathway__body-wrapper button:active, .tsnz-pathway__body-wrapper button:focus, .tsnz-pathway__body-wrapper button:hover {
  opacity: 0.9;
  color: currentColor;
}
.tsnz-pathway__content-wrapper {
  margin-left: 0.5rem;
  margin-bottom: 0.5rem;
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-pathway__content-wrapper {
    margin-left: 1rem;
    margin-bottom: 1rem;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway__content-wrapper {
    -ms-flex-item-align: center;
        align-self: center;
    max-width: 37.5rem;
    padding: 3rem;
  }
}
.tsnz-pathway__heading {
  color: #ffcb05;
}
.tsnz-pathway__link {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  border: 0.125rem solid #ffcb05;
  background-color: transparent;
  color: #ffffff;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  margin-top: 1.5em;
  margin-bottom: 0.125em;
  margin-left: 0.125em;
}
[data-whatinput=mouse] .tsnz-pathway__link {
  outline: 0;
}
.tsnz-pathway__link:hover, .tsnz-pathway__link:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-pathway__link:hover, .tsnz-pathway__link:focus {
  border-color: #ffcb05;
  background-color: transparent;
  color: #ffcb05;
}
.tsnz-pathway__link:active, .tsnz-pathway__link.active {
  opacity: 0.9;
  border-color: rgb(209, 165.528, 0);
  background-color: transparent;
  color: rgb(209, 165.528, 0);
}
.tsnz-pathway__link[disabled], .tsnz-pathway__link.disabled {
  border-color: #f6f6f6;
  background-color: #f6f6f6;
  color: #e4e4e4;
  pointer-events: none;
  cursor: not-allowed;
}
.tsnz-pathway__link:focus, .tsnz-pathway__link:active, .tsnz-pathway__link:hover {
  text-decoration: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway--content-left .tsnz-pathway__wrapper {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway--content-left .tsnz-pathway__image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-pathway--content-left .tsnz-pathway__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 75em) {
  .tsnz-pathway--content-left .tsnz-pathway__content-wrapper {
    margin-left: calc(50vw - 45rem);
  }
}

.tsnz-map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.tsnz-map__ui-wrapper {
  display: block;
  margin-right: 0;
  margin-left: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

.tsnz-map__ui-top {
  padding: 0.75rem;
  background-color: #02346d;
}
@media screen and (min-width: 64em) {
  .tsnz-map__ui-top {
    padding: 1.25rem;
  }
}

.tsnz-map__ui-content {
  display: block;
  padding: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-map__ui-content {
    padding: 1.25rem;
  }
}

.tsnz-map__heading {
  color: #ffcb05;
}
.tsnz-map__heading:last-child {
  margin-bottom: 0;
}

.tsnz-map__description {
  margin-bottom: 1.5rem;
}

.tsnz-map__gmap {
  width: 100%;
  height: calc(18.75rem + 19.53125vw);
  min-height: 18.75rem;
  max-height: 100vh;
  max-height: calc(100vh - var(--browser-address-bar, 0px));
}
@media screen and (min-width: 64em) {
  .tsnz-map__gmap {
    height: calc(31.25rem + 50.3472222222vw);
    max-height: 70.625rem;
  }
}
.tsnz-map__back-button {
  background-color: transparent;
  font-size: 1rem;
  color: #152931;
  font-family: "Inter", Helvetica, Roboto, Arial, sans-serif;
}
.tsnz-map__back-button[href],
.tsnz-map__back-button a {
  color: currentColor;
}
.tsnz-map__back-button[href]:hover,
.tsnz-map__back-button a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-map__ui {
  margin-top: 0.5rem;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  margin-bottom: 0.5rem;
  width: 100%;
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
@media screen and (min-width: 64em) {
  .tsnz-map__ui {
    margin-right: 1rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    max-width: 25em;
    margin-top: 1rem;
  }
}
@media screen and (min-width: 75em) {
  .tsnz-map__ui {
    margin-right: 2rem;
    margin-left: 2rem;
    max-width: 32.5em;
    margin-top: 8rem;
  }
}
.tsnz-map__gmap .tsnz-map__ui {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: custom-1;
          animation-name: custom-1;
  -webkit-animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
          animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
}
.tsnz-map__ui-wrapper {
  position: relative;
  border-bottom: 0.3125rem solid #ffcb05;
  -webkit-box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
}
.tsnz-map__ui-top {
  color: #ffffff;
  background-color: #034ea2;
  padding: 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-map__ui-top {
    padding: 2rem;
  }
}
.tsnz-map__ui-top > p {
  margin-bottom: 0;
}
.tsnz-map__heading, .tsnz-map__select-heading {
  font-size: 1.5rem;
  line-height: 1.875rem;
}
.tsnz-map__heading {
  color: inherit;
  margin-bottom: 1rem;
}
.tsnz-map__loading {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  display: none;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 64em) {
  .tsnz-map__loading {
    font-size: 1.25em;
  }
}
.tsnz-map__state-description {
  display: none;
}
.tsnz-map__menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: none;
}
[data-whatinput=mouse] .tsnz-map__menu li {
  outline: 0;
}
.tsnz-map__menu a,
.tsnz-map__menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 1rem 1rem;
}
.tsnz-map__menu input,
.tsnz-map__menu select,
.tsnz-map__menu a,
.tsnz-map__menu button {
  margin-bottom: 0;
}
.tsnz-map__menu input {
  display: inline-block;
}
.tsnz-map__menu a {
  padding: 0.75em 0;
  border-bottom: 1px solid #034ea2;
  font-size: 1.25em;
  color: #034ea2;
}
.tsnz-map__menu-link {
  position: relative;
}
.tsnz-map__menu-link:after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  width: 1rem;
  height: 1rem;
  margin: auto;
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M8.68 8.8l-6.8 6.87a1.1 1.1 0 0 1-1.56 0 1.13 1.13 0 0 1 0-1.58L6.33 8l-6-6.09a1.13 1.13 0 0 1 0-1.58 1.1 1.1 0 0 1 1.56 0L8.68 7.2a1.12 1.12 0 0 1 0 1.58z%22 fill=%22%23FFCB05%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
  background-size: 1rem 1rem;
}
.tsnz-map .tsnz-map__ui-content {
  max-height: 44em;
  overflow-y: auto;
  padding: 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-map .tsnz-map__ui-content {
    padding: 2rem;
  }
}
.tsnz-map__select-heading, .tsnz-map__select-description {
  margin-bottom: 1.25rem;
}
.tsnz-map--loading .tsnz-map__loading {
  display: block;
}
@media screen and (min-width: 75em) {
  .tsnz-map--in-state .tsnz-map__ui {
    -webkit-transform: translateY(-6em);
            transform: translateY(-6em);
  }
}
.tsnz-map--in-state .tsnz-map__description,
.tsnz-map--in-state .tsnz-map__select-heading,
.tsnz-map--in-state .tsnz-map__select-description {
  display: none;
}
@media screen and (min-width: 75em) {
  .tsnz-map--in-state .tsnz-map__select {
    display: none;
  }
}
@media screen and (min-width: 75em) {
  .tsnz-map--in-state .tsnz-map__ui-content {
    padding-top: 0.75rem;
  }
}
.tsnz-map--in-state .tsnz-map__menu {
  display: none;
}
@media screen and (min-width: 75em) {
  .tsnz-map--in-state .tsnz-map__menu {
    display: block;
  }
}
.tsnz-map--in-state .tsnz-map__state-description {
  display: block;
}

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

.fancybox-active {
  height: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@supports (padding: max(0px)) {
  .fancybox-caption {
    padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
  }
}
.fancybox-caption--separate {
  margin-top: -50px;
}

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

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

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

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

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

@keyframes fancybox-rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* Transition effects */
.fancybox-animated {
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
          transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-right: 6px;
    padding-left: 6px;
  }
  .fancybox-slide--image {
    padding: 6px 0;
  }
  .fancybox-close-small {
    right: -6px;
  }
  .fancybox-slide--image .fancybox-close-small {
    top: 0;
    right: 0;
    width: 36px;
    height: 36px;
    padding: 6px;
    opacity: 1;
    background: #4e4e4e;
    color: #f2f4f6;
  }
  .fancybox-caption {
    padding-right: 12px;
    padding-left: 12px;
  }
  @supports (padding: max(0px)) {
    .fancybox-caption {
      padding-right: max(12px, env(safe-area-inset-right));
      padding-left: max(12px, env(safe-area-inset-left));
    }
  }
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: calc(50% - 7px);
  top: calc(50% - 6px);
  border: 2px solid;
  background: none;
}

/* Slideshow button */
.fancybox-button--play::before,
.fancybox-button--pause::before {
  top: calc(50% - 6px);
  left: calc(50% - 4px);
  background: transparent;
}

.fancybox-button--play::before {
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  border-radius: 1px;
}

.fancybox-button--pause::before {
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }
  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}
.fancybox-is-open .fancybox-bg {
  opacity: 1;
  background-color: #ffffff;
}

.fancybox-button {
  background: none;
  color: #034ea2;
}

.fancybox-toolbar,
.fancybox-navigation .fancybox-button {
  visibility: visible;
  opacity: 1;
}

.fancybox-navigation .fancybox-button[disabled] {
  opacity: 0.35;
}

.fancybox-button--close {
  top: 1rem;
  right: 1rem;
  width: 3.375rem;
  height: 3.375rem;
  padding: 0;
  color: #034ea2;
}
@media print, screen and (min-width: 43.75em) {
  .fancybox-button--close {
    top: 2.0625rem;
  }
}
.fancybox-button--close:hover, .fancybox-button--close:focus {
  color: rgb(1.8, 46.8, 97.2);
}
.fancybox-button--close .tsnz-lightbox__close-icon {
  display: block;
  width: 100%;
  height: 100%;
}
.fancybox-button--close .tsnz-lightbox__close-icon path {
  fill: none;
  stroke: currentColor;
  stroke-width: 3.15;
}

.fancybox-navigation .fancybox-button {
  width: 2.875rem;
  height: 2.875rem;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  top: calc(50% - 1.4375rem);
}
.fancybox-navigation .fancybox-button::after {
  display: block;
  width: 2.875rem;
  height: 2.875rem;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width=%2246%22 height=%2246%22 viewBox=%220 0 46 46%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M25.875 8.625L23.8194 10.6274L34.7156 21.5625H5.75V24.4375H34.7156L23.8194 35.3237L25.875 37.375L40.25 23L25.875 8.625Z%22 fill=%22%23034EA2%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.fancybox-navigation .fancybox-button--arrow_left {
  left: 0.6875rem;
}
@media print, screen and (min-width: 43.75em) {
  .fancybox-navigation .fancybox-button--arrow_left {
    left: 1.4375rem;
  }
}
.fancybox-navigation .fancybox-button--arrow_left::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.fancybox-navigation .fancybox-button--arrow_right {
  right: 0.6875rem;
}
@media print, screen and (min-width: 43.75em) {
  .fancybox-navigation .fancybox-button--arrow_right {
    right: 1.4375rem;
  }
}

.fancybox-infobar {
  display: none;
}

.fancybox-image {
  position: static;
  display: block;
  max-width: 56.75rem;
  height: auto;
  margin: 0 auto;
}

.fancybox-slide .fancybox-content {
  padding: 0;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.fancybox-slide--image .fancybox-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.fancybox-slide.tsnz-lightbox-youtube {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.fancybox-slide.tsnz-lightbox-youtube::before {
  display: none;
}
.fancybox-slide.tsnz-lightbox-youtube .fancybox-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100% - 10rem);
  max-width: 56.75rem;
  height: auto;
  padding: 0;
  background-color: transparent;
  overflow: visible;
}
.fancybox-slide.tsnz-lightbox-youtube .tsnz-youtube-player {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #152931;
  overflow: hidden;
}
.fancybox-slide.tsnz-lightbox-youtube .fancybox-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.fancybox-slide.tsnz-lightbox-youtube .fancybox-custom-caption,
.fancybox-slide.tsnz-lightbox-youtube .fancybox-custom-caption-inner {
  width: 100%;
}

.fancybox-caption-wrapper {
  display: none;
}

.fancybox-custom-caption {
  background: transparent;
  color: #424952;
}

.fancybox-custom-caption-inner {
  max-width: 56.75rem;
  margin: 0 auto;
  padding: 1.5rem 0 0;
}

.tsnz-lightbox-caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-lightbox-caption {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.tsnz-lightbox-caption__text {
  max-width: 40rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.tsnz-lightbox-caption__title, .tsnz-lightbox-caption__text strong {
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6875rem;
  letter-spacing: -0.01em;
  color: #424952;
}
.tsnz-lightbox-caption__desc {
  margin: 0;
  color: #424952;
}
.tsnz-lightbox-caption__enquire {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

@media screen and (max-width: 43.74875em) {
  .fancybox-slide--image {
    padding: 1.5rem 1rem;
  }
  .fancybox-slide.tsnz-lightbox-youtube {
    padding: 1.5rem 1rem;
  }
  .fancybox-slide.tsnz-lightbox-youtube .fancybox-content {
    width: 100%;
  }
  .fancybox-navigation .fancybox-button {
    top: auto;
    bottom: 3rem;
  }
  .fancybox-navigation .fancybox-button--arrow_left {
    left: auto;
    right: 4.625rem;
  }
  .fancybox-navigation .fancybox-button--arrow_right {
    right: 1rem;
  }
}
.tsnz-lightbox {
  display: block;
  position: relative;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
  overflow: hidden;
}
.tsnz-lightbox--video {
  cursor: pointer;
}
.tsnz-lightbox__overlay {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #034ea2;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.tsnz-lightbox__overlay--video {
  background-color: rgba(3, 78, 162, 0.18);
  opacity: 1;
}
.tsnz-lightbox:hover .tsnz-lightbox__overlay {
  opacity: 1;
}
.tsnz-lightbox:focus-visible {
  outline: 2px solid #034ea2;
  outline-offset: 2px;
}
.tsnz-lightbox__icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 3.5rem;
  height: 3.5rem;
  color: #ffcb05;
}
.tsnz-lightbox__icon--video {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.75rem;
  border-radius: 50%;
  background-color: #ffcb05;
  color: #034ea2;
}
.tsnz-lightbox__icon .svg-icon {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}

.tsnz-form {
  position: relative;
  color: #034ea2;
}
.tsnz-form__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-form__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-form__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-form__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-form__form {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-form__form {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-form legend {
  color: currentColor;
}
.tsnz-form p {
  color: #424952;
}
.tsnz-form .form-error {
  margin-top: 0.625rem;
  margin-bottom: 0;
}
.tsnz-form__form {
  position: relative;
  color: currentColor;
}
.tsnz-form__post-submit {
  display: none;
  opacity: 0;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-name: custom-5;
          animation-name: custom-5;
  -webkit-animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
          animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.tsnz-form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-form__row {
    margin-right: -1rem;
    margin-left: -1rem;
  }
}
.tsnz-form__half-row {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-form__half-row {
    width: calc(50% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-form__two-thirds-row {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-form__two-thirds-row {
    width: calc(66.6666666667% - 1rem);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-form__two-thirds-row {
    width: calc(66.6666666667% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-form__one-third-row {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-form__one-third-row {
    width: calc(33.3333333333% - 1rem);
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-form__one-third-row {
    width: calc(33.3333333333% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-form__auto-cell {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-form__auto-cell {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-form__shrink-cell {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-form__shrink-cell {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-form__wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tsnz-form__button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0;
}
.tsnz-form__button-group::before, .tsnz-form__button-group::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-form__button-group::after {
  clear: both;
}
.tsnz-form__button-group .tsnz-button {
  margin: 0;
  margin-right: 0.375rem;
  margin-bottom: 0.375rem;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-form__button-group .tsnz-button:last-child {
  margin-right: 0;
}
.tsnz-form__button-group .tsnz-button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.tsnz-form__button-group .tsnz-button:last-child {
  margin-bottom: 0;
}
.tsnz-form__loading {
  display: none;
  margin-top: 1em;
}
.tsnz-form__actions {
  margin-top: 1.5em;
}
.tsnz-form__map {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  background-color: #f6f6f6;
}
.tsnz-form__map-container {
  position: relative;
}
.tsnz-form__map-assist {
  display: none;
  opacity: 0;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-name: custom-1;
          animation-name: custom-1;
  -webkit-animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
          animation-timing-function: cubic-bezier(0.11, 0.92, 0.05, 0.99);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.tsnz-form__map-loading, .tsnz-form__map-feedback {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.tsnz-form__map-feedback {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; /* column | row */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  background-color: #034ea2;
  font-weight: 700;
  color: #ffcb05;
  text-align: center;
}
.tsnz-form__map-loading {
  height: 2.5em;
  margin: auto;
}
.tsnz-form__map-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-bottom: 0.5rem;
}
.tsnz-form__map-heading-left {
  width: 66.6666666667%;
  margin-right: 0;
  margin-left: 0;
}
.tsnz-form__map-heading-right {
  width: 33.3333333333%;
  margin-right: 0;
  margin-left: 0;
  text-align: right;
}
.tsnz-form__cover-image {
  position: absolute;
  z-index: -1;
  margin: -1.75rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: opacity 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99), -webkit-transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  transition: opacity 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99), -webkit-transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  transition: opacity 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99), transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  transition: opacity 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99), transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99), -webkit-transform 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
}
.tsnz-form--map-active .tsnz-form__map-assist {
  display: block;
}
.tsnz-form--map-loaded .tsnz-form__map-loading {
  display: none;
}
.tsnz-form--map-success .tsnz-form__map-feedback {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tsnz-form--card-style .tsnz-form__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
  overflow: hidden;
  color: #424952;
  max-width: 48.125rem;
  padding: 1.5rem;
  color: currentColor;
}
.tsnz-form--card-style .tsnz-form__form > :last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 23.75em) {
  .tsnz-form--card-style .tsnz-form__form {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-form--wide .tsnz-form__form {
  max-width: 68.75rem;
}
.tsnz-form--loading .tsnz-form__actions {
  display: none;
}
.tsnz-form--loading .tsnz-form__loading {
  display: block;
}
.tsnz-form--complete .tsnz-form__pre-submit,
.tsnz-form--complete .tsnz-form__loading {
  display: none;
}
.tsnz-form--complete .tsnz-form__post-submit {
  display: block;
}
.tsnz-form--newsletter {
  color: #ffffff;
}
.tsnz-form--newsletter .tsnz-form__form {
  width: 100%;
  margin: 0;
}
.tsnz-form--newsletter legend {
  margin-bottom: 0;
  font-size: 1.375rem;
  line-height: 1.25;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-form--newsletter legend {
    font-size: 1.75rem;
    line-height: 1.5;
  }
}
.tsnz-form--newsletter [type=submit] {
  margin-top: 1.5625rem;
}
.tsnz-form--newsletter .tsnz-form__post-submit-message h2,
.tsnz-form--newsletter .tsnz-form__post-submit-message h3,
.tsnz-form--newsletter .tsnz-form__post-submit-message h4,
.tsnz-form--newsletter .tsnz-form__post-submit-message h5,
.tsnz-form--newsletter .tsnz-form__post-submit-message h6 {
  color: currentColor;
}
.tsnz-form--contact .tsnz-image {
  margin-bottom: 1rem;
}
.tsnz-form--contact-nz .tsnz-form__form {
  max-width: 60rem;
  margin-right: auto;
  margin-left: auto;
}
.tsnz-form--contact-nz .tsnz-form__pre-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.tsnz-form--contact-nz .tsnz-input,
.tsnz-form--contact-nz .tsnz-select,
.tsnz-form--contact-nz .tsnz-textarea,
.tsnz-form--contact-nz .tsnz-checkbox-group,
.tsnz-form--contact-nz .tsnz-form__actions {
  margin: 0;
}
.tsnz-form--contact-nz input,
.tsnz-form--contact-nz select,
.tsnz-form--contact-nz textarea {
  margin-bottom: 0;
}
.tsnz-form--contact-nz .tsnz-form__row {
  row-gap: 1.5rem;
}
.tsnz-form--contact-nz .tsnz-form__actions {
  margin-top: 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-form--contact-nz .tsnz-select {
    max-width: 50%;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-form--contact-nz .tsnz-form__actions .tsnz-action-button {
    width: auto;
  }
}
.tsnz-form--contact-nz [data-abide-error].callout {
  border-color: #ed1c24;
  background-color: rgba(237, 28, 36, 0.08);
  color: #ed1c24;
}
.tsnz-form--answer-services .tsnz-form__pre-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.tsnz-form--answer-services .ver-form__content-legend-container,
.tsnz-form--answer-services .ver-form__franchise-display,
.tsnz-form--answer-services .tsnz-input,
.tsnz-form--answer-services .tsnz-select,
.tsnz-form--answer-services .tsnz-textarea,
.tsnz-form--answer-services .tsnz-checkbox-group,
.tsnz-form--answer-services .tsnz-button-group,
.tsnz-form--answer-services .tsnz-form__actions {
  margin: 0;
}
.tsnz-form--answer-services input,
.tsnz-form--answer-services select,
.tsnz-form--answer-services textarea {
  margin-bottom: 0;
}
.tsnz-form--answer-services input::-webkit-input-placeholder, .tsnz-form--answer-services textarea::-webkit-input-placeholder {
  color: #a4a4a4;
  opacity: 0.6;
}
.tsnz-form--answer-services input::-moz-placeholder, .tsnz-form--answer-services textarea::-moz-placeholder {
  color: #a4a4a4;
  opacity: 0.6;
}
.tsnz-form--answer-services input:-ms-input-placeholder, .tsnz-form--answer-services textarea:-ms-input-placeholder {
  color: #a4a4a4;
  opacity: 0.6;
}
.tsnz-form--answer-services input::-ms-input-placeholder, .tsnz-form--answer-services textarea::-ms-input-placeholder {
  color: #a4a4a4;
  opacity: 0.6;
}
.tsnz-form--answer-services input::placeholder,
.tsnz-form--answer-services textarea::placeholder {
  color: #a4a4a4;
  opacity: 0.6;
}
.tsnz-form--answer-services .tsnz-form__row {
  row-gap: 1.5rem;
}
.tsnz-form--answer-services .tsnz-form__actions {
  margin-top: 1.5rem;
}
.tsnz-form--entry .tsnz-form__pre-submit {
  -webkit-transition: all 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  transition: all 0.5s cubic-bezier(0.11, 0.92, 0.05, 0.99);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.tsnz-form--covered .tsnz-form__pre-submit {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.tsnz-form--covered .tsnz-form__cover-image {
  position: static;
  z-index: 1;
  opacity: 1;
  visibility: visible;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.ver-inner-page--answer-services-form .tsnz-block__container {
  padding-top: 50px;
  padding-bottom: 50px;
}
.ver-inner-page--answer-services-form .tsnz-block__content {
  max-width: 68.75rem;
}
@media screen and (min-width: 50.625em) {
  .ver-inner-page--answer-services-form .tsnz-block__content {
    min-width: 0;
  }
}
.ver-inner-page--answer-services-form .tsnz-prefooter,
.ver-inner-page--answer-services-form .tsnz-footer,
.ver-inner-page--answer-services-form .tsnz-breadcrumbs {
  display: none;
}
.ver-inner-page--answer-services-form .ver-form__content-legend-container {
  padding-bottom: 0;
}
.ver-inner-page--answer-services-form .tsnz-input--answer-services-email .tsnz-input__label {
  max-width: calc((100% - 2rem) / 1.125);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2;
}
.ver-inner-page--answer-services-form .tsnz-input--answer-services-email.tsnz-input--used .tsnz-input__label, .ver-inner-page--answer-services-form .tsnz-input--answer-services-email.tsnz-input--focused .tsnz-input__label {
  max-width: calc(100% - 2rem);
}
.ver-inner-page--answer-services-form .tsnz-input--build-location .tsnz-input__label {
  max-width: calc((100% - 2rem) / 1.125);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2;
}
.ver-inner-page--answer-services-form .tsnz-input--build-location.tsnz-input--used .tsnz-input__label, .ver-inner-page--answer-services-form .tsnz-input--build-location.tsnz-input--focused .tsnz-input__label {
  max-width: calc(100% - 2rem);
}
.ver-inner-page--answer-services-form .ver-form__franchise-display {
  background-color: #f4f2f2;
  padding: 1rem;
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.ver-inner-page--answer-services-form .ver-form__franchise-display .ver-form__franchise-label {
  font-weight: bold;
  font-size: 0.875rem;
  color: #424952;
}
.ver-inner-page--answer-services-form .ver-form__franchise-display .ver-form__franchise-name {
  font-size: 1rem;
  color: #034ea2;
}

.tsnz-contact-form__header {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-contact-form__header {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-contact-form__header {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-contact-form__heading {
  max-width: 60rem;
  margin: 0 auto;
}

.tsnz-franchise-opportunity-form__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchise-opportunity-form__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-opportunity-form__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-franchise-opportunity-form__heading,
.tsnz-franchise-opportunity-form .tsnz-hubspot-form {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.tsnz-franchise-opportunity-form__heading {
  margin-bottom: 1.5rem;
}

.tsnz-prefooter {
  background-color: #ffffff;
  font-size: 1rem;
  color: #034ea2;
  padding-block: 3rem;
}
.tsnz-prefooter[href],
.tsnz-prefooter a {
  color: currentColor;
}
.tsnz-prefooter[href]:hover,
.tsnz-prefooter a:hover {
  color: currentColor;
  text-decoration: none;
}
@media screen and (min-width: 64em) {
  .tsnz-prefooter {
    padding-block: 5rem;
  }
}
.tsnz-prefooter__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 70rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-prefooter__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}
.tsnz-prefooter__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  color: #034ea2;
}
.tsnz-prefooter__item:hover .tsnz-prefooter__label {
  color: rgb(1.8, 46.8, 97.2);
}
.tsnz-prefooter__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4rem;
  height: 6rem;
  color: #ffcb05;
}
.tsnz-prefooter__icon .tsnz-symbol {
  width: 3.4375rem;
  height: 3.4375rem;
}
.tsnz-prefooter__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2rem;
}
.tsnz-prefooter__tagline {
  color: inherit;
}
.tsnz-prefooter__label {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.25;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
@media screen and (min-width: 64em) {
  .tsnz-prefooter__label {
    font-size: 1.5rem;
  }
}

.tsnz-newsletter {
  background-color: #e2e8ef;
  font-size: 1rem;
  color: #034ea2;
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.tsnz-newsletter[href],
.tsnz-newsletter a {
  color: currentColor;
}
.tsnz-newsletter[href]:hover,
.tsnz-newsletter a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-newsletter__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-newsletter__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-newsletter__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter__container {
    padding-left: 10rem;
    padding-right: 10rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.tsnz-newsletter__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter__content {
    gap: 1.5rem;
    padding-right: calc(9.375rem + 2rem);
  }
}
.tsnz-newsletter__heading {
  margin: 0;
  color: #034ea2;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter__heading {
    font-size: 1.5rem;
    line-height: 1.25;
    letter-spacing: -0.02em;
  }
}
.tsnz-newsletter__form {
  width: 100%;
}
.tsnz-newsletter__sam {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  max-width: 90rem;
  margin: 0 auto;
  pointer-events: none;
}
@media screen and (max-width: 63.99875em) {
  .tsnz-newsletter__sam {
    display: none;
  }
}
.tsnz-newsletter__sam-image {
  position: absolute;
  bottom: 0;
  width: 9.375rem;
  height: 15.625rem;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain;
  right: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-newsletter__sam-image {
    right: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter__sam-image {
    right: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-newsletter__sam-image {
    right: 10rem;
  }
}

.tsnz-sitemap {
  text-align: left;
}
.tsnz-sitemap__wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-sitemap__wrapper {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 23.75em) {
  .tsnz-sitemap__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-sitemap__list, .tsnz-sitemap__child-list, .tsnz-sitemap__grandchild-list {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
[data-whatinput=mouse] .tsnz-sitemap__list li, [data-whatinput=mouse] .tsnz-sitemap__child-list li, [data-whatinput=mouse] .tsnz-sitemap__grandchild-list li {
  outline: 0;
}
.tsnz-sitemap__list a,
.tsnz-sitemap__list .button, .tsnz-sitemap__child-list a,
.tsnz-sitemap__child-list .button, .tsnz-sitemap__grandchild-list a,
.tsnz-sitemap__grandchild-list .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 1rem 1rem;
}
.tsnz-sitemap__list input,
.tsnz-sitemap__list select,
.tsnz-sitemap__list a,
.tsnz-sitemap__list button, .tsnz-sitemap__child-list input,
.tsnz-sitemap__child-list select,
.tsnz-sitemap__child-list a,
.tsnz-sitemap__child-list button, .tsnz-sitemap__grandchild-list input,
.tsnz-sitemap__grandchild-list select,
.tsnz-sitemap__grandchild-list a,
.tsnz-sitemap__grandchild-list button {
  margin-bottom: 0;
}
.tsnz-sitemap__list input, .tsnz-sitemap__child-list input, .tsnz-sitemap__grandchild-list input {
  display: inline-block;
}
.tsnz-sitemap__child-list, .tsnz-sitemap__grandchild-list {
  margin-left: 1em;
}
.tsnz-sitemap__link.tsnz-sitemap__link {
  padding: 0 0 0.5em;
}
.tsnz-sitemap__child-link.tsnz-sitemap__child-link {
  padding: 0 0 0.5em;
}
.tsnz-sitemap__grandchild-link.tsnz-sitemap__grandchild-link {
  padding: 0 0 0.5em;
}

.tsnz-search-results {
  text-align: left;
}
.tsnz-search-results__wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-search-results__wrapper {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 23.75em) {
  .tsnz-search-results__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

/* Vendor */
.tsnz-slider {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tsnz-slider * {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}
.tsnz-slider__track {
  overflow: hidden;
}
.tsnz-slider__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -ms-touch-action: pan-Y;
      touch-action: pan-Y;
  overflow: hidden;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  will-change: transform;
}
.tsnz-slider__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-slider__slide {
  width: 100%;
  height: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.tsnz-slider__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.tsnz-slider__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-slider__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-slider--rtl {
  direction: rtl;
}

.tsnz-slider {
  background-color: transparent;
  font-size: 1rem;
  color: #ffffff;
  position: relative;
  max-width: 100rem;
  margin: auto;
}
.tsnz-slider__cta-wrapper {
  display: block;
  margin-right: 0;
  margin-left: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

.tsnz-slider__cta-top {
  padding: 0.75rem;
  background-color: #02346d;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__cta-top {
    padding: 1.25rem;
  }
}

.tsnz-slider__cta-content {
  display: block;
  padding: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__cta-content {
    padding: 1.25rem;
  }
}

.tsnz-slider__cta-heading {
  color: #ffcb05;
}
.tsnz-slider__cta-heading:last-child {
  margin-bottom: 0;
}

.tsnz-slider__cta-description {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 23.75em) {
  .tsnz-slider {
    padding-bottom: 1rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slider {
    padding-bottom: 4rem;
  }
}
.tsnz-slider__wrapper {
  position: relative;
  overflow: visible;
}
.tsnz-slider__slides {
  margin: 0;
  list-style-type: none;
}
.tsnz-slider__slide {
  position: relative;
  height: 48.4375vw;
  max-height: 35rem;
  margin: auto;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-slider__slide {
    height: calc(100vw * 0.35);
  }
}
.tsnz-slider__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
.lazyloaded > .tsnz-slider__image {
  opacity: 0;
}
.tsnz-slider__contents-outer {
  width: 100%;
  margin: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__contents-outer {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: auto;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 77em) {
  .tsnz-slider__contents-outer {
    right: calc(50vw - 45rem);
    max-width: 90rem;
  }
}
@media screen and (min-width: 100em) {
  .tsnz-slider__contents-outer {
    right: 5rem;
  }
}
.tsnz-slider__contents {
  position: relative;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__contents {
    width: calc((100% - 4rem) * 0.6666666667 + 1.5rem);
    margin-right: 0;
    margin-left: auto;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 90em) {
  .tsnz-slider__contents {
    width: calc((100% - 2rem) * 0.6666666667);
  }
}
.tsnz-slider__cta ~ .tsnz-slider__cta {
  display: none;
}
.tsnz-slider__cta-wrapper {
  padding: 0.3125rem;
  border: 0;
  background-image: url("../img/corrugate.svg"), -webkit-gradient(linear, left top, left bottom, from(#034ea2), to(#02346d));
  background-image: url("../img/corrugate.svg"), linear-gradient(to bottom, #034ea2, #02346d);
  overflow: visible;
  color: #ffffff;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slider__cta-wrapper {
    text-align: center;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slider__cta-heading {
    font-size: 2rem;
    line-height: 1;
  }
}
.tsnz-slider__cta-description {
  max-width: 48.125rem;
  margin-right: auto;
  margin-left: auto;
  font-size: 1.125em;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__cta-content {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
.tsnz-slider__buttons {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tsnz-slider__buttons::before, .tsnz-slider__buttons::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-slider__buttons::after {
  clear: both;
}
.tsnz-slider__buttons .tsnz-button {
  margin: 0;
  margin-right: 0.3125rem;
  margin-bottom: 0.3125rem;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-slider__buttons .tsnz-button:last-child {
  margin-right: 0;
}
.tsnz-slider__buttons .tsnz-button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.tsnz-slider__buttons .tsnz-button:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slider__buttons {
    margin-bottom: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    max-width: 38.4375rem;
    margin-right: auto;
    margin-left: auto;
  }
  .tsnz-slider__buttons::before, .tsnz-slider__buttons::after {
    display: table;
    content: " ";
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .tsnz-slider__buttons::after {
    clear: both;
  }
  .tsnz-slider__buttons .tsnz-button {
    margin: 0;
    margin-right: 2rem;
    margin-bottom: 2rem;
    font-size: 1em;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .tsnz-slider__buttons .tsnz-button:last-child {
    margin-right: 0;
  }
  .tsnz-slider__buttons .tsnz-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
  .tsnz-slider__buttons .tsnz-button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.tsnz-slider__arrows {
  display: none;
}
.tsnz-slider__arrow {
  position: absolute;
  bottom: 0;
  z-index: 10;
  display: none;
  width: 2.8125rem;
  height: 2.8125rem;
  opacity: 0.9;
  border-radius: 4rem;
  background-color: #ffcb05;
  -webkit-transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  font-size: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__arrow {
    position: absolute;
    bottom: calc(50% - 22px);
    display: block;
  }
}
.tsnz-slider__arrow:hover {
  opacity: 1;
}
.tsnz-slider__arrow:active {
  background-color: rgb(209, 165.528, 0);
}
.tsnz-slider__arrow:disabled {
  opacity: 0;
}
.tsnz-slider__arrow:after {
  display: block;
  width: 0.5625rem;
  height: 1rem;
  margin: 0 auto;
  content: "";
}
.tsnz-slider__arrow--left {
  left: -1.375rem;
}
.tsnz-slider__arrow--left:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M.32 7.2L7.12.34a1.1 1.1 0 0 1 1.56 0c.43.44.43 1.15 0 1.58L2.67 8l6 6.09c.44.43.44 1.14 0 1.58a1.1 1.1 0 0 1-1.56 0L.32 8.8a1.12 1.12 0 0 1 0-1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-slider__arrow--right {
  right: -1.375rem;
}
.tsnz-slider__arrow--right:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M8.68 8.8l-6.8 6.87a1.1 1.1 0 0 1-1.56 0 1.13 1.13 0 0 1 0-1.58L6.33 8l-6-6.09a1.13 1.13 0 0 1 0-1.58 1.1 1.1 0 0 1 1.56 0L8.68 7.2a1.12 1.12 0 0 1 0 1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-slider__bullets {
  position: absolute;
  bottom: 2em;
  left: 50%;
  z-index: 2;
  display: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  list-style: none;
}
.tsnz-slider__bullet {
  width: 0.75em;
  height: 0.75em;
  margin: 0 0.25em;
  padding: 0;
  border: 0.125rem solid transparent;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: 0 0.25em 0.5em 0 rgba(21, 41, 49, 0.1);
          box-shadow: 0 0.25em 0.5em 0 rgba(21, 41, 49, 0.1);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  line-height: 0;
  cursor: pointer;
}
.tsnz-slider__bullet:hover, .tsnz-slider__bullet:focus {
  border: 2px solid #034ea2;
  background-color: rgba(3, 78, 162, 0.5);
}
.tsnz-slider__bullet--active {
  background-color: #034ea2;
}
.tsnz-slider__sam {
  position: absolute;
  right: 1rem;
  bottom: 100%;
  z-index: 5;
  width: calc(2.6420454545rem + 13.9772727273vw);
  max-width: 13.125rem;
  height: calc(4.5795454545rem + 23.9772727273vw);
  max-height: 22.5625rem;
  background-size: contain;
}
@media screen and (min-width: 64em) {
  .tsnz-slider__sam {
    right: auto;
    bottom: 0;
    left: -45%;
  }
}
@media screen and (min-width: 90em) {
  .tsnz-slider__sam {
    right: 120%;
    bottom: 0;
    left: auto;
  }
}
.tsnz-slider__badge {
  position: relative;
  z-index: 10;
  float: right;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  margin-bottom: 1rem;
  margin-left: 1rem;
  font-size: calc(5.7402597403rem + 2.012987013vw);
}
@media screen and (min-width: 64em) {
  .tsnz-slider__badge {
    position: absolute;
    right: 1.5rem;
    margin-top: -0.9em;
  }
}
.tsnz-slider__heading, .tsnz-slider__live-region, .tsnz-slider__bullet-text, .tsnz-slider__current-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.tsnz-slider--swipeable {
  cursor: -webkit-grab;
  cursor: grab;
}
.tsnz-slider--dragging {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
@media screen and (min-width: 64em) {
  .tsnz-slider--with-badge .tsnz-slider__slide-heading {
    margin-right: 0;
  }
}
.tsnz-slider--slider .tsnz-slider__bullets {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
@media screen and (min-width: 64em) {
  .tsnz-slider--slider .tsnz-slider__bullets {
    display: none;
  }
}
.tsnz-slider--slider .tsnz-slider__arrows {
  display: initial;
}
.tsnz-slider--slider .tsnz-slider__cta {
  display: block;
}
.tsnz-slider--slider .tsnz-slider__cta[aria-hidden=true] {
  display: none;
}
.tsnz-slider--slider .tsnz-slider__cta-wrapper {
  padding-bottom: 3em;
}
@media screen and (min-width: 64em) {
  .tsnz-slider--slider .tsnz-slider__cta-wrapper {
    padding-bottom: 0.3125rem;
  }
}

/* Vendor */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
      touch-action: pan-x;
}

.tsnz-carousel__container {
  width: 100%;
}
.tsnz-carousel__arrow {
  cursor: pointer;
  position: absolute;
  bottom: 50%;
  z-index: 2;
  display: block;
  width: 2.8125rem;
  height: 2.8125rem;
  opacity: 0.9;
  border-radius: 4rem;
  background-color: #ffcb05;
  -webkit-transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  font-size: 0;
}
.tsnz-carousel__arrow:hover {
  opacity: 1;
}
.tsnz-carousel__arrow:active {
  background-color: rgb(209, 165.528, 0);
}
.tsnz-carousel__arrow:after {
  position: relative;
  top: 1rem;
  display: block;
  width: 0.5625rem;
  height: 1rem;
  margin: 0 auto;
  background-size: contain;
  content: "";
}
.tsnz-carousel__arrow--disabled {
  opacity: 0;
}
.tsnz-carousel__arrow--disabled:hover {
  opacity: 0;
}
.tsnz-carousel__arrow-left {
  left: 0.375rem;
}
@media screen and (min-width: 64em) {
  .tsnz-carousel__arrow-left {
    left: 1.375rem;
  }
}
.tsnz-carousel__arrow-left:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M.32 7.2L7.12.34a1.1 1.1 0 0 1 1.56 0c.43.44.43 1.15 0 1.58L2.67 8l6 6.09c.44.43.44 1.14 0 1.58a1.1 1.1 0 0 1-1.56 0L.32 8.8a1.12 1.12 0 0 1 0-1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-carousel__arrow-right {
  right: 0.375rem;
}
@media screen and (min-width: 64em) {
  .tsnz-carousel__arrow-right {
    right: 1.375rem;
  }
}
.tsnz-carousel__arrow-right:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M8.68 8.8l-6.8 6.87a1.1 1.1 0 0 1-1.56 0 1.13 1.13 0 0 1 0-1.58L6.33 8l-6-6.09a1.13 1.13 0 0 1 0-1.58 1.1 1.1 0 0 1 1.56 0L8.68 7.2a1.12 1.12 0 0 1 0 1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-carousel__thumbnail-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 25%;
  padding: 10px 0;
}
.tsnz-carousel__thumbnail-container .swiper-slide {
  height: 100%;
  opacity: 0.4;
}
.tsnz-carousel__thumbnail-container .swiper-slide-thumb-active {
  opacity: 1;
}
.tsnz-carousel--card-style {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
  overflow: hidden;
  color: #424952;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  padding: 1.5rem;
  color: currentColor;
}
.tsnz-carousel--card-style > :last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 23.75em) {
  .tsnz-carousel--card-style {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-carousel--card-style {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.tsnz-carousel--card-style--franchise {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 0.3125rem);
  margin-right: 0.15625rem;
  margin-left: 0.15625rem;
  -webkit-box-shadow: initial;
          box-shadow: initial;
  padding: 0px;
  color: currentColor;
}
@media screen and (min-width: 64em) {
  .tsnz-carousel--card-style--franchise {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 0);
    margin-right: 0;
    margin-left: 0;
  }
}

.tsnz-video {
  position: relative;
}
.tsnz-video__content {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-video__content {
    padding: 1.5rem;
  }
}

.tsnz-video__wrapper {
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

.tsnz-video__wrapper {
  background-color: transparent;
  font-size: 1rem;
  color: #152931;
}
.tsnz-video__wrapper[href],
.tsnz-video__wrapper a {
  color: currentColor;
}
.tsnz-video__wrapper[href]:hover,
.tsnz-video__wrapper a:hover {
  color: currentColor;
  text-decoration: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-video__heading {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 3.375rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1.125rem;
    line-height: 1.5;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 2;
    margin-bottom: 1rem;
  }
}
.tsnz-video__caption {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 7rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 5;
  margin-bottom: 1.875rem;
  color: currentColor;
}
.tsnz-video__image {
  position: relative;
  display: block;
}
.tsnz-video__image::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  background-color: rgba(21, 41, 49, 0.3);
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  pointer-events: none;
}
.tsnz-video__image[href]:hover::before {
  opacity: 0.8;
}
.tsnz-video__image[href]:active::before {
  opacity: 1;
  -webkit-transition: opacity 0.1s ease-out;
  transition: opacity 0.1s ease-out;
}
.tsnz-video__play-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 1em;
  height: 1em;
  margin: auto;
  font-size: 5rem;
}
.tsnz-video--featured .tsnz-video__wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-video--featured .tsnz-video__wrapper {
    padding: 1.5rem;
  }
}

.tsnz-video--featured .tsnz-video__wrapper {
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

@media screen and (max-width: 23.75em) {
  .tsnz-video--featured .tsnz-video__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-video--featured .tsnz-video__content {
  padding: 0;
}
.tsnz-video--featured .tsnz-video__heading {
  display: block;
  height: auto;
  margin-top: 0.5rem;
}
.tsnz-video--featured .tsnz-video__caption {
  display: block;
  height: auto;
}
.tsnz-video--featured .tsnz-video__image {
  margin-bottom: 1.5rem;
}

/* Vendor */
.tsnz-awards {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tsnz-awards * {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}
.tsnz-awards__track {
  overflow: hidden;
}
.tsnz-awards__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -ms-touch-action: pan-Y;
      touch-action: pan-Y;
  overflow: hidden;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  will-change: transform;
}
.tsnz-awards__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-awards__slide {
  width: 100%;
  height: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.tsnz-awards__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.tsnz-awards__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-awards__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-awards--rtl {
  direction: rtl;
}

.tsnz-awards {
  width: 80%;
  margin: auto;
  position: relative;
  padding: 30px 0px;
}
.tsnz-awards img {
  width: 100%;
  max-width: 132px;
  margin: 0 auto;
}
.tsnz-awards__wrapper {
  width: 100%;
  max-width: calc(100vw - 2 * 1rem);
  overflow: hidden;
}
.tsnz-awards__container {
  max-width: 100vw;
}
.tsnz-awards__slides {
  margin: 0;
  list-style-type: none;
}
@media screen and (min-width: 64em) {
  .tsnz-awards__slide {
    width: 8.75rem;
  }
}
.tsnz-awards--disabled .tsnz-awards__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tsnz-awards__award {
  display: block;
  text-align: center;
}
.tsnz-awards__arrow {
  position: absolute;
  cursor: pointer;
  bottom: 0;
  z-index: 10;
  display: block;
  width: 2.8125rem;
  height: 2.8125rem;
  opacity: 1;
  border-radius: 4rem;
  background-color: #ffcb05;
  -webkit-transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  font-size: 0;
  opacity: 0.9;
  scale: 0.8;
  position: absolute;
  bottom: calc(50% - 22px);
  display: block;
}
.tsnz-awards__arrow:after {
  display: block;
  width: 0.5625rem;
  height: 2.8125rem;
  margin: 0 auto;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
}
.tsnz-awards__arrow--left {
  left: -13%;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-awards__arrow--left {
    left: -12%;
    scale: 1;
  }
}
.tsnz-awards__arrow--left:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M.32 7.2L7.12.34a1.1 1.1 0 0 1 1.56 0c.43.44.43 1.15 0 1.58L2.67 8l6 6.09c.44.43.44 1.14 0 1.58a1.1 1.1 0 0 1-1.56 0L.32 8.8a1.12 1.12 0 0 1 0-1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-awards__arrow--right {
  right: -13%;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-awards__arrow--right {
    scale: 1;
    right: -12%;
  }
}
.tsnz-awards__arrow--right:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M8.68 8.8l-6.8 6.87a1.1 1.1 0 0 1-1.56 0 1.13 1.13 0 0 1 0-1.58L6.33 8l-6-6.09a1.13 1.13 0 0 1 0-1.58 1.1 1.1 0 0 1 1.56 0L8.68 7.2a1.12 1.12 0 0 1 0 1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-awards .glide__arrow--disabled {
  opacity: 0.3;
}
.tsnz-awards--slider .tsnz-awards__arrow {
  opacity: 0.9;
  scale: 0.8;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-awards--slider .tsnz-awards__arrow {
    scale: 1;
  }
}
.tsnz-awards--slider .tsnz-awards__arrow:hover {
  opacity: 1;
}
.tsnz-awards--slider .tsnz-awards__arrow:active {
  background-color: rgb(209, 165.528, 0);
}
.tsnz-awards--slider .tsnz-awards__arrow:disabled {
  opacity: 0.3;
}
.tsnz-awards--slider .tsnz-awards__arrow:after {
  display: block;
  width: 0.5625rem;
  height: 2.8125rem;
  margin: 0 auto;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
}
.tsnz-awards--disabled .tsnz-awards__arrow {
  display: none;
}

.tsnz-awards:not(.tsnz-awards--ltr) .tsnz-awards__slides {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.tsnz-awards-marquee {
  width: 100%;
  max-width: 120rem;
  margin-right: auto;
  margin-left: auto;
}
.tsnz-awards-marquee__viewport {
  overflow: hidden;
}
.tsnz-awards-marquee__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
  -webkit-animation: tsnz-awards-marquee-scroll linear infinite;
          animation: tsnz-awards-marquee-scroll linear infinite;
}
.tsnz-awards-marquee:hover .tsnz-awards-marquee__track {
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
.tsnz-awards-marquee__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 140px;
  margin-right: 40px;
}
.tsnz-awards-marquee__item img {
  display: block;
  width: 100%;
  max-width: 132px;
  height: auto;
  margin: 0 auto;
}
.tsnz-awards-marquee--static .tsnz-awards-marquee__track {
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-animation: none;
          animation: none;
  -webkit-transform: none;
          transform: none;
}
.tsnz-awards-marquee--static .tsnz-awards-marquee__item:last-child {
  margin-right: 0;
}
@media (prefers-reduced-motion: reduce) {
  .tsnz-awards-marquee .tsnz-awards-marquee__track {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes tsnz-awards-marquee-scroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes tsnz-awards-marquee-scroll {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.tsnz-customise__wrapper {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 64em) {
  .tsnz-customise__wrapper {
    padding: 1.5rem;
  }
}

@media screen and (max-width: 23.75em) {
  .tsnz-customise__wrapper {
    display: block;
    margin-right: -1rem;
    margin-left: -1rem;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.tsnz-customise__body li {
  margin-bottom: 0.5rem;
}
.tsnz-customise__options-list {
  padding-top: 1.5rem;
}
.tsnz-customise__carousel {
  max-width: calc(100vw - 2rem);
  overflow: hidden;
}
@media screen and (min-width: 23.75em) {
  .tsnz-customise__carousel {
    max-width: calc(100vw - 4rem);
  }
}

@media print {
  .tsnz-slide, .tsnz-header__actions, .tsnz-footer, .tsnz-nav, .tsnz-masthead__image-outer, .tsnz-breadcrumbs, .tsnz-prefooter, .tsnz-newsletter, .tsnz-slider {
    display: none !important;
  }
}

/* Vendor */
.tsnz-ticker {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tsnz-ticker * {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}
.tsnz-ticker__track {
  overflow: hidden;
}
.tsnz-ticker__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -ms-touch-action: pan-Y;
      touch-action: pan-Y;
  overflow: hidden;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  will-change: transform;
}
.tsnz-ticker__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-ticker__slide {
  width: 100%;
  height: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.tsnz-ticker__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.tsnz-ticker__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-ticker__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-ticker--rtl {
  direction: rtl;
}

.tsnz-ticker {
  background-color: transparent;
  font-size: 1rem;
  color: #152931;
  position: relative;
  background-color: #e4e4e4;
  text-align: center;
}
.tsnz-ticker[href],
.tsnz-ticker a {
  color: currentColor;
}
.tsnz-ticker[href]:hover,
.tsnz-ticker a:hover {
  color: currentColor;
  text-decoration: none;
}
@media screen and (min-width: 75em) {
  .tsnz-ticker {
    font-size: 1.125em;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-ticker__slides {
    display: block;
    width: auto;
    margin: auto;
    text-align: center;
  }
}
.tsnz-ticker__slide {
  display: block;
  padding: 1rem 1rem;
  font-weight: bold;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-ticker__slide {
    position: relative;
    display: inline-block;
    width: auto;
  }
}
.tsnz-ticker__slide + .tsnz-ticker__slide {
  display: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-ticker__slide + .tsnz-ticker__slide {
    display: inline-block;
  }
}
.tsnz-ticker--carousel .tsnz-ticker__slide + .tsnz-ticker__slide {
  display: block;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-ticker__slide + .tsnz-ticker__slide:after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    top: 1.3em;
    right: auto;
    left: -1px;
    width: 1px;
    height: 1em;
    background-color: currentColor;
  }
}
.tsnz-ticker__close {
  position: absolute;
  top: 0.5rem;
  right: 0.6rem;
  bottom: auto;
  display: inline-block;
  padding: 0.425rem 0.75rem;
  font-size: 1.5em;
  color: currentColor;
  cursor: pointer;
}
.tsnz-ticker__close button {
  font-weight: bold;
  cursor: pointer;
}
.tsnz-ticker--primary {
  background-color: #034ea2;
  font-size: 1.125em;
  color: #ffffff;
}
.tsnz-ticker--primary[href],
.tsnz-ticker--primary a {
  color: currentColor;
}
.tsnz-ticker--primary[href]:hover,
.tsnz-ticker--primary a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-ticker--secondary {
  background-color: #ffcb05;
  font-size: 1.125em;
  color: #034ea2;
}
.tsnz-ticker--secondary[href],
.tsnz-ticker--secondary a {
  color: currentColor;
}
.tsnz-ticker--secondary[href]:hover,
.tsnz-ticker--secondary a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-ticker--tertiary {
  background-color: rgb(210, 29.625, 37.625);
  font-size: 1.125em;
  color: #ffffff;
}
.tsnz-ticker--tertiary[href],
.tsnz-ticker--tertiary a {
  color: currentColor;
}
.tsnz-ticker--tertiary[href]:hover,
.tsnz-ticker--tertiary a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-ticker--closed {
  display: none;
}

.tsnz-slide {
  background-color: transparent;
  font-size: 1rem;
  color: #ffffff;
  position: relative;
  margin: auto;
  overflow: hidden;
}
.tsnz-slide__cta-wrapper {
  display: block;
  margin-right: 0;
  margin-left: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

.tsnz-slide__cta-top {
  padding: 0.75rem;
  background-color: #02346d;
}
@media screen and (min-width: 64em) {
  .tsnz-slide__cta-top {
    padding: 1.25rem;
  }
}

.tsnz-slide__cta-content {
  display: block;
  padding: 0.75rem;
}
@media screen and (min-width: 64em) {
  .tsnz-slide__cta-content {
    padding: 1.25rem;
  }
}

.tsnz-slide__cta-heading {
  color: #ffcb05;
}
.tsnz-slide__cta-heading:last-child {
  margin-bottom: 0;
}

.tsnz-slide__cta-description {
  margin-bottom: 1.5rem;
}

.tsnz-slide__picture {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: calc(100vw * 0.9047619048);
  max-height: 35rem;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
}
@media screen and (min-width: 26.3125em) {
  .tsnz-slide__picture {
    height: calc(100vw * 0.484375);
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide__picture {
    height: calc(100vw * 0.35);
  }
}
.lazyloaded > .tsnz-slide__picture {
  opacity: 0;
}
.tsnz-slide__content {
  position: relative;
  z-index: 3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 90rem;
  margin-top: calc(100vw * 0.9047619048 - 2.5rem);
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
@media screen and (min-width: 26.3125em) {
  .tsnz-slide__content {
    margin-top: calc(100vw * 0.484375 - 2.5rem);
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide__content {
    margin-top: calc(100vw * 0.35 - 2.5rem);
    margin-right: auto;
    margin-left: auto;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media screen and (min-width: 100em) {
  .tsnz-slide__content {
    margin-top: calc(35rem - 2.5rem);
  }
}
.tsnz-slide__cta-wrapper {
  position: relative;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  padding: 0.3125rem;
  border: 0;
  background-image: url("../img/corrugate.svg"), -webkit-gradient(linear, left top, left bottom, from(#034ea2), to(#02346d));
  background-image: url("../img/corrugate.svg"), linear-gradient(to bottom, #034ea2, #02346d);
  -webkit-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
  overflow: visible;
  color: #ffffff;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slide__cta-wrapper {
    text-align: center;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide__cta-wrapper {
    margin-right: 1rem;
    margin-left: 1rem;
  }
}
.swiper-container-initialized .tsnz-slide__cta-wrapper {
  opacity: 0;
}
.swiper-slide-active .tsnz-slide__cta-wrapper {
  opacity: 1;
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.tsnz-slide__cta-content {
  max-width: 45rem;
  margin: 0 auto;
}
.tsnz-slide__button {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tsnz-slide__button::before, .tsnz-slide__button::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-slide__button::after {
  clear: both;
}
.tsnz-slide__button .tsnz-button {
  margin: 0;
  margin-right: 0.3125rem;
  margin-bottom: 0.3125rem;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-slide__button .tsnz-button:last-child {
  margin-right: 0;
}
.tsnz-slide__button .tsnz-button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.tsnz-slide__button .tsnz-button:last-child {
  margin-bottom: 0;
}
.tsnz-slide__buttons {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tsnz-slide__buttons::before, .tsnz-slide__buttons::after {
  display: table;
  content: " ";
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.tsnz-slide__buttons::after {
  clear: both;
}
.tsnz-slide__buttons .tsnz-button {
  margin: 0;
  margin-right: 0.3125rem;
  margin-bottom: 0.3125rem;
  font-size: 1em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.tsnz-slide__buttons .tsnz-button:last-child {
  margin-right: 0;
}
.tsnz-slide__buttons .tsnz-button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.tsnz-slide__buttons .tsnz-button:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slide__buttons {
    margin-bottom: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    max-width: 38.4375rem;
    margin-right: auto;
    margin-left: auto;
  }
  .tsnz-slide__buttons::before, .tsnz-slide__buttons::after {
    display: table;
    content: " ";
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .tsnz-slide__buttons::after {
    clear: both;
  }
  .tsnz-slide__buttons .tsnz-button {
    margin: 0;
    margin-right: 2rem;
    margin-bottom: 2rem;
    font-size: 1em;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .tsnz-slide__buttons .tsnz-button:last-child {
    margin-right: 0;
  }
  .tsnz-slide__buttons .tsnz-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
  .tsnz-slide__buttons .tsnz-button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.tsnz-slide__sam {
  position: absolute;
  right: 1rem;
  bottom: 100%;
  z-index: 5;
  width: 2.1em;
  height: 3.6em;
  background-size: contain;
  font-size: calc(1.6233766234rem + 6.1688311688vw);
}
@media screen and (min-width: 64em) {
  .tsnz-slide__sam {
    bottom: 0;
    left: 1rem;
  }
}
@media screen and (min-width: 75em) {
  .tsnz-slide__sam {
    font-size: 6.25rem;
  }
}
.tsnz-slide__badge {
  position: relative;
  z-index: 10;
  float: right;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  margin-bottom: 1rem;
  margin-left: 1rem;
  font-size: calc(5.7402597403rem + 2.012987013vw);
}
@media screen and (min-width: 64em) {
  .tsnz-slide__badge {
    position: absolute;
    right: 1.5rem;
    margin-top: -3rem;
  }
}
.tsnz-slide--no-content .tsnz-slide__background {
  height: calc(100vw * 0.9047619048);
  max-height: 35rem;
}
@media screen and (min-width: 26.3125em) {
  .tsnz-slide--no-content .tsnz-slide__background {
    height: calc(100vw * 0.484375);
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide--no-content .tsnz-slide__background {
    height: calc(100vw * 0.35);
  }
}

.tsnz-franchiseSlide .tsnz-slide__cta-content {
  max-width: 53rem;
}
.tsnz-franchiseSlide .tsnz-slide__buttons .tsnz-button {
  margin-right: 0;
}
.tsnz-franchiseSlide .tsnz-slide__buttons .tsnz-button:first-child {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchiseSlide .tsnz-slide__buttons .tsnz-button:first-child {
    margin-right: 1.875rem;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2rem;
  }
}
.tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__cta-description {
  text-align: left;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__cta-description {
    width: 50%;
  }
}
.tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__location__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__location__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 2rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__location__meta {
    margin-bottom: 1rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__location__meta dt {
  min-width: 110px;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__location__meta dd {
    padding-left: 15px;
  }
}
.tsnz-franchiseSlide .tsnz-franchiseSlide__cta-content .tsnz-slide__location__meta dd a {
  color: #ffffff;
}
.tsnz-franchiseSlide .tsnz-slide__buttons a {
  margin-bottom: 0.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchiseSlide .tsnz-slide__buttons a {
    margin-bottom: 0;
  }
}

/* --- 2.0 masthead slide (standard, non-franchise) --------------------------------
   The refreshed slide: full-width image, an optional heading over it, and a blue content
   band below (never overlapping) with Sam overflowing the band top. Three content layouts
   — stacked / split / inline — driven by the per-slide ContentLayout field.

   Scoped to .tsnz-slide--refresh so it overrides the legacy .tsnz-slide rules above
   without touching the franchise slide, which still depends on them. The whole legacy
   block above can be deleted once the franchise slider path is retired. */
.tsnz-slide--refresh {
  position: relative;
  margin: auto;
  overflow: visible;
}
.tsnz-slide--refresh .tsnz-slide__media {
  position: relative;
}
.tsnz-slide--refresh .tsnz-slide__picture {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: auto;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 390/300;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slide--refresh .tsnz-slide__picture {
    aspect-ratio: 1600/560;
  }
}
.tsnz-slide--refresh.tsnz-slide--overlay-20 {
  --tsnz-slide-image-overlay: 0.4;
}
.tsnz-slide--refresh.tsnz-slide--overlay-50 {
  --tsnz-slide-image-overlay: 0.6;
}
.tsnz-slide--refresh.tsnz-slide--overlay-20 .tsnz-slide__picture::after, .tsnz-slide--refresh.tsnz-slide--overlay-50 .tsnz-slide__picture::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #152931;
  opacity: var(--tsnz-slide-image-overlay);
  pointer-events: none;
}
.tsnz-slide--refresh .tsnz-slide__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
  pointer-events: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slide--refresh .tsnz-slide__overlay {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide--refresh .tsnz-slide__overlay {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
.tsnz-slide--refresh .tsnz-slide__overlay-heading {
  position: relative;
  z-index: 1;
  max-width: 55.125rem;
  margin: 0;
  color: #ffffff;
  text-align: center;
  text-wrap: balance;
}
.tsnz-slide--refresh .tsnz-slide__cta-wrapper {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 6px solid #ffcb05;
  background-color: #034ea2;
  background-image: none;
  color: #ffffff;
  overflow: visible;
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}
.swiper-container-initialized .tsnz-slide--refresh .tsnz-slide__cta-wrapper, .swiper-slide-active .tsnz-slide--refresh .tsnz-slide__cta-wrapper {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
@media screen and (min-width: 64em) {
  .tsnz-slide--refresh .tsnz-slide__cta-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 12.6875rem;
  }
}
.tsnz-slide--refresh .tsnz-slide__cta-container {
  position: relative;
  max-width: 90rem;
  margin: 0 auto;
}
@media screen and (min-width: 64em) {
  .tsnz-slide--refresh .tsnz-slide__cta-container {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.tsnz-slide--refresh .tsnz-slide__cta-inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: left;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-slide--refresh .tsnz-slide__cta-inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide--refresh .tsnz-slide__cta-inner {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-slide--refresh .tsnz-slide__cta-inner {
    padding-left: calc(6rem + 10.625rem + 2rem);
  }
}
.tsnz-slide--refresh .tsnz-slide__cta-heading {
  grid-area: heading;
  margin: 0;
  color: #ffffff;
  text-wrap: balance;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.214;
  letter-spacing: -0.02em;
}
@media screen and (min-width: 64em) {
  .tsnz-slide--refresh .tsnz-slide__cta-heading {
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.167;
    letter-spacing: -0.02em;
  }
}
.tsnz-slide--refresh .tsnz-slide__highlight {
  color: #ffcb05;
}
.tsnz-slide--refresh .tsnz-slide__cta-body {
  grid-area: body;
  color: #ffffff;
}
.tsnz-slide--refresh .tsnz-slide__cta-description {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: -0.01em;
}
.tsnz-slide--refresh .tsnz-slide__buttons {
  grid-area: cta;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 1rem;
  margin: 0;
  max-width: none;
}
.tsnz-slide--refresh .tsnz-slide__buttons::before, .tsnz-slide--refresh .tsnz-slide__buttons::after {
  content: none;
}
.tsnz-slide--refresh .tsnz-slide__badge {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: 7.25rem;
  height: 7.25rem;
  margin: 0;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}

@media screen and (min-width: 64em) {
  .tsnz-slide--split .tsnz-slide__cta-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "heading cta" "body    cta";
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--split .tsnz-slide__cta-heading {
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--inline .tsnz-slide__cta-inner {
    display: grid;
    grid-template-columns: minmax(12.5rem, 18.75rem) minmax(0, 1fr) auto;
    grid-template-areas: "heading body cta";
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--inline .tsnz-slide__cta-body {
    max-width: 27.75rem;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--stacked .tsnz-slide__cta-inner,
  .tsnz-slide--split .tsnz-slide__cta-inner {
    padding-left: calc(6rem + 10.625rem + 3rem);
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--stacked .tsnz-slide__cta-body,
  .tsnz-slide--split .tsnz-slide__cta-body {
    max-width: 80%;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--inline .tsnz-slide__cta-heading {
    -ms-flex-item-align: start;
        align-self: start;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: -0.02em;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-slide--inline .tsnz-slide__buttons {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.tsnz-special__content {
  display: block;
  padding: 1rem;
  background-color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-special__content {
    padding: 1.5rem;
  }
}

.tsnz-special__wrapper {
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.08), 0 3px 6px 0 rgba(0, 0, 0, 0.12);
}

@media screen and (min-width: 23.75em) {
  .tsnz-special h4 {
    display: block;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    height: 1.75rem;
    margin: 0 auto;
    overflow: hidden;
    font-size: 1.25rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    /* autoprefixer: off */
    -webkit-line-clamp: 1;
    margin-bottom: 0;
  }
}
.tsnz-special__wrapper {
  background-color: #ffffff;
  font-size: 1rem;
  color: #152931;
  position: relative;
  display: block;
}
.tsnz-special__wrapper[href],
.tsnz-special__wrapper a {
  color: currentColor;
}
.tsnz-special__wrapper[href]:hover,
.tsnz-special__wrapper a:hover {
  color: currentColor;
  text-decoration: none;
}
.tsnz-special__wrapper::before {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  background-color: rgba(21, 41, 49, 0.05);
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  pointer-events: none;
}
.tsnz-special__wrapper[href]:hover::before {
  opacity: 1;
}
.tsnz-special__heading {
  color: #034ea2;
}
.tsnz-special__description {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  height: 2.8rem;
  margin: 0 auto;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  /* autoprefixer: off */
  -webkit-line-clamp: 2;
  margin-bottom: 1rem;
  color: currentColor;
}
.tsnz-special__link {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.55em 1.25em;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1em;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #ffcb05;
  color: #034ea2;
  background-color: #e4e4e4;
  color: #034ea2;
  position: relative;
  border-width: 0.125rem;
  -webkit-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
  font-weight: bold;
  line-height: 1.25;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}
[data-whatinput=mouse] .tsnz-special__link {
  outline: 0;
}
.tsnz-special__link:hover, .tsnz-special__link:focus {
  background-color: #034ea2;
  color: #034ea2;
}
.tsnz-special__link:hover, .tsnz-special__link:focus {
  background-color: rgb(215.25, 215.25, 215.25);
  color: #034ea2;
}
.tsnz-special__link:focus, .tsnz-special__link:active, .tsnz-special__link:hover {
  text-decoration: none;
  border-color: rgb(215.25, 215.25, 215.25);
}
.tsnz-special__image {
  position: relative;
}
.tsnz-special__image svg {
  position: absolute;
  top: calc(50% - 2em);
  right: calc(50% - 2em);
  display: block;
  width: 4em;
  height: 4em;
  color: currentColor;
}
.tsnz-special__badge {
  position: absolute;
  top: 1rem;
  left: 0;
  z-index: 5;
  display: inline-block;
  padding: 0.75rem 2rem;
  background-color: #034ea2;
  font-style: italic;
  font-weight: bold;
  color: #ffffff;
}
.tsnz-special__savings {
  border-top: solid 1px #ffffff;
  background-color: #d21e26;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
}
.tsnz-special__price {
  font-size: 1.625rem;
  font-weight: 700;
  color: #ed1c24;
  text-transform: uppercase;
}
.tsnz-special__price span {
  font-size: 1.25rem;
}
.tsnz-special__terms {
  font-size: 0.875rem;
  font-style: italic;
}

.tsnz-banner__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-banner__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-banner__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-banner__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.tsnz-banner__banner {
  width: calc(100% - 1rem);
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-banner__banner {
    width: calc(100% - 2rem);
    margin-right: 1rem;
    margin-left: 1rem;
  }
}

.tsnz-banner__banner {
  position: relative;
}
.tsnz-banner__link {
  position: relative;
  display: block;
}

/* Vendor */
.tsnz-testimonials {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tsnz-testimonials * {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}
.tsnz-testimonials__track {
  overflow: hidden;
}
.tsnz-testimonials__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -ms-touch-action: pan-Y;
      touch-action: pan-Y;
  overflow: hidden;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  will-change: transform;
}
.tsnz-testimonials__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-testimonials__slide {
  width: 100%;
  height: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.tsnz-testimonials__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.tsnz-testimonials__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-testimonials__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tsnz-testimonials--rtl {
  direction: rtl;
}

.tsnz-testimonials {
  width: 80%;
  margin: auto;
  position: relative;
  padding: 30px 0px;
}
.tsnz-testimonials img {
  width: 100%;
  max-width: 132px;
  margin: 0 auto;
}
.tsnz-testimonials__wrapper {
  width: 100%;
  max-width: calc(100vw - 2 * 1rem);
  overflow: hidden;
}
.tsnz-testimonials__container {
  max-width: 100vw;
}
.tsnz-testimonials__slides {
  margin: 0;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tsnz-testimonials__testiominal {
  display: block;
  text-align: center;
}
.tsnz-testimonials__arrow {
  position: absolute;
  cursor: pointer;
  bottom: 0;
  z-index: 10;
  display: block;
  width: 2.8125rem;
  height: 2.8125rem;
  opacity: 0;
  border-radius: 4rem;
  background-color: #ffcb05;
  -webkit-transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  font-size: 0;
  position: absolute;
  bottom: calc(50% - 22px);
  display: block;
}
.tsnz-testimonials__arrow:after {
  display: block;
  width: 0.5625rem;
  height: 2.8125rem;
  margin: 0 auto;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
}
.tsnz-testimonials__arrow--left {
  left: -13%;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-testimonials__arrow--left {
    left: -12%;
  }
}
.tsnz-testimonials__arrow--left:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M.32 7.2L7.12.34a1.1 1.1 0 0 1 1.56 0c.43.44.43 1.15 0 1.58L2.67 8l6 6.09c.44.43.44 1.14 0 1.58a1.1 1.1 0 0 1-1.56 0L.32 8.8a1.12 1.12 0 0 1 0-1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-testimonials__arrow--right {
  right: -13%;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-testimonials__arrow--right {
    right: -12%;
  }
}
.tsnz-testimonials__arrow--right:after {
  background-image: url("data:image/svg+xml,%3Csvg width=%229%22 height=%2216%22 viewBox=%220 0 9 16%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath d=%22M8.68 8.8l-6.8 6.87a1.1 1.1 0 0 1-1.56 0 1.13 1.13 0 0 1 0-1.58L6.33 8l-6-6.09a1.13 1.13 0 0 1 0-1.58 1.1 1.1 0 0 1 1.56 0L8.68 7.2a1.12 1.12 0 0 1 0 1.58z%22 fill=%22%23034EA2%22 fill-rule=%22nonzero%22/%3E%3C/svg%3E");
}
.tsnz-testimonials--ltr .tsnz-testimonials__arrow {
  opacity: 0.9;
  scale: 0.8;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-testimonials--ltr .tsnz-testimonials__arrow {
    scale: 1;
  }
}
.tsnz-testimonials--ltr .tsnz-testimonials__arrow:hover {
  opacity: 1;
}
.tsnz-testimonials--ltr .tsnz-testimonials__arrow:active {
  background-color: rgb(209, 165.528, 0);
}
.tsnz-testimonials--ltr .tsnz-testimonials__arrow:disabled {
  opacity: 0.3;
}
.tsnz-testimonials--ltr .tsnz-testimonials__arrow:after {
  display: block;
  width: 0.5625rem;
  height: 2.8125rem;
  margin: 0 auto;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
}
.tsnz-testimonials--disabled .tsnz-testimonials__arrow {
  display: none;
}

.tsnz-testimonials.tsnz-testimonials--ltr .tsnz-testimonials__slide {
  max-height: 200px;
  opacity: 0;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}
.tsnz-testimonials.tsnz-testimonials--ltr .tsnz-testimonials__slide--active {
  opacity: 1;
  max-height: 100%;
}
.tsnz-testimonials.tsnz-testimonials--ltr .tsnz-testimonials__slide.glide__slide--active {
  opacity: 1;
  max-height: 100%;
}

.tsnz-testimonials-grid__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-testimonials-grid__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-testimonials-grid__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
.tsnz-testimonials-grid__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-testimonials-grid__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 64em) {
  .tsnz-testimonials-grid__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.tsnz-testimonials-grid__item {
  background-color: #ffffff;
  border-radius: 8px;
  -webkit-box-shadow: 0 20px 40px rgba(21, 41, 49, 0.06);
          box-shadow: 0 20px 40px rgba(21, 41, 49, 0.06);
  padding: 1.5rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
.tsnz-testimonials-grid__initials {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: #E7F2FF;
  color: #034ea2;
  font-weight: 700;
  font-size: 1rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.tsnz-testimonials-grid__blurb {
  margin: 0;
  padding: 0;
  border: 0;
  color: #002E64;
  font-size: 1.125rem;
  line-height: 1.6;
  font-style: normal;
}
.tsnz-testimonials-grid__blurb p {
  margin: 0;
}
.tsnz-testimonials-grid__person {
  margin: auto 0 0;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #D4A813;
  font-size: 0.875rem;
  line-height: 1.4;
  padding-top: 0.9375rem;
}

.tsnz-video-testimonial {
  color: #424952;
}
.tsnz-video-testimonial__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-video-testimonial__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-video-testimonial__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.tsnz-video-testimonial__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__layout {
    display: grid;
    grid-template-columns: minmax(0, 560fr) minmax(0, 692fr);
    row-gap: 0;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
.tsnz-video-testimonial__slider {
  position: relative;
  overflow: hidden;
  margin-right: 0;
  margin-left: 0;
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__slider {
    grid-row: 1;
    grid-column: 1/-1;
  }
}
.tsnz-video-testimonial__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__slide {
    display: grid;
    grid-template-columns: minmax(0, 560fr) minmax(0, 692fr);
    row-gap: 0;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
.tsnz-video-testimonial__media {
  position: relative;
  aspect-ratio: 16/9;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__media {
    -ms-flex-item-align: start;
        align-self: start;
    aspect-ratio: 4/3;
  }
}
.tsnz-video-testimonial__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.tsnz-video-testimonial__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__body {
    gap: 0;
  }
}
.tsnz-video-testimonial__body-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__body-inner {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    gap: 1.5rem;
    margin-top: 2rem;
  }
}
.tsnz-video-testimonial__heading-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__heading-block {
    gap: 0.25rem;
    padding: 0.625rem 0;
  }
}
@media screen and (max-width: 63.99875em) {
  .tsnz-video-testimonial__heading-block--chrome {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__heading-block--chrome {
    z-index: 2;
    grid-row: 1;
    grid-column: 2;
    align-self: start;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__heading-block--echo {
    visibility: hidden;
  }
}
.tsnz-video-testimonial__heading {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.375;
  letter-spacing: -0.01em;
  margin: 0;
  color: #034ea2;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__heading {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.156;
    letter-spacing: -0.02em;
  }
}
.tsnz-video-testimonial--heading-small .tsnz-video-testimonial__heading {
  font-size: 1.5rem;
}
.tsnz-video-testimonial__rule {
  display: block;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.08);
}
.tsnz-video-testimonial__quote-mark {
  display: none;
  color: #ffcb05;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__quote-mark {
    display: block;
  }
}
.tsnz-video-testimonial__quote-mark .svg-icon {
  display: block;
  width: 3rem;
  max-width: none;
  height: auto;
  max-height: none;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.tsnz-video-testimonial__blurb p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__blurb {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
}
.tsnz-video-testimonial__attribution {
  margin: 0;
  color: #034ea2;
}
.tsnz-video-testimonial__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__controls {
    z-index: 2;
    grid-row: 1;
    grid-column: 2;
    align-self: end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 3rem;
  }
}
.tsnz-video-testimonial__controls-echo {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__controls-echo {
    display: block;
    min-height: 3rem;
  }
}
.tsnz-video-testimonial__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 0;
}
.tsnz-video-testimonial__bullet {
  width: 0.5rem;
  height: 0.5rem;
  border: 0;
  border-radius: 50%;
  background-color: #d1d6db;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.tsnz-video-testimonial__bullet--active {
  background-color: #ffcb05;
}
.tsnz-video-testimonial__arrows {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-video-testimonial__arrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.tsnz-video-testimonial__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background: none;
  color: #ffcb05;
  cursor: pointer;
  -webkit-transition: color 0.2s ease, opacity 0.2s ease;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.tsnz-video-testimonial__arrow:hover, .tsnz-video-testimonial__arrow:focus-visible {
  color: #034ea2;
}
.tsnz-video-testimonial__arrow:focus-visible {
  outline: 2px solid #034ea2;
  outline-offset: 2px;
}
.tsnz-video-testimonial__arrow .svg-icon {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}
.tsnz-video-testimonial__arrow--prev .svg-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.tsnz-video-testimonial__arrow--disabled {
  opacity: 0.3;
  pointer-events: none;
}
.tsnz-video-testimonial__arrow--hidden {
  display: none;
}
.tsnz-video-testimonial--disabled .tsnz-video-testimonial__controls,
.tsnz-video-testimonial--disabled .tsnz-video-testimonial__controls-echo {
  display: none;
}

.tsnz-franchise-testimonials {
  color: #424952;
}
.tsnz-franchise-testimonials__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-franchise-testimonials__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-franchise-testimonials__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.tsnz-franchise-testimonials__heading-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__heading-block {
    gap: 0.25rem;
    padding: 0.625rem 0;
  }
}
.tsnz-franchise-testimonials__heading {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.208;
  letter-spacing: -0.02em;
  margin: 0;
  color: #034ea2;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__heading {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.156;
    letter-spacing: -0.02em;
  }
}
.tsnz-franchise-testimonials__rule {
  display: block;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.08);
}
.tsnz-franchise-testimonials__slider {
  position: relative;
  overflow: hidden;
  margin-right: 0;
  margin-left: 0;
  width: 100%;
  min-width: 0;
}
.tsnz-franchise-testimonials__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__slide {
    gap: 1.5rem;
  }
}
.tsnz-franchise-testimonials__quote-mark {
  display: none;
  color: #ffcb05;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__quote-mark {
    display: block;
  }
}
.tsnz-franchise-testimonials__quote-mark .svg-icon {
  display: block;
  width: 3rem;
  max-width: none;
  height: auto;
  max-height: none;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.tsnz-franchise-testimonials__quote {
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  font-size: 1rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__quote {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
}
.tsnz-franchise-testimonials__attribution {
  margin: 0;
  color: #034ea2;
}
.tsnz-franchise-testimonials__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 3rem;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__controls {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.tsnz-franchise-testimonials__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 0;
}
.tsnz-franchise-testimonials__bullet {
  width: 0.5rem;
  height: 0.5rem;
  border: 0;
  border-radius: 50%;
  background-color: #d1d6db;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.tsnz-franchise-testimonials__bullet--active {
  background-color: #ffcb05;
}
.tsnz-franchise-testimonials__arrows {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-franchise-testimonials__arrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.tsnz-franchise-testimonials__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background: none;
  color: #ffcb05;
  cursor: pointer;
  -webkit-transition: color 0.2s ease, opacity 0.2s ease;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.tsnz-franchise-testimonials__arrow:hover, .tsnz-franchise-testimonials__arrow:focus-visible {
  color: #034ea2;
}
.tsnz-franchise-testimonials__arrow:focus-visible {
  outline: 2px solid #034ea2;
  outline-offset: 2px;
}
.tsnz-franchise-testimonials__arrow .svg-icon {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}
.tsnz-franchise-testimonials__arrow--prev .svg-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.tsnz-franchise-testimonials__arrow--disabled {
  opacity: 0.3;
  pointer-events: none;
}
.tsnz-franchise-testimonials__arrow--hidden {
  display: none;
}
.tsnz-franchise-testimonials--disabled .tsnz-franchise-testimonials__controls {
  display: none;
}

.tsnz-image-carousel {
  color: #424952;
}
.tsnz-image-carousel__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-carousel__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-image-carousel__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-image-carousel__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.tsnz-image-carousel__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  max-width: 60.4375rem;
}
.tsnz-image-carousel__heading {
  margin: 0;
  color: #034ea2;
}
.tsnz-image-carousel__intro p:last-child {
  margin-bottom: 0;
}
.tsnz-image-carousel__slider {
  position: relative;
  overflow: hidden;
  margin-right: 0;
  margin-left: 0;
  width: 100%;
  min-width: 0;
}
.tsnz-image-carousel__slide {
  height: auto;
}
.tsnz-image-carousel__media {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
@supports not (aspect-ratio: 4/3) {
  .tsnz-image-carousel__media {
    height: 0;
    padding-bottom: 75%;
  }
}
.tsnz-image-carousel__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-image-carousel__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-carousel__controls {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.tsnz-image-carousel__pagination {
  font-size: 0;
  line-height: 0;
  white-space: nowrap;
  overflow: hidden;
}
.tsnz-image-carousel__bullet {
  display: inline-block;
  position: relative;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 0.25rem;
  padding: 0;
  border: 0;
  background-color: #e4e4e4;
  cursor: pointer;
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  -webkit-transition: background-color 0.2s ease, left 0.4s ease, -webkit-transform 0.4s ease;
  transition: background-color 0.2s ease, left 0.4s ease, -webkit-transform 0.4s ease;
  transition: background-color 0.2s ease, transform 0.4s ease, left 0.4s ease;
  transition: background-color 0.2s ease, transform 0.4s ease, left 0.4s ease, -webkit-transform 0.4s ease;
}
.tsnz-image-carousel__bullet--active {
  background-color: #ffcb05;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.tsnz-image-carousel__bullet--active-main {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.tsnz-image-carousel__bullet--active-prev, .tsnz-image-carousel__bullet--active-next {
  -webkit-transform: scale(0.66);
          transform: scale(0.66);
}
.tsnz-image-carousel__bullet--active-prev-prev, .tsnz-image-carousel__bullet--active-next-next {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}
.tsnz-image-carousel__arrows {
  display: none;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-image-carousel__arrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.tsnz-image-carousel__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background: none;
  color: #ffcb05;
  cursor: pointer;
  -webkit-transition: color 0.2s ease, opacity 0.2s ease;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.tsnz-image-carousel__arrow:hover, .tsnz-image-carousel__arrow:focus-visible {
  color: #034ea2;
}
.tsnz-image-carousel__arrow:focus-visible {
  outline: 2px solid #034ea2;
  outline-offset: 2px;
}
.tsnz-image-carousel__arrow .svg-icon {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}
.tsnz-image-carousel__arrow--prev .svg-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.tsnz-image-carousel__arrow--disabled {
  opacity: 0.3;
  pointer-events: none;
}
.tsnz-image-carousel__arrow--hidden {
  display: none;
}

.tsnz-content-carousel {
  padding: 4rem 0;
  color: #424952;
}
.tsnz-content-carousel--surface-light-gray {
  background-color: #f6f6f6;
}
.tsnz-content-carousel--surface-dark-gray {
  background-color: #e2e8ef;
}
.tsnz-content-carousel__container {
  padding-right: 1rem;
  padding-left: 1rem;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 43.75em) {
  .tsnz-content-carousel__container {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__container {
    padding-right: 6rem;
    padding-left: 6rem;
  }
}
@media screen and (max-width: 43.74875em) {
  .tsnz-content-carousel__container {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
.tsnz-content-carousel__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__layout {
    display: grid;
    grid-template-columns: minmax(0, 650fr) minmax(0, 602fr);
    row-gap: 0;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
.tsnz-content-carousel__slider {
  position: relative;
  overflow: hidden;
  margin-right: 0;
  margin-left: 0;
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__slider {
    grid-row: 1;
    grid-column: 1/-1;
  }
}
.tsnz-content-carousel__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  height: auto;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__slide {
    display: grid;
    grid-template-columns: minmax(0, 650fr) minmax(0, 602fr);
    row-gap: 0;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
.tsnz-content-carousel__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 5/3;
}
@supports not (aspect-ratio: 5/3) {
  .tsnz-content-carousel__media {
    height: 0;
    padding-bottom: 60%;
  }
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__media {
    -ms-flex-item-align: start;
        align-self: start;
    aspect-ratio: 10/7;
  }
  @supports not (aspect-ratio: 10/7) {
    .tsnz-content-carousel__media {
      padding-bottom: 70%;
    }
  }
}
.tsnz-content-carousel__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tsnz-content-carousel__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__body {
    gap: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.tsnz-content-carousel__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__content {
    gap: 1.5rem;
  }
}
.tsnz-content-carousel__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__tag {
    gap: 0.25rem;
    padding: 0.625rem 0;
  }
}
.tsnz-content-carousel__tagline {
  margin: 0;
  color: #034ea2;
}
.tsnz-content-carousel__rule {
  display: block;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.08);
}
.tsnz-content-carousel__heading {
  margin: 0;
  color: #034ea2;
}
.tsnz-content-carousel__text p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__text {
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }
}
.tsnz-content-carousel__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__button {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.tsnz-content-carousel__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__controls {
    z-index: 2;
    grid-row: 1;
    grid-column: 2;
    align-self: end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 3rem;
  }
}
.tsnz-content-carousel__controls-echo {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__controls-echo {
    display: block;
    min-height: 3rem;
  }
}
.tsnz-content-carousel__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 0;
}
.tsnz-content-carousel__bullet {
  width: 0.75rem;
  height: 0.75rem;
  padding: 0;
  border: 1px solid #a4a4a4;
  border-radius: 50%;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, border-color 0.2s ease;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.tsnz-content-carousel__bullet--active {
  border-color: #ffcb05;
  background-color: #ffcb05;
}
.tsnz-content-carousel__arrows {
  display: none;
}
@media screen and (min-width: 64em) {
  .tsnz-content-carousel__arrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.tsnz-content-carousel__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background: none;
  color: #ffcb05;
  cursor: pointer;
  -webkit-transition: color 0.2s ease, opacity 0.2s ease;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.tsnz-content-carousel__arrow:hover, .tsnz-content-carousel__arrow:focus-visible {
  color: #034ea2;
}
.tsnz-content-carousel__arrow:focus-visible {
  outline: 2px solid #034ea2;
  outline-offset: 2px;
}
.tsnz-content-carousel__arrow .svg-icon {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
}
.tsnz-content-carousel__arrow--prev .svg-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.tsnz-content-carousel__arrow--disabled {
  opacity: 0.3;
  pointer-events: none;
}
.tsnz-content-carousel__arrow--hidden {
  display: none;
}
.tsnz-content-carousel--disabled .tsnz-content-carousel__controls,
.tsnz-content-carousel--disabled .tsnz-content-carousel__controls-echo {
  display: none;
}

.tsnz-image-carousel__media--button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.tsnz-hubspot-form {
  padding-top: 1rem;
}
.tsnz-hubspot-form legend {
  color: #034ea2;
  padding-bottom: 1rem;
}
.tsnz-hubspot-form h3 {
  color: #fff !important;
}
.tsnz-hubspot-form .submitted-message h3 {
  color: #000 !important;
}
@media screen and (max-width: 768px) {
  .tsnz-hubspot-form {
    padding-bottom: 1rem;
  }
}
.tsnz-hubspot-form .hbspt-form fieldset {
  max-width: initial;
}
.tsnz-hubspot-form .hbspt-form fieldset .input {
  margin-right: 0 !important;
}
.tsnz-hubspot-form .hbspt-form fieldset .input select {
  color: #034ea2;
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form fieldset input {
  width: 100% !important;
}
.tsnz-hubspot-form .hbspt-form fieldset input::-webkit-input-placeholder {
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form fieldset input::-moz-placeholder {
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form fieldset input:-ms-input-placeholder {
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form fieldset input::-ms-input-placeholder {
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form fieldset input::placeholder {
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form fieldset.form-columns-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .tsnz-hubspot-form .hbspt-form fieldset.form-columns-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .tsnz-hubspot-form .hbspt-form fieldset.form-columns-2 .hs-form-field {
    width: 100%;
  }
}
.tsnz-hubspot-form .hbspt-form label.hs-error-msg,
.tsnz-hubspot-form .hbspt-form .hs-error-msgs .hs-main-font-element {
  color: #cc4b37;
  font-weight: 600;
}
.tsnz-hubspot-form .hbspt-form .hs-error-msgs {
  margin-top: -10px;
  margin-bottom: 10px;
}
.tsnz-hubspot-form .hbspt-form .hs-input {
  width: 100% !important;
}
.tsnz-hubspot-form--newsletter {
  padding-top: 0;
}
.tsnz-hubspot-form--newsletter .hbspt-form,
.tsnz-hubspot-form--newsletter .hs-form {
  width: 100%;
}
.tsnz-hubspot-form--newsletter form.hs-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
@media screen and (min-width: 64em) {
  .tsnz-hubspot-form--newsletter form.hs-form {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.5rem;
  }
}
.tsnz-hubspot-form--newsletter .hbspt-form fieldset.form-columns-1,
.tsnz-hubspot-form--newsletter .hbspt-form fieldset.form-columns-2 {
  display: contents;
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs-form-field {
  margin: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-hubspot-form--newsletter .hbspt-form .hs-form-field {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
    max-width: 16.25rem;
  }
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs-form-field > label {
  display: none;
}
.tsnz-hubspot-form--newsletter .hbspt-form .input {
  margin: 0 !important;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input {
  width: 100% !important;
  height: 3.125rem;
  margin: 0;
  padding: 0 1rem;
  border: 1px solid rgba(21, 41, 49, 0.12);
  border-radius: 0.625rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #ffffff;
  color: #034ea2;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: -0.01em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input::-webkit-input-placeholder {
  color: #a4a4a4;
  font-weight: normal;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input::-moz-placeholder {
  color: #a4a4a4;
  font-weight: normal;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input:-ms-input-placeholder {
  color: #a4a4a4;
  font-weight: normal;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input::-ms-input-placeholder {
  color: #a4a4a4;
  font-weight: normal;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input::placeholder {
  color: #a4a4a4;
  font-weight: normal;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input:focus {
  border-color: #034ea2;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs_submit,
.tsnz-hubspot-form--newsletter .hbspt-form .hs_submit .actions {
  margin: 0;
}
@media screen and (min-width: 64em) {
  .tsnz-hubspot-form--newsletter .hbspt-form .hs_submit {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-button {
  display: block;
  width: 100%;
  height: 3.125rem;
  margin: 0;
  padding: 0 1.25rem;
  border: 1px solid transparent;
  border-radius: 0.625rem;
  background-color: #ed1c24;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.5rem;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-button:hover, .tsnz-hubspot-form--newsletter .hbspt-form input.hs-button:focus {
  background-color: rgb(207.7281632653, 16.4718367347, 23.7926530612);
  color: #ffffff;
}
@media screen and (min-width: 64em) {
  .tsnz-hubspot-form--newsletter .hbspt-form input.hs-button {
    width: auto;
  }
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs_recaptcha {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  overflow: hidden;
}
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input.invalid,
.tsnz-hubspot-form--newsletter .hbspt-form input.hs-input.error {
  border-color: #ed1c24;
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs-error-msgs {
  margin: 0.25rem 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs-error-msg {
  display: block;
  color: #ed1c24;
  font-size: 0.8125rem;
  font-weight: bold;
  line-height: 1.4;
}
.tsnz-hubspot-form--newsletter .hbspt-form .hs_error_rollup {
  display: none;
}
.tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput,
.tsnz-hubspot-form--franchise-opportunities select.hsfc-DropdownInput__Input,
.tsnz-hubspot-form--franchise-opportunities .hsfc-DropdownInput,
.tsnz-hubspot-form--franchise-opportunities .hsfc-PhoneInput__FlagAndCaret {
  background-color: #f6f6f6 !important;
  border: 1px solid #e4e4e4 !important;
  border-radius: 0.625rem !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  color: #424952 !important;
  font-family: "Inter", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem !important;
  font-weight: normal !important;
}
.tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput:focus,
.tsnz-hubspot-form--franchise-opportunities select.hsfc-DropdownInput__Input:focus,
.tsnz-hubspot-form--franchise-opportunities .hsfc-DropdownInput:focus,
.tsnz-hubspot-form--franchise-opportunities .hsfc-PhoneInput__FlagAndCaret:focus, .tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput:hover,
.tsnz-hubspot-form--franchise-opportunities select.hsfc-DropdownInput__Input:hover,
.tsnz-hubspot-form--franchise-opportunities .hsfc-DropdownInput:hover,
.tsnz-hubspot-form--franchise-opportunities .hsfc-PhoneInput__FlagAndCaret:hover {
  border-color: #034ea2 !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer input, .tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer select, .tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer p, .tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer span, .tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer label, .tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer div, .tsnz-hubspot-form--franchise-opportunities .hsfc-Renderer button {
  font-family: "Inter", Helvetica, Roboto, Arial, sans-serif;
}
.tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput::-webkit-input-placeholder {
  color: #424952;
}
.tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput::placeholder, .tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput::-webkit-input-placeholder, .tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput::-moz-placeholder, .tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput:-ms-input-placeholder, .tsnz-hubspot-form--franchise-opportunities input.hsfc-TextInput:-moz-placeholder {
  color: #424952;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-DropdownInput__Caret {
  height: 43px !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-PhoneInput {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
  gap: 0.5rem !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-PhoneInput__FlagAndCaret {
  height: auto !important;
  -ms-flex-item-align: stretch !important;
      align-self: stretch !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-RichText p {
  margin-bottom: 0px !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-Step .hsfc-Step__Content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  padding: 0 !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-Step__Banner {
  display: none !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-Row {
  margin-bottom: 0px !important;
  gap: 15px !important;
}
@media screen and (max-width: 429px) {
  .tsnz-hubspot-form--franchise-opportunities .hsfc-Row {
    gap: 1.5rem !important;
  }
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-TextInput {
  margin-bottom: 0 !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-NavigationRow__Buttons {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-NavigationRow__Buttons .hsfc-Button {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto !important;
  padding: 0.8125rem 1.25rem !important;
  background-color: #034ea2 !important;
  border: 1px solid transparent !important;
  border-radius: 0.625rem !important;
  color: #ffffff !important;
  font-weight: bold !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-NavigationRow__Buttons .hsfc-Button:hover, .tsnz-hubspot-form--franchise-opportunities .hsfc-NavigationRow__Buttons .hsfc-Button:focus {
  background-color: rgb(1.8, 46.8, 97.2) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-Row .hsfc-FieldLabel {
  display: none;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-ErrorAlert {
  font-size: 0.875rem !important;
  color: #ed1c24 !important;
  text-align: left !important;
  font-weight: bold !important;
  padding-bottom: 10px !important;
}
.tsnz-hubspot-form--franchise-opportunities .hsfc-NavigationRow {
  margin-top: 10px !important;
}

/**
 * Must stay last — see the header of _container-inset.scss. It overrides component
 * container padding by source order, not specificity.
 */
@media screen and (min-width: 64em) {
  .tsnz-container--inset {
    padding-left: 8rem;
    padding-right: 8rem;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-container--inset-left {
    padding-left: 8rem;
  }
}

@media screen and (min-width: 64em) {
  .tsnz-container--inset-right {
    padding-right: 8rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsImhlbHBlcnMvX3V0aWxpdHktbWl4aW5zLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9jb2xvcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXItci5zY3NzIiwiaGVscGVycy9fdXRpbGl0eS1jbGFzc2VzLnNjc3MiLCJfdHlwb2dyYXBoeS5zY3NzIiwiZWxlbWVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsImVsZW1lbnRzL19hY3Rpb24tYnV0dG9uLnNjc3MiLCJlbGVtZW50cy9fbGluay1idXR0b24uc2NzcyIsImVsZW1lbnRzL19zeW1ib2wuc2NzcyIsImVsZW1lbnRzL19pbnB1dC5zY3NzIiwiZWxlbWVudHMvX3NlbGVjdC5zY3NzIiwiZWxlbWVudHMvX3RleHRhcmVhLnNjc3MiLCJlbGVtZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJlbGVtZW50cy9fY2hlY2tib3gtZ3JvdXAuc2NzcyIsImVsZW1lbnRzL19sb2FkaW5nLnNjc3MiLCJlbGVtZW50cy9fYmxvY2txdW90ZS5zY3NzIiwiY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fb2ZmY2FudmFzLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2suc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1ibG9jay1zZWNvbmRhcnkuc2NzcyIsImNvbXBvbmVudHMvX2Nhc2Utc3R1ZHkuc2NzcyIsImNvbXBvbmVudHMvX2NzLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NzLXZpZGVvLnNjc3MiLCJjb21wb25lbnRzL19jcy1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fY3MtcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLnNjc3MiLCJjb21wb25lbnRzL19lbWJlZC5zY3NzIiwiY29tcG9uZW50cy9fcHJpbWFyeS1jdGEuc2NzcyIsImNvbXBvbmVudHMvX2ljb24tZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZS1zZWNvbmRhcnkuc2NzcyIsImNvbXBvbmVudHMvX3R3by1jb2x1bW4tZmVhdHVyZS5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL19jdGEuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJjb21wb25lbnRzL19uYXYuc2NzcyIsImNvbXBvbmVudHMvX21lZ2EtbWVudS5zY3NzIiwiY29tcG9uZW50cy9fbWVnYS1tZW51LXBhbmVsLnNjc3MiLCJjb21wb25lbnRzL19pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fbWFzdGhlYWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zd2lwZXIvc3JjL2NvbXBvbmVudHMvY29yZS9jb3JlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL3NyYy9jb21wb25lbnRzL2VmZmVjdC1mYWRlL2VmZmVjdC1mYWRlLnNjc3MiLCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1kZXRhaWwuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19mcmFuY2hpc2UtY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9fZnJhbmNoaXNlLWFib3V0LnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19jbGFkZGluZy5zY3NzIiwiY29tcG9uZW50cy9fb3B0aW9uLWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2hpZ2hsaWdodHMuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3BhdGh3YXkuc2NzcyIsImNvbXBvbmVudHMvX21hcC5zY3NzIiwiY29tcG9uZW50cy9fZmFuY3lib3guY29yZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BmYW5jeWFwcHMvZmFuY3lib3gvc3JjL2Nzcy9zaGFyZS5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZhbmN5YXBwcy9mYW5jeWJveC9zcmMvY3NzL2Z1bGxzY3JlZW4uY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BmYW5jeWFwcHMvZmFuY3lib3gvc3JjL2Nzcy9zbGlkZXNob3cuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BmYW5jeWFwcHMvZmFuY3lib3gvc3JjL2Nzcy90aHVtYnMuY3NzIiwiY29tcG9uZW50cy9fZmFuY3lib3guc2NzcyIsImNvbXBvbmVudHMvX2xpZ2h0Ym94LnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX2ZyYW5jaGlzZS1vcHBvcnR1bml0eS1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19wcmVmb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX25ld3NsZXR0ZXIuc2NzcyIsImNvbXBvbmVudHMvX3NpdGVtYXAuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZ2xpZGVqcy9nbGlkZS9zcmMvYXNzZXRzL3Nhc3MvZ2xpZGUuY29yZS5zY3NzIiwiY29tcG9uZW50cy9fY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLnNjc3MiLCJjb21wb25lbnRzL19hd2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2F3YXJkcy1tYXJxdWVlLnNjc3MiLCJjb21wb25lbnRzL19jdXN0b21pc2Uuc2NzcyIsImNvbXBvbmVudHMvX3ByaW50LnNjc3MiLCJjb21wb25lbnRzL190aWNrZXIuc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlLnNjc3MiLCJjb21wb25lbnRzL19zcGVjaWFsLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX3Rlc3RpbW9uaWFscy5zY3NzIiwiY29tcG9uZW50cy9fdGVzdGltb25pYWxzLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLXRlc3RpbW9uaWFsLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fZnJhbmNoaXNlLXRlc3RpbW9uaWFscy5zY3NzIiwiY29tcG9uZW50cy9faW1hZ2UtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX2ZyYW5jaGlzZS1jYXJvdXNlbC5zY3NzIiwiY29tcG9uZW50cy9faHVic3BvdC1mb3Jtcy5zY3NzIiwiaGVscGVycy9fY29udGFpbmVyLWluc2V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJB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QUE7WUFBQSxjQUFBO0lBMkJBLFlBQUE7R2RzY0Q7RVcxY0M7SUdwQkEsb0JBQUE7UUFBQSxtQkFBQTtZQUFBLGVBQUE7R2RpZUQ7RVd2Y0c7SUdFRixZQUFBO0dkd2NEO0VXamNHO0lHSEYscUJBRE07R2R3Y1A7RVdwY0c7SUdIRixzQkFETTtHZDJjUDtFV3ZjRztJR0hGLFdBRE07R2Q4Y1A7RVcxY0c7SUdIRixzQkFETTtHZGlkUDtFVzdjRztJR0hGLHNCQURNO0dkb2RQO0VXaGRHO0lHSEYsV0FETTtHZHVkUDtFV25kRztJR0hGLHNCQURNO0dkMGRQO0VXdGRHO0lHSEYsc0JBRE07R2Q2ZFA7RVd6ZEc7SUdIRixXQURNO0dkZ2VQO0VXNWRHO0lHSEYsc0JBRE07R2RtZVA7RVcvZEc7SUdIRixzQkFETTtHZHNlUDtFV2xlRztJR0hGLFlBRE07R2R5ZVA7Q0FDRjtBS3haSztFTW5HQTtJR2pCRixvQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQTJCQSxZQUFBO0dkc2ZEO0VXMWZDO0lHcEJBLG9CQUFBO1FBQUEsbUJBQUE7WUFBQSxlQUFBO0dkaWhCRDtFV3ZmRztJR0VGLFlBQUE7R2R3ZkQ7RVdqZkc7SUdIRixxQkFETTtHZHdmUDtFV3BmRztJR0hGLHNCQURNO0dkMmZQO0VXdmZHO0lHSEYsV0FETTtHZDhmUDtFVzFmRztJR0hGLHNCQURNO0dkaWdCUDtFVzdmRztJR0hGLHNCQURNO0dkb2dCUDtFV2hnQkc7SUdIRixXQURNO0dkdWdCUDtFV25nQkc7SUdIRixzQkFETTtHZDBnQlA7RVd0Z0JHO0lHSEYsc0JBRE07R2Q2Z0JQO0VXemdCRztJR0hGLFdBRE07R2RnaEJQO0VXNWdCRztJR0hGLHNCQURNO0dkbWhCUDtFVy9nQkc7SUdIRixzQkFETTtHZHNoQlA7RVdsaEJHO0lHSEYsWUFETTtHZHloQlA7Q0FDRjtBVzlnQkM7RUFDRSxZQUFBO0NYZ2hCSDs7QVc1Z0JDO0VBQ0UsYUFBQTtDWCtnQkg7O0FXamZDO0VDekdNLHFCQUFBO0VBQUEsc0JBQUE7Q1orbEJQO0FLcGRLO0VNbENKO0lDekdNLG1CQUFBO0lBQUEsb0JBQUE7R1pvbUJMO0NBQ0Y7QVd4Zkc7RUc5REEseUJBRE07RUZyQ0osb0JBQUE7RUFBQSxxQkFBQTtDWmltQkw7QUsvZEs7RU12QkU7SUdyRUoseUJBRE07SUZyQ0osa0JBQUE7SUFBQSxtQkFBQTtHWnVtQkg7Q0FDRjtBV2hpQkM7RUcvQkUsWUFBQTtDZGtrQkg7QVcvaEJDO0VHL0JFLFlBQUE7Q2Rpa0JIO0FXMWhCRztFR25DQSxrQ0FETTtDZGlrQlQ7QVc3aEJHO0VHbkNBLG1DQURNO0Nkb2tCVDtBV2hpQkc7RUduQ0Esd0JBRE07Q2R1a0JUO0FXbmlCRztFR25DQSxtQ0FETTtDZDBrQlQ7QVd0aUJHO0VHbkNBLG1DQURNO0NkNmtCVDtBV3ppQkc7RUduQ0Esd0JBRE07Q2RnbEJUO0FXNWlCRztFR25DQSxtQ0FETTtDZG1sQlQ7QVcvaUJHO0VHbkNBLG1DQURNO0Nkc2xCVDtBV2xqQkc7RUduQ0Esd0JBRE07Q2R5bEJUO0FXcmpCRztFR25DQSxtQ0FETTtDZDRsQlQ7QVd4akJHO0VHbkNBLG1DQURNO0NkK2xCVDtBVzNqQkc7RUduQ0EseUJBRE07Q2RrbUJUO0FLcmhCSztFTXJESjtJRy9CRSxZQUFBO0dkNm1CRDtFVzFrQkQ7SUcvQkUsWUFBQTtHZDRtQkQ7RVdya0JDO0lHbkNBLGtDQURNO0dkNG1CUDtFV3hrQkM7SUduQ0EsbUNBRE07R2QrbUJQO0VXM2tCQztJR25DQSx3QkFETTtHZGtuQlA7RVc5a0JDO0lHbkNBLG1DQURNO0dkcW5CUDtFV2psQkM7SUduQ0EsbUNBRE07R2R3bkJQO0VXcGxCQztJR25DQSx3QkFETTtHZDJuQlA7RVd2bEJDO0lHbkNBLG1DQURNO0dkOG5CUDtFVzFsQkM7SUduQ0EsbUNBRE07R2Rpb0JQO0VXN2xCQztJR25DQSx3QkFETTtHZG9vQlA7RVdobUJDO0lHbkNBLG1DQURNO0dkdW9CUDtFV25tQkM7SUduQ0EsbUNBRE07R2Qwb0JQO0VXdG1CQztJR25DQSx5QkFETTtHZDZvQlA7Q0FDRjtBSzVqQks7RU0xREo7SUcvQkUsWUFBQTtHZHlwQkQ7RVd0bkJEO0lHL0JFLFlBQUE7R2R3cEJEO0VXam5CQztJR25DQSxrQ0FETTtHZHdwQlA7RVdwbkJDO0lHbkNBLG1DQURNO0dkMnBCUDtFV3ZuQkM7SUduQ0Esd0JBRE07R2Q4cEJQO0VXMW5CQztJR25DQSxtQ0FETTtHZGlxQlA7RVc3bkJDO0lHbkNBLG1DQURNO0dkb3FCUDtFV2hvQkM7SUduQ0Esd0JBRE07R2R1cUJQO0VXbm9CQztJR25DQSxtQ0FETTtHZDBxQlA7RVd0b0JDO0lHbkNBLG1DQURNO0dkNnFCUDtFV3pvQkM7SUduQ0Esd0JBRE07R2RnckJQO0VXNW9CQztJR25DQSxtQ0FETTtHZG1yQlA7RVcvb0JDO0lHbkNBLG1DQURNO0dkc3JCUDtFV2xwQkM7SUduQ0EseUJBRE07R2R5ckJQO0VXanFCRDtJRy9CRSxZQUFBO0dkbXNCRDtFV2hxQkQ7SUcvQkUsWUFBQTtHZGtzQkQ7RVczcEJDO0lHbkNBLGtDQURNO0dka3NCUDtFVzlwQkM7SUduQ0EsbUNBRE07R2Rxc0JQO0VXanFCQztJR25DQSx3QkFETTtHZHdzQlA7RVdwcUJDO0lHbkNBLG1DQURNO0dkMnNCUDtFV3ZxQkM7SUduQ0EsbUNBRE07R2Q4c0JQO0VXMXFCQztJR25DQSx3QkFETTtHZGl0QlA7RVc3cUJDO0lHbkNBLG1DQURNO0dkb3RCUDtFV2hyQkM7SUduQ0EsbUNBRE07R2R1dEJQO0VXbnJCQztJR25DQSx3QkFETTtHZDB0QlA7RVd0ckJDO0lHbkNBLG1DQURNO0dkNnRCUDtFV3pyQkM7SUduQ0EsbUNBRE07R2RndUJQO0VXNXJCQztJR25DQSx5QkFETTtHZG11QlA7RVczc0JEO0lHL0JFLFlBQUE7R2Q2dUJEO0VXMXNCRDtJRy9CRSxZQUFBO0dkNHVCRDtFV3JzQkM7SUduQ0Esa0NBRE07R2Q0dUJQO0VXeHNCQztJR25DQSxtQ0FETTtHZCt1QlA7RVczc0JDO0lHbkNBLHdCQURNO0dka3ZCUDtFVzlzQkM7SUduQ0EsbUNBRE07R2RxdkJQO0VXanRCQztJR25DQSxtQ0FETTtHZHd2QlA7RVdwdEJDO0lHbkNBLHdCQURNO0dkMnZCUDtFV3Z0QkM7SUduQ0EsbUNBRE07R2Q4dkJQO0VXMXRCQztJR25DQSxtQ0FETTtHZGl3QlA7RVc3dEJDO0lHbkNBLHdCQURNO0dkb3dCUDtFV2h1QkM7SUduQ0EsbUNBRE07R2R1d0JQO0VXbnVCQztJR25DQSxtQ0FETTtHZDB3QlA7RVd0dUJDO0lHbkNBLHlCQURNO0dkNndCUDtDQUNGOztBV3ZyQkc7RUNoSkksc0JBQUE7RUFBQSxxQkFBQTtDWjQwQlA7QUtqc0JLO0VNS0Y7SUNoSkksb0JBQUE7SUFBQSxtQkFBQTtHWmkxQkw7Q0FDRjtBVzVyQkc7RUN0Skksc0JBQUE7RUFBQSxxQkFBQTtDWnMxQlA7QUszc0JLO0VNV0Y7SUN0Skksb0JBQUE7SUFBQSxtQkFBQTtHWjIxQkw7Q0FDRjtBV2pzQkc7RUMzSkksc0JBQUE7RUFBQSxxQkFBQTtDWmcyQlA7QUtydEJLO0VNZ0JGO0lDM0pJLG9CQUFBO0lBQUEsbUJBQUE7R1pxMkJMO0NBQ0Y7O0FleDJCQztFRDRERSxZQURNO0NkaXpCVDs7QWU1MkJDO0VENERFLFdBRE07Q2RxekJUOztBZWgzQkM7RUQ0REUsc0JBRE07Q2R5ekJUOztBZXAzQkM7RUQ0REUsV0FETTtDZDZ6QlQ7O0FleDNCQztFRDRERSxXQURNO0NkaTBCVDs7QWU1M0JDO0VENERFLHNCQURNO0NkcTBCVDs7QWVoNEJDO0VENERFLHNCQURNO0NkeTBCVDs7QWVwNEJDO0VENERFLGFBRE07Q2Q2MEJUOztBS2h3Qks7RVV4SUo7SUQ0REUsWUFETTtHZGsxQlA7RWU3NEJEO0lENERFLFdBRE07R2RxMUJQO0VlaDVCRDtJRDRERSxzQkFETTtHZHcxQlA7RWVuNUJEO0lENERFLFdBRE07R2QyMUJQO0VldDVCRDtJRDRERSxXQURNO0dkODFCUDtFZXo1QkQ7SUQ0REUsc0JBRE07R2RpMkJQO0VlNTVCRDtJRDRERSxzQkFETTtHZG8yQlA7RWUvNUJEO0lENERFLGFBRE07R2R1MkJQO0NBQ0Y7QUt0eEJLO0VVN0lKO0lENERFLFlBRE07R2Q0MkJQO0VldjZCRDtJRDRERSxXQURNO0dkKzJCUDtFZTE2QkQ7SUQ0REUsc0JBRE07R2RrM0JQO0VlNzZCRDtJRDRERSxXQURNO0dkcTNCUDtFZWg3QkQ7SUQ0REUsV0FETTtHZHczQlA7RWVuN0JEO0lENERFLHNCQURNO0dkMjNCUDtFZXQ3QkQ7SUQ0REUsc0JBRE07R2Q4M0JQO0VlejdCRDtJRDRERSxhQURNO0dkaTRCUDtDQUNGO0FlNzdCQztFRDRERSx5QkFETTtDZHE0QlQ7O0FlaDhCQztFRDRERSx3QkFETTtDZHk0QlQ7O0FlcDhCQztFRDRERSxtQ0FETTtDZDY0QlQ7O0FleDhCQztFRDRERSx3QkFETTtDZGk1QlQ7O0FlNThCQztFRDRERSx3QkFETTtDZHE1QlQ7O0FlaDlCQztFRDRERSxtQ0FETTtDZHk1QlQ7O0FlcDlCQztFRDRERSxtQ0FETTtDZDY1QlQ7O0FleDlCQztFRDRERSwwQkFETTtDZGk2QlQ7O0FLcDFCSztFVXhJSjtJRDRERSx5QkFETTtHZHM2QlA7RWVqK0JEO0lENERFLHdCQURNO0dkeTZCUDtFZXArQkQ7SUQ0REUsbUNBRE07R2Q0NkJQO0VlditCRDtJRDRERSx3QkFETTtHZCs2QlA7RWUxK0JEO0lENERFLHdCQURNO0dkazdCUDtFZTcrQkQ7SUQ0REUsbUNBRE07R2RxN0JQO0VlaC9CRDtJRDRERSxtQ0FETTtHZHc3QlA7RWVuL0JEO0lENERFLDBCQURNO0dkMjdCUDtDQUNGO0FLMTJCSztFVTdJSjtJRDRERSx5QkFETTtHZGc4QlA7RWUzL0JEO0lENERFLHdCQURNO0dkbThCUDtFZTkvQkQ7SUQ0REUsbUNBRE07R2RzOEJQO0VlamdDRDtJRDRERSx3QkFETTtHZHk4QlA7RWVwZ0NEO0lENERFLHdCQURNO0dkNDhCUDtFZXZnQ0Q7SUQ0REUsbUNBRE07R2QrOEJQO0VlMWdDRDtJRDRERSxtQ0FETTtHZGs5QlA7RWU3Z0NEO0lENERFLDBCQURNO0dkcTlCUDtFZWhoQ0Q7SUQ0REUseUJBRE07R2R3OUJQO0VlbmhDRDtJRDRERSx3QkFETTtHZDI5QlA7RWV0aENEO0lENERFLG1DQURNO0dkODlCUDtFZXpoQ0Q7SUQ0REUsd0JBRE07R2RpK0JQO0VlNWhDRDtJRDRERSx3QkFETTtHZG8rQlA7RWUvaENEO0lENERFLG1DQURNO0dkdStCUDtFZWxpQ0Q7SUQ0REUsbUNBRE07R2QwK0JQO0VlcmlDRDtJRDRERSwwQkFETTtHZDYrQlA7Q0FDRjtBVzkxQks7RUtoTkUsZ0JBQUE7RUFBQSxlQUFBO0NoQmtqQ1A7QWdCL2lDSztFQUVJLGdCQUFBO0VBQUEsZUFBQTtDaEJpakNUO0FnQjNoQ1c7RUZzQ1IscUJBRE07Q2R5L0JUO0FnQjloQ1c7RUZzQ1Isc0JBRE07Q2Q0L0JUO0FnQmppQ1c7RUZzQ1IsV0FETTtDZCsvQlQ7QWdCcGlDVztFRnNDUixzQkFETTtDZGtnQ1Q7QWdCdmlDVztFRnNDUixzQkFETTtDZHFnQ1Q7QWdCMWlDVztFRnNDUixXQURNO0Nkd2dDVDtBZ0I3aUNXO0VGc0NSLHNCQURNO0NkMmdDVDtBZ0JoakNXO0VGc0NSLHNCQURNO0NkOGdDVDtBZ0JuakNXO0VGc0NSLFdBRE07Q2RpaENUO0FnQnRqQ1c7RUZzQ1Isc0JBRE07Q2RvaENUO0FnQnpqQ1c7RUZzQ1Isc0JBRE07Q2R1aENUO0FnQjVqQ1c7RUZzQ1IsWUFETTtDZDBoQ1Q7QUs3OEJLO0VXbEhNO0lGc0NSLHFCQURNO0dkOGhDUDtFZ0Jua0NTO0lGc0NSLHNCQURNO0dkaWlDUDtFZ0J0a0NTO0lGc0NSLFdBRE07R2RvaUNQO0VnQnprQ1M7SUZzQ1Isc0JBRE07R2R1aUNQO0VnQjVrQ1M7SUZzQ1Isc0JBRE07R2QwaUNQO0VnQi9rQ1M7SUZzQ1IsV0FETTtHZDZpQ1A7RWdCbGxDUztJRnNDUixzQkFETTtHZGdqQ1A7RWdCcmxDUztJRnNDUixzQkFETTtHZG1qQ1A7RWdCeGxDUztJRnNDUixXQURNO0dkc2pDUDtFZ0IzbENTO0lGc0NSLHNCQURNO0dkeWpDUDtFZ0I5bENTO0lGc0NSLHNCQURNO0dkNGpDUDtFZ0JqbUNTO0lGc0NSLFlBRE07R2QrakNQO0NBQ0Y7QUs5K0JLO0VXdkhNO0lGc0NSLHFCQURNO0dkb2tDUDtFZ0J6bUNTO0lGc0NSLHNCQURNO0dkdWtDUDtFZ0I1bUNTO0lGc0NSLFdBRE07R2Qwa0NQO0VnQi9tQ1M7SUZzQ1Isc0JBRE07R2Q2a0NQO0VnQmxuQ1M7SUZzQ1Isc0JBRE07R2RnbENQO0VnQnJuQ1M7SUZzQ1IsV0FETTtHZG1sQ1A7RWdCeG5DUztJRnNDUixzQkFETTtHZHNsQ1A7RWdCM25DUztJRnNDUixzQkFETTtHZHlsQ1A7RWdCOW5DUztJRnNDUixXQURNO0dkNGxDUDtFZ0Jqb0NTO0lGc0NSLHNCQURNO0dkK2xDUDtFZ0Jwb0NTO0lGc0NSLHNCQURNO0dka21DUDtFZ0J2b0NTO0lGc0NSLFlBRE07R2RxbUNQO0NBQ0Y7O0FXaDlCSztFSy9LRSxnQkFBQTtFQUFBLGVBQUE7Q2hCb29DUDtBZ0Jqb0NLO0VBRUksaUJBQUE7RUFBQSxnQkFBQTtDaEJtb0NUOztBS2xpQ0s7RU1tRUE7SUtoTkUsZ0JBQUE7SUFBQSxlQUFBO0doQnFyQ0w7RWdCbHJDRztJQUVJLGdCQUFBO0lBQUEsZUFBQTtHaEJvckNQO0NBQ0Y7QUs3aUNLO0VXM0hNO0lGK0NSLHFCQURNO0dkOG5DUDtFZ0I1cUNTO0lGK0NSLHNCQURNO0dkaW9DUDtFZ0IvcUNTO0lGK0NSLFdBRE07R2Rvb0NQO0VnQmxyQ1M7SUYrQ1Isc0JBRE07R2R1b0NQO0VnQnJyQ1M7SUYrQ1Isc0JBRE07R2Qwb0NQO0VnQnhyQ1M7SUYrQ1IsV0FETTtHZDZvQ1A7RWdCM3JDUztJRitDUixzQkFETTtHZGdwQ1A7RWdCOXJDUztJRitDUixzQkFETTtHZG1wQ1A7RWdCanNDUztJRitDUixXQURNO0dkc3BDUDtFZ0Jwc0NTO0lGK0NSLHNCQURNO0dkeXBDUDtFZ0J2c0NTO0lGK0NSLHNCQURNO0dkNHBDUDtFZ0Ixc0NTO0lGK0NSLFlBRE07R2QrcENQO0NBQ0Y7QUtubENLO0VXbEhNO0lGc0NSLHFCQURNO0dkb3FDUDtFZ0J6c0NTO0lGc0NSLHNCQURNO0dkdXFDUDtFZ0I1c0NTO0lGc0NSLFdBRE07R2QwcUNQO0VnQi9zQ1M7SUZzQ1Isc0JBRE07R2Q2cUNQO0VnQmx0Q1M7SUZzQ1Isc0JBRE07R2RnckNQO0VnQnJ0Q1M7SUZzQ1IsV0FETTtHZG1yQ1A7RWdCeHRDUztJRnNDUixzQkFETTtHZHNyQ1A7RWdCM3RDUztJRnNDUixzQkFETTtHZHlyQ1A7RWdCOXRDUztJRnNDUixXQURNO0dkNHJDUDtFZ0JqdUNTO0lGc0NSLHNCQURNO0dkK3JDUDtFZ0JwdUNTO0lGc0NSLHNCQURNO0dka3NDUDtFZ0J2dUNTO0lGc0NSLFlBRE07R2Rxc0NQO0NBQ0Y7QUtwbkNLO0VXdkhNO0lGc0NSLHFCQURNO0dkMHNDUDtFZ0IvdUNTO0lGc0NSLHNCQURNO0dkNnNDUDtFZ0JsdkNTO0lGc0NSLFdBRE07R2RndENQO0VnQnJ2Q1M7SUZzQ1Isc0JBRE07R2RtdENQO0VnQnh2Q1M7SUZzQ1Isc0JBRE07R2RzdENQO0VnQjN2Q1M7SUZzQ1IsV0FETTtHZHl0Q1A7RWdCOXZDUztJRnNDUixzQkFETTtHZDR0Q1A7RWdCandDUztJRnNDUixzQkFETTtHZCt0Q1A7RWdCcHdDUztJRnNDUixXQURNO0dka3VDUDtFZ0J2d0NTO0lGc0NSLHNCQURNO0dkcXVDUDtFZ0Ixd0NTO0lGc0NSLHNCQURNO0dkd3VDUDtFZ0I3d0NTO0lGc0NSLFlBRE07R2QydUNQO0NBQ0Y7O0FLL3BDSztFTXlFQTtJSy9LRSxnQkFBQTtJQUFBLGVBQUE7R2hCMndDTDtFZ0J4d0NHO0lBRUksaUJBQUE7SUFBQSxnQkFBQTtHaEIwd0NQO0NBQ0Y7O0FLcnFDSztFTThEQTtJS2hORSxnQkFBQTtJQUFBLGVBQUE7R2hCNnpDTDtFZ0IxekNHO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0doQjR6Q1A7Q0FDRjtBS2hyQ0s7RVdoSU07SUYrQ1IscUJBRE07R2Rzd0NQO0VnQnB6Q1M7SUYrQ1Isc0JBRE07R2R5d0NQO0VnQnZ6Q1M7SUYrQ1IsV0FETTtHZDR3Q1A7RWdCMXpDUztJRitDUixzQkFETTtHZCt3Q1A7RWdCN3pDUztJRitDUixzQkFETTtHZGt4Q1A7RWdCaDBDUztJRitDUixXQURNO0dkcXhDUDtFZ0JuMENTO0lGK0NSLHNCQURNO0dkd3hDUDtFZ0J0MENTO0lGK0NSLHNCQURNO0dkMnhDUDtFZ0J6MENTO0lGK0NSLFdBRE07R2Q4eENQO0VnQjUwQ1M7SUYrQ1Isc0JBRE07R2RpeUNQO0VnQi8wQ1M7SUYrQ1Isc0JBRE07R2RveUNQO0VnQmwxQ1M7SUYrQ1IsWUFETTtHZHV5Q1A7Q0FDRjtBS3R0Q0s7RVdoSU07SUYrQ1IscUJBRE07R2Q0eUNQO0VnQjExQ1M7SUYrQ1Isc0JBRE07R2QreUNQO0VnQjcxQ1M7SUYrQ1IsV0FETTtHZGt6Q1A7RWdCaDJDUztJRitDUixzQkFETTtHZHF6Q1A7RWdCbjJDUztJRitDUixzQkFETTtHZHd6Q1A7RWdCdDJDUztJRitDUixXQURNO0dkMnpDUDtFZ0J6MkNTO0lGK0NSLHNCQURNO0dkOHpDUDtFZ0I1MkNTO0lGK0NSLHNCQURNO0dkaTBDUDtFZ0IvMkNTO0lGK0NSLFdBRE07R2RvMENQO0VnQmwzQ1M7SUYrQ1Isc0JBRE07R2R1MENQO0VnQnIzQ1M7SUYrQ1Isc0JBRE07R2QwMENQO0VnQngzQ1M7SUYrQ1IsWUFETTtHZDYwQ1A7Q0FDRjtBSzV2Q0s7RVd2SE07SUZzQ1IscUJBRE07R2RrMUNQO0VnQnYzQ1M7SUZzQ1Isc0JBRE07R2RxMUNQO0VnQjEzQ1M7SUZzQ1IsV0FETTtHZHcxQ1A7RWdCNzNDUztJRnNDUixzQkFETTtHZDIxQ1A7RWdCaDRDUztJRnNDUixzQkFETTtHZDgxQ1A7RWdCbjRDUztJRnNDUixXQURNO0dkaTJDUDtFZ0J0NENTO0lGc0NSLHNCQURNO0dkbzJDUDtFZ0J6NENTO0lGc0NSLHNCQURNO0dkdTJDUDtFZ0I1NENTO0lGc0NSLFdBRE07R2QwMkNQO0VnQi80Q1M7SUZzQ1Isc0JBRE07R2Q2MkNQO0VnQmw1Q1M7SUZzQ1Isc0JBRE07R2RnM0NQO0VnQnI1Q1M7SUZzQ1IsWUFETTtHZG0zQ1A7Q0FDRjs7QUtseUNLO0VNb0VBO0lLL0tFLGdCQUFBO0lBQUEsZUFBQTtHaEJtNUNMO0VnQmg1Q0c7SUFFSSxpQkFBQTtJQUFBLGdCQUFBO0doQms1Q1A7Q0FDRjs7QVczdENLO0VNaE9GLGdCQUFBO0NqQis3Q0g7O0FXM3RDSztFTXBPRiwrQkFBQTtDakJtOENIOztBV251Q0s7RU1oT0YsMkJBQUE7Q2pCdThDSDs7QVdudUNLO0VNcE9GLDBDQUFBO0NqQjI4Q0g7O0FXM3VDSztFTWhPRiw0QkFBQTtDakIrOENIOztBVzN1Q0s7RU1wT0YsMkNBQUE7Q2pCbTlDSDs7QVdudkNLO0VNaE9GLGlCQUFBO0NqQnU5Q0g7O0FXbnZDSztFTXBPRixnQ0FBQTtDakIyOUNIOztBVzN2Q0s7RU1oT0YsNEJBQUE7Q2pCKzlDSDs7QVczdkNLO0VNcE9GLDJDQUFBO0NqQm0rQ0g7O0FXbndDSztFTWhPRiw0QkFBQTtDakJ1K0NIOztBV253Q0s7RU1wT0YsMkNBQUE7Q2pCMitDSDs7QVczd0NLO0VNaE9GLGlCQUFBO0NqQisrQ0g7O0FXM3dDSztFTXBPRixnQ0FBQTtDakJtL0NIOztBV254Q0s7RU1oT0YsNEJBQUE7Q2pCdS9DSDs7QVdueENLO0VNcE9GLDJDQUFBO0NqQjIvQ0g7O0FXM3hDSztFTWhPRiw0QkFBQTtDakIrL0NIOztBVzN4Q0s7RU1wT0YsMkNBQUE7Q2pCbWdESDs7QVdueUNLO0VNaE9GLGlCQUFBO0NqQnVnREg7O0FXbnlDSztFTXBPRixnQ0FBQTtDakIyZ0RIOztBVzN5Q0s7RU1oT0YsNEJBQUE7Q2pCK2dESDs7QVczeUNLO0VNcE9GLDJDQUFBO0NqQm1oREg7O0FXbnpDSztFTWhPRiw0QkFBQTtDakJ1aERIOztBV256Q0s7RU1wT0YsMkNBQUE7Q2pCMmhESDs7QUtsNUNLO0VNdUZBO0lNaE9GLGdCQUFBO0dqQmdpREQ7RVc1ekNHO0lNcE9GLCtCQUFBO0dqQm1pREQ7RVduMENHO0lNaE9GLDJCQUFBO0dqQnNpREQ7RVdsMENHO0lNcE9GLDBDQUFBO0dqQnlpREQ7RVd6MENHO0lNaE9GLDRCQUFBO0dqQjRpREQ7RVd4MENHO0lNcE9GLDJDQUFBO0dqQitpREQ7RVcvMENHO0lNaE9GLGlCQUFBO0dqQmtqREQ7RVc5MENHO0lNcE9GLGdDQUFBO0dqQnFqREQ7RVdyMUNHO0lNaE9GLDRCQUFBO0dqQndqREQ7RVdwMUNHO0lNcE9GLDJDQUFBO0dqQjJqREQ7RVczMUNHO0lNaE9GLDRCQUFBO0dqQjhqREQ7RVcxMUNHO0lNcE9GLDJDQUFBO0dqQmlrREQ7RVdqMkNHO0lNaE9GLGlCQUFBO0dqQm9rREQ7RVdoMkNHO0lNcE9GLGdDQUFBO0dqQnVrREQ7RVd2MkNHO0lNaE9GLDRCQUFBO0dqQjBrREQ7RVd0MkNHO0lNcE9GLDJDQUFBO0dqQjZrREQ7RVc3MkNHO0lNaE9GLDRCQUFBO0dqQmdsREQ7RVc1MkNHO0lNcE9GLDJDQUFBO0dqQm1sREQ7RVduM0NHO0lNaE9GLGlCQUFBO0dqQnNsREQ7RVdsM0NHO0lNcE9GLGdDQUFBO0dqQnlsREQ7RVd6M0NHO0lNaE9GLDRCQUFBO0dqQjRsREQ7RVd4M0NHO0lNcE9GLDJDQUFBO0dqQitsREQ7RVcvM0NHO0lNaE9GLDRCQUFBO0dqQmttREQ7RVc5M0NHO0lNcE9GLDJDQUFBO0dqQnFtREQ7Q0FDRjtBS3g5Q0s7RU1rRkE7SU1oT0YsZ0JBQUE7R2pCMG1ERDtFV3Q0Q0c7SU1wT0YsNkJBQUE7R2pCNm1ERDtFVzc0Q0c7SU1oT0YsMkJBQUE7R2pCZ25ERDtFVzU0Q0c7SU1wT0Ysd0NBQUE7R2pCbW5ERDtFV241Q0c7SU1oT0YsNEJBQUE7R2pCc25ERDtFV2w1Q0c7SU1wT0YseUNBQUE7R2pCeW5ERDtFV3o1Q0c7SU1oT0YsaUJBQUE7R2pCNG5ERDtFV3g1Q0c7SU1wT0YsOEJBQUE7R2pCK25ERDtFVy81Q0c7SU1oT0YsNEJBQUE7R2pCa29ERDtFVzk1Q0c7SU1wT0YseUNBQUE7R2pCcW9ERDtFV3I2Q0c7SU1oT0YsNEJBQUE7R2pCd29ERDtFV3A2Q0c7SU1wT0YseUNBQUE7R2pCMm9ERDtFVzM2Q0c7SU1oT0YsaUJBQUE7R2pCOG9ERDtFVzE2Q0c7SU1wT0YsOEJBQUE7R2pCaXBERDtFV2o3Q0c7SU1oT0YsNEJBQUE7R2pCb3BERDtFV2g3Q0c7SU1wT0YseUNBQUE7R2pCdXBERDtFV3Y3Q0c7SU1oT0YsNEJBQUE7R2pCMHBERDtFV3Q3Q0c7SU1wT0YseUNBQUE7R2pCNnBERDtFVzc3Q0c7SU1oT0YsaUJBQUE7R2pCZ3FERDtFVzU3Q0c7SU1wT0YsOEJBQUE7R2pCbXFERDtFV244Q0c7SU1oT0YsNEJBQUE7R2pCc3FERDtFV2w4Q0c7SU1wT0YseUNBQUE7R2pCeXFERDtFV3o4Q0c7SU1oT0YsNEJBQUE7R2pCNHFERDtFV3g4Q0c7SU1wT0YseUNBQUE7R2pCK3FERDtDQUNGO0FXMTdDQztFRWpQQSxxQkFBQTtFQUFBLHFCQUFBO0VBQUEsY0FBQTtFQUNBLDZCQUFBO0VBQUEsOEJBQUE7TUFBQSw2QkFBQTtVQUFBLHlCQUFBO0NiOHFERDtBVzE3Q0c7RUdqTkYsWUFBQTtFQUNBLGdCQUFBO0NkOG9ERDtBVzE3Q0c7RUd6TUEsYUFBQTtDZHNvREg7QVd6N0NHO0VHek1BLGFBQUE7Q2Rxb0RIO0FXOTZDSztFQUNFLDhCQUFBO01BQUEsaUJBQUE7Q1hnN0NQO0FLeGpESztFTXVJQTtJQUNFLDhCQUFBO1FBQUEsaUJBQUE7R1hvN0NMO0NBQ0Y7QUt4akRLO0VNa0lBO0lBQ0UsOEJBQUE7UUFBQSxpQkFBQTtHWHk3Q0w7Q0FDRjtBVzc2Q0s7RUdqUUYsb0JBQUE7TUFBQSxtQkFBQTtVQUFBLGVBQUE7Q2RpckRIO0FXajZDTztFR2hQSixzQkFETTtDZHFwRFQ7QVdwNkNPO0VHaFBKLHVCQURNO0Nkd3BEVDtBV3Y2Q087RUdoUEosWUFETTtDZDJwRFQ7QVcxNkNPO0VHaFBKLHVCQURNO0NkOHBEVDtBVzc2Q087RUdoUEosdUJBRE07Q2RpcURUO0FXaDdDTztFR2hQSixZQURNO0Nkb3FEVDtBV243Q087RUdoUEosdUJBRE07Q2R1cURUO0FXdDdDTztFR2hQSix1QkFETTtDZDBxRFQ7QVd6N0NPO0VHaFBKLFlBRE07Q2Q2cURUO0FXNTdDTztFR2hQSix1QkFETTtDZGdyRFQ7QVcvN0NPO0VHaFBKLHVCQURNO0NkbXJEVDtBV2w4Q087RUdoUEosYUFETTtDZHNyRFQ7QUt6bURLO0VNK0lFO0lHOVBKLG9CQUFBO1FBQUEsa0JBQUE7WUFBQSxjQUFBO0lBMkJBLGFBQUE7R2Rrc0REO0VXejlDRztJR2pRRixvQkFBQTtRQUFBLG1CQUFBO1lBQUEsZUFBQTtHZDZ0REQ7RVd0OUNLO0lHM09KLGFBQUE7R2Rvc0REO0VXaDlDSztJR2hQSixzQkFETTtHZG9zRFA7RVduOUNLO0lHaFBKLHVCQURNO0dkdXNEUDtFV3Q5Q0s7SUdoUEosWUFETTtHZDBzRFA7RVd6OUNLO0lHaFBKLHVCQURNO0dkNnNEUDtFVzU5Q0s7SUdoUEosdUJBRE07R2RndERQO0VXLzlDSztJR2hQSixZQURNO0dkbXREUDtFV2wrQ0s7SUdoUEosdUJBRE07R2RzdERQO0VXcitDSztJR2hQSix1QkFETTtHZHl0RFA7RVd4K0NLO0lHaFBKLFlBRE07R2Q0dERQO0VXMytDSztJR2hQSix1QkFETTtHZCt0RFA7RVc5K0NLO0lHaFBKLHVCQURNO0dka3VEUDtFV2ovQ0s7SUdoUEosYUFETTtHZHF1RFA7Q0FDRjtBS3BwREs7RU0wSUU7SUc5UEosb0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUEyQkEsYUFBQTtHZGt2REQ7RVd6Z0RHO0lHalFGLG9CQUFBO1FBQUEsbUJBQUE7WUFBQSxlQUFBO0dkNndERDtFV3RnREs7SUczT0osYUFBQTtHZG92REQ7RVdoZ0RLO0lHaFBKLHNCQURNO0dkb3ZEUDtFV25nREs7SUdoUEosdUJBRE07R2R1dkRQO0VXdGdESztJR2hQSixZQURNO0dkMHZEUDtFV3pnREs7SUdoUEosdUJBRE07R2Q2dkRQO0VXNWdESztJR2hQSix1QkFETTtHZGd3RFA7RVcvZ0RLO0lHaFBKLFlBRE07R2Rtd0RQO0VXbGhESztJR2hQSix1QkFETTtHZHN3RFA7RVdyaERLO0lHaFBKLHVCQURNO0dkeXdEUDtFV3hoREs7SUdoUEosWUFETTtHZDR3RFA7RVczaERLO0lHaFBKLHVCQURNO0dkK3dEUDtFVzloREs7SUdoUEosdUJBRE07R2RreERQO0VXamlESztJR2hQSixhQURNO0dkcXhEUDtDQUNGOztBV3poREs7RUN0VEUsb0JBQUE7RUFBQSx1QkFBQTtDWm8xRFA7QUt6c0RLO0VNMktBO0lDdFRFLGtCQUFBO0lBQUEscUJBQUE7R1p5MURMO0NBQ0Y7QVcvaERLO0VDM1RFLG9CQUFBO0VBQUEsdUJBQUE7Q1o4MURQO0FLbnRESztFTWdMQTtJQzNURSxrQkFBQTtJQUFBLHFCQUFBO0dabTJETDtDQUNGOztBVzN2REM7RUN6R00sb0JBQUE7RUFBQSx1QkFBQTtDWnkyRFA7QUs5dERLO0VNbENKO0lDekdNLGtCQUFBO0lBQUEscUJBQUE7R1o4MkRMO0NBQ0Y7QVdsd0RHO0VHOURBLDBCQURNO0VGckNKLG1CQUFBO0VBQUEsc0JBQUE7Q1oyMkRMO0FLenVESztFTXZCRTtJR3JFSiwwQkFETTtJRnJDSixpQkFBQTtJQUFBLG9CQUFBO0daaTNESDtDQUNGO0FXMXlEQztFRy9CRSxhQUFBO0NkNDBESDtBV3p5REM7RUcvQkUsYUFBQTtDZDIwREg7QVdweURHO0VHbkNBLG1DQURNO0NkMjBEVDtBV3Z5REc7RUduQ0Esb0NBRE07Q2Q4MERUO0FXMXlERztFR25DQSx5QkFETTtDZGkxRFQ7QVc3eURHO0VHbkNBLG9DQURNO0NkbzFEVDtBV2h6REc7RUduQ0Esb0NBRE07Q2R1MURUO0FXbnpERztFR25DQSx5QkFETTtDZDAxRFQ7QVd0ekRHO0VHbkNBLG9DQURNO0NkNjFEVDtBV3p6REc7RUduQ0Esb0NBRE07Q2RnMkRUO0FXNXpERztFR25DQSx5QkFETTtDZG0yRFQ7QVcvekRHO0VHbkNBLG9DQURNO0NkczJEVDtBV2wwREc7RUduQ0Esb0NBRE07Q2R5MkRUO0FXcjBERztFR25DQSwwQkFETTtDZDQyRFQ7QUsveERLO0VNckRKO0lHL0JFLGFBQUE7R2R1M0REO0VXcDFERDtJRy9CRSxhQUFBO0dkczNERDtFVy8wREM7SUduQ0EsbUNBRE07R2RzM0RQO0VXbDFEQztJR25DQSxvQ0FETTtHZHkzRFA7RVdyMURDO0lHbkNBLHlCQURNO0dkNDNEUDtFV3gxREM7SUduQ0Esb0NBRE07R2QrM0RQO0VXMzFEQztJR25DQSxvQ0FETTtHZGs0RFA7RVc5MURDO0lHbkNBLHlCQURNO0dkcTREUDtFV2oyREM7SUduQ0Esb0NBRE07R2R3NERQO0VXcDJEQztJR25DQSxvQ0FETTtHZDI0RFA7RVd2MkRDO0lHbkNBLHlCQURNO0dkODREUDtFVzEyREM7SUduQ0Esb0NBRE07R2RpNURQO0VXNzJEQztJR25DQSxvQ0FETTtHZG81RFA7RVdoM0RDO0lHbkNBLDBCQURNO0dkdTVEUDtDQUNGO0FLdDBESztFTTFESjtJRy9CRSxhQUFBO0dkbTZERDtFV2g0REQ7SUcvQkUsYUFBQTtHZGs2REQ7RVczM0RDO0lHbkNBLG1DQURNO0dkazZEUDtFVzkzREM7SUduQ0Esb0NBRE07R2RxNkRQO0VXajREQztJR25DQSx5QkFETTtHZHc2RFA7RVdwNERDO0lHbkNBLG9DQURNO0dkMjZEUDtFV3Y0REM7SUduQ0Esb0NBRE07R2Q4NkRQO0VXMTREQztJR25DQSx5QkFETTtHZGk3RFA7RVc3NERDO0lHbkNBLG9DQURNO0dkbzdEUDtFV2g1REM7SUduQ0Esb0NBRE07R2R1N0RQO0VXbjVEQztJR25DQSx5QkFETTtHZDA3RFA7RVd0NURDO0lHbkNBLG9DQURNO0dkNjdEUDtFV3o1REM7SUduQ0Esb0NBRE07R2RnOERQO0VXNTVEQztJR25DQSwwQkFETTtHZG04RFA7RVczNkREO0lHL0JFLGFBQUE7R2Q2OEREO0VXMTZERDtJRy9CRSxhQUFBO0dkNDhERDtFV3I2REM7SUduQ0EsbUNBRE07R2Q0OERQO0VXeDZEQztJR25DQSxvQ0FETTtHZCs4RFA7RVczNkRDO0lHbkNBLHlCQURNO0dkazlEUDtFVzk2REM7SUduQ0Esb0NBRE07R2RxOURQO0VXajdEQztJR25DQSxvQ0FETTtHZHc5RFA7RVdwN0RDO0lHbkNBLHlCQURNO0dkMjlEUDtFV3Y3REM7SUduQ0Esb0NBRE07R2Q4OURQO0VXMTdEQztJR25DQSxvQ0FETTtHZGkrRFA7RVc3N0RDO0lHbkNBLHlCQURNO0dkbytEUDtFV2g4REM7SUduQ0Esb0NBRE07R2R1K0RQO0VXbjhEQztJR25DQSxvQ0FETTtHZDArRFA7RVd0OERDO0lHbkNBLDBCQURNO0dkNitEUDtFV3I5REQ7SUcvQkUsYUFBQTtHZHUvREQ7RVdwOUREO0lHL0JF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cUJBQUE7SUF5QkksY0FBQTtHbEJnc0VMO0NBQ0Y7QUtsa0VLO0VNbVBFO0lBQ0UsWUFBQTtJTy9ZTixpQkFBQTtJQUNBLG1CQUFBO0lBQ0Esc0JBQUE7UUFBQSxrQkFBQTtJQUNBLDJCQUFBO1FBQUEsd0JBQUE7WUFBQSxxQkFBQTtJQXlCSSxjQUFBO0dsQjBzRUw7Q0FDRjs7QVdqMURLO0VBQ0UsYUFBQTtDWG8xRFA7QUtybEVLO0VNb1FFO0lBQ0UsYUFBQTtHWG8xRFA7Q0FDRjtBS3JsRUs7RU0rUEU7SUFDRSxhQUFBO0dYeTFEUDtDQUNGOztBVzVuRUM7RUN6R00sb0JBQUE7RUFBQSx1QkFBQTtDWjB1RVA7QUsvbEVLO0VNbENKO0lDekdNLGtCQUFBO0lBQUEscUJBQUE7R1ordUVMO0NBQ0Y7QVdub0VHO0VHOURBLDBCQURNO0VGckNKLG1CQUFBO0VBQUEsc0JBQUE7Q1o0dUVMO0FLMW1FSztFTXZCRTtJR3JFSiwwQkFETTtJRnJDSixpQkFBQTtJQUFBLG9CQUFBO0daa3ZFSDtDQUNGO0FXM3FFQztFRy9CRSxhQUFBO0NkNnNFSDtBVzFxRUM7RUcvQkUsYUFBQTtDZDRzRUg7QVdycUVHO0VHbkNBLG1DQURNO0NkNHNFVDtBV3hxRUc7RUduQ0Esb0NBRE07Q2Qrc0VUO0FXM3FFRztFR25DQSx5QkFETTtDZGt0RVQ7QVc5cUVHO0VHbkNBLG9DQURNO0NkcXRFVDtBV2pyRUc7RUduQ0Esb0NBRE07Q2R3dEVUO0FXcHJFRztFR25DQSx5QkFETTtDZDJ0RVQ7QVd2ckVHO0VHbkNBLG9DQURNO0NkOHRFVDtBVzFyRUc7RUduQ0Esb0NBRE07Q2RpdUVUO0FXN3JFRztFR25DQSx5QkFETTtDZG91RVQ7QVdoc0VHO0VHbkNBLG9DQURNO0NkdXVFVDtBV25zRUc7RUduQ0Esb0NBRE07Q2QwdUVUO0FXdHNFRztFR25DQSwwQkFETTtDZDZ1RVQ7QUtocUVLO0VNckRKO0lHL0JFLGFBQUE7R2R3dkVEO0VXcnRFRDtJRy9CRSxhQUFBO0dkdXZFRDtFV2h0RUM7SUduQ0EsbUNBRE07R2R1dkVQO0VXbnRFQztJR25DQSxvQ0FETTtHZDB2RVA7RVd0dEVDO0lHbkNBLHlCQURNO0dkNnZFUDtFV3p0RUM7SUduQ0Esb0NBRE07R2Rnd0VQO0VXNXRFQztJR25DQSxvQ0FETTtHZG13RVA7RVcvdEVDO0lHbkNBLHlCQURNO0dkc3dFUDtFV2x1RUM7SUduQ0Esb0NBRE07R2R5d0VQO0VXcnVFQztJR25DQSxvQ0FETTtHZDR3RVA7RVd4dUVDO0lHbkNBLHlCQURNO0dkK3dFUDtFVzN1RUM7SUduQ0Esb0NBRE07R2RreEVQO0VXOXVFQztJR25DQSxvQ0FETTtHZHF4RVA7RVdqdkVDO0lHbkNBLDBCQURNO0dkd3hFUDtDQUNGO0FLdnNFSztFTTFESjtJRy9CRSxhQUFBO0dkb3lFRDtFV2p3RUQ7SUcvQkUsYUFBQTtHZG15RUQ7RVc1dkVDO0lHbkNBLG1DQURNO0dkbXlFUDtFVy92RUM7SUduQ0Esb0NBRE07R2RzeUVQO0VXbHdFQztJR25DQSx5QkFETTtHZHl5RVA7RVdyd0VDO0lHbkNBLG9DQURNO0dkNHlFUDtFV3h3RUM7SUduQ0Esb0NBRE07R2QreUVQO0VXM3dFQztJR25DQSx5QkFETTtHZGt6RVA7RVc5d0VDO0lHbkNBLG9DQURNO0dkcXpFUDtFV2p4RUM7SUduQ0Esb0NBRE07R2R3ekVQO0VXcHhFQztJR25DQSx5QkFETTtHZDJ6RVA7RVd2eEVDO0lHbkNBLG9DQURNO0dkOHpFUDtFVzF4RUM7SUduQ0Esb0NBRE07R2RpMEVQO0VXN3hFQztJR25DQSwwQkFETTtHZG8wRVA7RVc1eUVEO0lHL0JFLGFBQUE7R2Q4MEVEO0VXM3lFRDtJRy9CRSxhQUFBO0dkNjBFRDtFV3R5RUM7SUduQ0EsbUNBRE07R2Q2MEVQO0VXenlFQztJR25DQSxvQ0FETTtHZGcxRVA7RVc1eUVDO0lHbkNBLHlCQURNO0dkbTFFUDtFVy95RUM7SUduQ0Esb0NBRE07R2RzMUVQO0VXbHpFQztJR25DQSxvQ0FETTtHZHkxRVA7RVdyekVDO0lHbkNBLHlCQURNO0dkNDFFUDtFV3h6RUM7SUduQ0Esb0NBRE07R2QrMUVQO0VXM3pFQztJR25DQSxvQ0FETTtHZGsyRVA7RVc5ekVDO0lHbkNBLHlCQURNO0dkcTJFUDtFV2owRUM7SUduQ0Esb0NBRE07R2R3MkVQO0VXcDBFQztJR25DQSxvQ0FETTtHZDIyRVA7RVd2MEVDO0lHbkNBLDBCQURNO0dkODJFUDtFV3QxRUQ7SUcvQkUsYUFBQTtHZHczRUQ7RVdyMUVEO0lHL0JFLGFBQUE7R2R1M0VEO0VXaDFFQztJR25DQSxtQ0FETTtHZHUzRVA7RVduMUVDO0lHbkNBLG9DQURNO0dkMDNFUDtFV3QxRUM7SUduQ0EseUJBRE07R2Q2M0VQO0VXejFFQztJR25DQSxvQ0FETTtHZGc0RVA7RVc1MUVDO0lHbkNBLG9DQURNO0dkbTRFUDtFVy8xRUM7SUduQ0EseUJBRE07R2RzNEVQO0VXbDJFQztJR25DQSxvQ0FETTtHZHk0RVA7RVdyMkVDO0lHbkNBLG9DQURNO0dkNDRFUDtFV3gyRUM7SUduQ0EseUJBRE07R2QrNEVQO0VXMzJFQztJR25DQSxvQ0FETTtHZGs1RVA7RVc5MkVDO0lHbkNBLG9DQURNO0dkcTVFUDtFV2ozRUM7SUduQ0EsMEJBRE07R2R3NUVQO0NBQ0Y7O0FXaGtFRztFTy9ZSSwyQkFBQTtDbEJtOUVQO0FLaDFFSztFTTRRRjtJTy9ZSSwyQkFBQTtHbEJ1OUVMO0NBQ0Y7QUtoMUVLO0VNdVFGO0lPL1lJLDJCQUFBO0dsQjQ5RUw7Q0FDRjs7QUsxMUVLO0VNZ1JBO0lPblpFLDJCQUFBO0dsQmsrRUw7Q0FDRjtBSzMxRUs7RU0yUUE7SU9uWkUsMkJBQUE7R2xCdStFTDtDQUNGO0FtQjV3RUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBQTtFQUNBLFdBQUE7Q25COHdFSDs7QW1CMXdFQztFQUNFLG9CaEJ0RHNCO0VnQndEdEIsbUJBQUE7RUFDQSxpQmhCMURtQjtFZ0IyRG5CLG1DaEJ6RHVCO0NIcTBFMUI7O0FtQnh3RUM7O0VBRUUsbUJBQUE7RUFDQSxxQkFBQTtDbkIyd0VIOztBbUJ2d0VDOztFQUVFLGtCaEI3S2lCO0VnQjhLakIscUJBQUE7Q25CMHdFSDs7QW1CdHdFQztFQUNFLGtCaEJoRmM7RWdCaUZkLHFCQUFBO0NuQnl3RUg7O0FtQnJ3RUM7Ozs7OztFQU1FLDJEaEJwTWU7RWdCcU1mLG1CaEJ6SGdCO0VnQjBIaEIsaUJoQjNIaUI7RWdCNEhqQixlQzNNZ0I7RUQ0TWhCLG1DaEJoR29CO0NIdzJFdkI7QW1CdHdFRzs7Ozs7O0VBQ0UsZUFBQTtFQUNBLGVWbFRVO0NUK2pGZjs7QW1CcHdFTztFQUlJLG9CQURpQjtFQVNqQixpQkFBQTtFQVlBLGNBQUE7RUFPQSxzQkFBQTtDbkI0dUVYOztBbUIzd0VPO0VBSUksbUJBRGlCO0VBU2pCLG1CQUFBO0VBWUEsY0FBQTtFQU9BLHNCQUFBO0NuQm12RVg7O0FtQmx4RU87RUFJSSxrQkFEaUI7RUFTakIsbUJBQUE7RUFZQSxjQUFBO0VBT0Esc0JBQUE7Q25CMHZFWDs7QW1CenhFTztFQUlJLG1CQURpQjtFQVNqQixpQkFBQTtFQVlBLGNBQUE7RUFPQSxzQkFBQTtDbkJpd0VYOztBbUJoeUVPO0VBSUksb0JBRGlCO0VBU2pCLG1CQUFBO0VBWUEsY0FBQTtFQU9BLHNCQUFBO0NuQnd3RVg7O0FtQnZ5RU87RUFJSSxnQkFEaUI7RUFTakIsbUJBQUE7RUFZQSxjQUFBO0VBT0Esc0JBQUE7Q25CK3dFWDs7QUtuOUVLO0VjcUtFO0lBSUksa0JBRGlCO0lBU2pCLGlCQUFBO0duQnd5RVQ7RW1CcHpFSztJQUlJLG1CQURpQjtJQVNqQixtQkFBQTtHbkI0eUVUO0VtQnh6RUs7SUFJSSxnQkFEaUI7SUFTakIsbUJBQUE7R25CZ3pFVDtFbUI1ekVLO0lBSUksa0JBRGlCO0lBU2pCLGtCQUFBO0duQm96RVQ7RW1CaDBFSztJQUlJLG1CQURpQjtJQVNqQixrQkFBQTtHbkJ3ekVUO0VtQnAwRUs7SUFJSSxvQkFEaUI7SUFTakIsbUJBQUE7R25CNHpFVDtDQUNGO0FtQmx5RUM7RUFDRSxxQkFBQTtFQUNBLGVDbFFnQjtFRG1RaEIsc0JoQnpJcUI7RWdCMklyQixnQkFBQTtDbkJteUVIO0FtQmp5RUc7RUFFRSxnQ2hCaEplO0VnQmtKYiwyQmhCaEp1QjtDSGk3RTlCO0FtQjd4RUc7RUFDRSxVQUFBO0NuQit4RUw7O0FtQjF4RUM7RUFDRSxZQUFBO0VBRUEsaUJoQnJUVztFZ0JzVFgsVUFBQTtFQUNBLHFCaEI1SlE7RWdCOEpSLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGlDaEJqS1E7RWdCa0tSLGVBQUE7Q25CMnhFSDs7QW1CdnhFQzs7O0VBR0Usb0JoQnRMc0I7RWdCdUx0Qiw2QmhCcktrQjtFZ0JzS2xCLGlCaEJ6TG1CO0NIbTlFdEI7O0FtQnR4RUM7RUFDRSxtQkFBQTtDbkJ5eEVIOztBbUJyeEVDO0VBQ0UscUJoQi9LZTtFZ0JnTGYsc0JoQmxMYztDSDA4RWpCOztBbUJweEVDO0VBQ0UscUJoQnJMZTtDSDQ4RWxCOztBbUJseEVHO0VBQ0UscUJoQjFMb0I7RWdCMkxwQixpQkFBQTtDbkJxeEVMOztBbUJoeEVDO0VBQ0Usb0JoQmhNcUI7Q0htOUV4QjtBbUJqeEVHO0VBQ0Usc0JoQmpNd0I7RWdCa014QixrQmhCL1RlO0NIa2xGcEI7O0FtQjl3RUM7RUFDRSxpQkFBQTtFQUNBLG1CaEJ2TWlCO0VnQndNakIsK0JoQnZNZ0I7Q0h3OUVuQjtBbUIvd0VHO0VBQ0UsaUJoQnJPaUI7RWdCc09qQixlaEJ6VkU7Q0gwbUZQOztBbUI1d0VDO0VBQ0UsZUFBQTtFQUNBLGdCaEJqTmE7RWdCa05iLGVWL2JZO0NUOHNGZjtBbUI3d0VHO0VBQ0UsWWhCbk5nQjtDSGsrRXJCOztBbUIxd0VDO0VBQ0Usa0NoQm5OYTtFZ0JvTmIsYUFBQTtFQUNBLHNCQUFBO0NuQjZ3RUg7O0FtQnp3RUM7RUFDRSxVQUFBO0NuQjR3RUg7O0FtQnh3RUM7RUFDRSxzQ2hCM1BXO0VnQjZQWCwwQmhCOVBVO0VnQitQViwwQlZ4ZFE7RVUwZFIsNkRoQnRTb0I7RWdCdVNwQixvQmhCL1dtQjtFZ0JnWG5CLGVoQjdYSTtDSHNvRlA7O0FtQnJ3RUM7RUFDRSxVQUFBO0VBQ0EsNEJoQjlPZ0I7RWdCZ1BoQiwwQlZwZVE7RVVzZVIsNkRoQmxUb0I7RWdCbVRwQixlaEJ4WUk7Q0g4b0ZQOztBcUI3c0ZDO0VBQ0UsbUJsQitObUI7RWtCOU5uQixzQmxCK05zQjtFa0I3TnRCLG9CbEJ3RW1CO0VrQnZFbkIsaUJsQndObUI7RWtCdk5uQixlWjNDUTtDVDB2Rlg7O0FxQjNzRkM7RUFDRSxrQmxCZ05hO0VrQi9NYixpQmxCZ05jO0NIOC9FakI7O0FxQjFzRkM7RUFDRSxrQmxCaU5hO0VrQmhOYixlQUFBO0NyQjZzRkg7QXFCM3NGRztFQUNFLGtCQUFBO0NyQjZzRkw7O0FxQnZzRkc7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7Q3JCMHNGTDs7QXNCeHdGUztFQUNFLGlCQVJVO0N0Qm14RnJCOztBc0I1d0ZTO0VBQ0Usa0JBUlU7Q3RCdXhGckI7O0FzQmh4RlM7RUFDRSxtQkFSVTtDdEIyeEZyQjs7QXNCcHhGUztFQUNFLG9CQVJVO0N0Qit4RnJCOztBS2hvRks7RWlCN0pJO0lBQ0UsaUJBSFU7R3RCb3lGbkI7RXNCbHlGTztJQUNFLGtCQUhVO0d0QnV5Rm5CO0VzQnJ5Rk87SUFDRSxtQkFIVTtHdEIweUZuQjtFc0J4eUZPO0lBQ0Usb0JBSFU7R3RCNnlGbkI7Q0FDRjtBSzFvRks7RWlCbEtJO0lBQ0UsaUJBSFU7R3RCa3pGbkI7RXNCaHpGTztJQUNFLGtCQUhVO0d0QnF6Rm5CO0VzQm56Rk87SUFDRSxtQkFIVTtHdEJ3ekZuQjtFc0J0ekZPO0lBQ0Usb0JBSFU7R3RCMnpGbkI7Q0FDRjtBdUJsekZDO0VBQWtCLHlCQUFBO0N2QnF6Rm5COztBdUJuekZDO0VBQ0U7SUFFSSxtQ0FBQTtJQUdGLG9DQUFBO1lBQUEsNEJBQUE7SUFFQSx3QkFBQTtJQUNBLDZCQUFBO0d2Qmt6Rkg7RXVCL3lGQztJQUFrQiwwQkFBQTtHdkJrekZuQjtFdUJqekZDO0lBQWtCLHlCQUFBO0d2Qm96Rm5CO0V1Qmx6RkM7SUFBdUIsMEJBQUE7R3ZCcXpGeEI7RXVCcHpGQztJQUF1Qix1Q0FBQTtHdkJ1ekZ4QjtFdUJ0ekZDO0lBQXVCLG9DQUFBO0d2Qnl6RnhCO0V1Qnh6RkM7SUFBb0IsOEJBQUE7R3ZCMnpGckI7RXVCMXpGQztJQUFvQiwrQkFBQTtHdkI2ekZyQjtFdUI1ekZDO0lBQW9CLCtCQUFBO0d2Qit6RnJCO0V1QjV6RkM7O0lBQ1ksMkJBQUE7R3ZCK3pGYjtFdUI3ekZHO0lBQWdCLDZCQUFBO0d2QmcwRm5CO0V1QjV6RkM7OztJQUVxQixZQUFBO0d2Qit6RnRCO0V1QjV6RkM7SUFBb0IsOEJBQUE7R3ZCK3pGckI7RXVCNXpGQzs7SUFFRSwwQkFBQTtJQUNBLHlCQUFBO0d2Qjh6Rkg7RXVCMXpGQztJQUFRLDRCQUFBO0d2QjZ6RlQ7RXVCM3pGQzs7SUFDTSx5QkFBQTtHdkI4ekZQO0V1QjV6RkM7SUFBTSwyQkFBQTtHdkIrekZQO0V1Qjd6RkM7SUFBUSxjQUFBO0d2QmcwRlQ7RXVCOXpGQzs7O0lBR0UsV0FBQTtJQUNBLFVBQUE7R3ZCZzBGSDtFdUI1ekZDOztJQUNLLHdCQUFBO0d2Qit6Rk47RXVCNXpGQztJQUNFLHdCQUFBO0d2Qjh6Rkg7Q0FDRjtBd0J6eEZDOztFQXJDQSxlQUFBO0VBQ0EsK0JBQUE7VUFBQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFMUztFQU1ULGlCQUFBO0VBQ0EsdUJyQmthYztFcUJoYWQsMEJyQjhaYTtFcUI3WmIsd0JyQm9DWTtFcUJuQ1osMEJmbEZnQjtFZW1GaEIseUJyQjhaYTtVcUI5WmIsaUJyQjhaYTtFcUI1WmIscUJyQmlaa0I7RXFCaFpsQixnQnJCaVpnQjtFcUJoWmhCLG9CckJzQnFCO0VxQnJCckIsaUJyQmhCa0I7RXFCaUJsQixlckJPTTtFcUJKSixtRHJCd1plO0VxQnhaZiwyQ3JCd1plO0VxQm5ZZix5QkFBQTtLQUFBLHNCQUFBO1VBQUEsaUJBQUE7Q3hCMHlGSDtBd0IzekZDOztFQUNFLGNBQUE7RUFDQSwwQnJCNllpQjtFcUI1WWpCLDBCZm5HYztFZW9HZCx5QnJCOFlpQjtVcUI5WWpCLGlCckI4WWlCO0VxQjNZZixtRHJCNllhO0VxQjdZYiwyQ3JCNllhO0NIKzZFbEI7O0F3Qjl5RkM7RUFDRSxnQkFBQTtDeEJpekZIO0F3Qi95Rkc7RUFDRSxhQUFBO0N4Qml6Rkw7O0F3QjF5Rkc7OztFQUVFLDBCZmpJTTtF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O0VPd0NOLHNPQUFBO0VvQjlHRSwrQkFBQTtFQUNBLHdDQUFBO0VBQ0EsNkJBQUE7RUFDQSx5QkFBQTtFQUVBLHNCQUFBO0VBSUEsbUQzQmlkZTtFMkJqZGYsMkMzQmlkZTtDSHNtRmxCO0FVaDlGQztFb0J0RUE7SXBCeUVJLHdXQUFBO0dWaTlGSDtDQUNGO0E4QnhqR0M7RUFDRSxjQUFBO0VBQ0EsMEIzQnNjaUI7RTJCcmNqQiwwQnJCMUNjO0VxQjJDZCx5QjNCdWNpQjtVMkJ2Y2pCLGlCM0J1Y2lCO0UyQnBjZixtRDNCc2NhO0UyQnRjYiwyQzNCc2NhO0NIa25GbEI7QThCbmpHQztFQUNFLDBCckJuRFE7RXFCb0RSLG9CM0I4Ym9CO0NIdW5GdkI7QThCampHQztFQUNFLGNBQUE7QzlCbWpHSDtBOEJoakdDO0VBQ0UsYUFBQTtFQUNBLHVCQUFBO0M5QmtqR0g7O0ErQm5sR0M7RUFDRSxzQnRCckNhO0VzQnNDYiwyQ0FBQTtDL0JzbEdIO0ErQnBsR0c7RUFDRSxldEJ6Q1c7Q1QrbkdoQjtBK0J2bEdHO0VBQ0UsZXRCekNXO0NUK25HaEI7QStCdmxHRztFQUNFLGV0QnpDVztDVCtuR2hCO0ErQnZsR0c7RUFDRSxldEJ6Q1c7Q1QrbkdoQjtBK0J2bEdHO0VBQ0UsZXRCekNXO0NUK25HaEI7O0ErQjVqR0c7RUFDRSxldEJwRVc7Q1Rtb0doQjs7QStCMWpHQztFQXpCQSxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQjVCeWFhO0U0QnZhYixtQjVCK05zQjtFNEI5TnRCLGtCNUIrRG1CO0U0QjlEbkIsZXRCdERlO0NUNG9HaEI7QStCaGtHRztFQUNFLGVBQUE7Qy9Ca2tHTDs7QWdDM2dHQztFQXhGQSxlQUFBO0VBQ0Esd0I3QjRPcUI7RTZCM09yQixzQkFBQTtDaEN1bUdEO0FnQ3BtR0c7RUFDRSxvQkFBQTtDaENzbUdMOztBZ0MvbEdDO0VBQ0UsdUJBQUE7Q2hDa21HSDtBZ0MvbEdDO0VBQ0UsdUJBQUE7Q2hDaW1HSDs7QWdDbmhHQztFQWxFQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxvQjdCa051QjtFNkJoTnZC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RUFFRSxlQUFBO0VBQ0EsYUFBQTtFQUdFLDJCQUFBO01BQUEsY0FBQTtFQUNBLDZCQUFBO01BQUEsa0JBQUE7VUFBQSxTQUFBO0NWOG5JTDtBVTFuSUM7RUFDRSxZQUFBO0NWNG5JSDtBNkMvdElDO0VBQ0Usd0IxQ2loQnNCO0UwQ2hoQnRCLHlCMUNpaEJnQjtFMENoaEJoQixvQjFDMmdCbUI7RTBDcmdCakIsY0FBQTtDN0M0dElMO0E2QzF0SUs7RUFFRSxzQkFBQTtDN0MydElQO0FLcHBJSztFd0NwRko7SUF1Qk0sc0JBQUE7RzdDcXRJTDtDQUNGO0E2Q2h0SUM7O0VBRUUsZUFBQTtFQUNBLDRCMUNpZnNCO0UwQ2hmdEIseUIxQ2tmZ0I7RTBDamZoQixlcENwR1k7Q1RzeklmO0E2Q2h0SUc7O0VBQ0Usb0JwQ3RHTztDVHl6SVo7QTZDdHFJRztFQWxDRiw0QjFDaWV3QjtFMENoZXhCLG9CcENsSFc7RW9DbUhYLGV6QmxCa0I7RXlCbUJsQixnQkFBQTtDN0Myc0lEO0E2Q3hxSUc7RUEzQkYsNEIxQ3Nkd0I7RTBDcmR4QixlcEM5SGM7RW9DK0hkLG9CQUFBO0M3Q3NzSUQ7QTZDcHNJQztFQUNFLHdCQUFBO0M3Q3NzSUg7QTZDNXFJRztFQWpCRiw0QjFDd2N3QjtFMEN2Y3hCLGFBQUE7RUFDQSxlcEM3SWM7Q1Q2MElmOztBTXp0SUM7RUFDRSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtDTjR0SUg7QU0xdElHO0VBQ0UsbUJBQUE7Q040dElMO0FNenRJRztFQUNFLG1CQUFBO0NOMnRJTDs7QU10dElDO0VBM0ZBLGdCQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTtFQUNBLGNIOHVCYztFRzV1QmQsY0FBQTtFQUNBLHlDSDR1QjBCO0VHM3VCMUIsaUJBQUE7Q05veklEOztBTTd0SUM7RUFqRkEsY0FBQTtFQUVBLG9DQUFBO1VBQUEsNEJBQUE7RUFFQSxjQUFBO0VBQ0EsZ0JINkNlO0VHM0NmLDBCSDJ0QmM7RUcxdEJkLGlCSDhDYztFRzdDZCwwQkcvRFc7RUgwSVQsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0NOcXVJSDtBVTNySUM7RUFDRSxXQUFBO0NWNnJJSDtBS2p1SUs7RUNkSjtJQXJFRSxjQUFBO0dOd3pJRDtDQUNGO0FNcnpJQztFQUNFLGFBQUE7Q051eklIO0FNbnpJQztFQUNFLGlCQUFBO0NOcXpJSDtBSzV1SUs7RUNkSjtJQTdDRSxhSDJyQlc7SUcxckJYLGlCSHZCVztHSGswSVo7Q0FDRjtBTXR2SUc7RUFDRSxXQUFBO0NOd3ZJTDtBS3J2SUs7RUNDRjtJQTVEQSxXQTREc0M7SUEzRHRDLGlCSHZCVztHSDIwSVo7Q0FDRjtBSzN2SUs7RUNFRjtJQTdEQSxXQTZEc0M7SUE1RHRDLGlCSHZCVztHSGkxSVo7Q0FDRjtBS2p3SUs7RUNHRjtJQTlEQSxXQThEc0M7SUE3RHRDLGlCSHZCVztHSHUxSVo7Q0FDRjtBTWp3SUc7RUExREYsT0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTtFQUVBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFFQSxVQUFBO0VBQ0EsaUJBQUE7Q040eklEO0FLL3dJSztFQ25CSjtJQXRDQSxPQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7SUFDQSxRQUFBO0lBRUEsWUFBQTtJQUNBLGdCQUFBO0lBQ0EsYUFBQTtJQUNBLGlCQUFBO0lBQ0EsZUFBQTtJQUVBLFVBQUE7SUFDQSxpQkFBQTtHTjAwSUM7Q0FDRjtBTXJ4SUc7RUFDRSxnQkFBQTtDTnV4SUw7O0E4QzVwSUM7RUE5R0EsMEJBQUE7RUFDQSxZQUFBO0VBQ0Esb0IzQzVFYztFMkM2RWQsaUIzQ3hFYztDSHMxSWY7QThDcjJJQzs7O0VBR0UsMkMzQ2d1Qlc7RTJDL3RCWCwwQnJDcEdjO0NUMjhJakI7O0E4Q24ySUM7RUFDRSxrQzNDMnRCWTtFMkMxdEJaLGtCM0NJaUI7Q0hrMklwQjs7QThDbDJJQztFQUNFLHdDM0M0dEJvQjtFMkMzdEJwQixlckNwSFE7Q1R5OUlYOztBOENqMklDO0VBQ0UscUMzQ3d0Qm9CO0UyQ3Z0QnBCLGVyQzFIUTtDVDg5SVg7O0E4QzcxSUc7O0VBQ0Usd0JBQUE7QzlDaTJJTDtBOEM3MUlHOzs7O0VBRUUsa0MzQ2dzQlU7RTJDL3JCVixrQjNDdkJlO0UyQ3dCZixpQkFBQTtDOUNpMklMOztBOEMzMUlHOztFQUVFLGtDM0NzckJVO0NId3FIZjs7QThDcDZJSztFQUNFLGlCQUFBO0VBQ0EsMkMzQyt2Qm1CO0NId3FIMUI7O0E4Q3gxSUs7RUFFRSwwQnJDM0pVO0NUcS9JakI7QThDNzVJQztFQUNFLGlCQUFBO0VBQ0Esa0QzQ3l1Qlc7RTJDeHVCWCwwQnJDM0ZjO0NUMC9JakI7O0FLNzFJSztFeUNnSEY7SUFDRSxjQUFBO0c5Q2l2SUg7RThDN3VJRDtJQUNFLGNBQUE7RzlDK3VJRDtFOEM1dUlEOzs7SUFHRSxlQUFBO0c5Qzh1SUQ7RThDM3VJRDtJQUNFLGNBQUE7RzlDNnVJRDtDQUNGOztBOEMvdElDO0VBdkdBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QzlDMDBJRDs7QThDbjBJRztFQUNFLDhDM0M2bkJpQjtDSHlzSHRCO0E4Q2gwSUc7RUFDRSwyQzNDd25CaUI7Q0gwc0h0QjtBOEM1eklHO0VBQ0UsMkMzQ3ltQlk7Q0hxdEhqQjtBOEN2eklLO0VBQ0UsOEMzQ2ttQmlCO0NIdXRIeEI7O0E4QzF1SUM7RUFDRSxpQkFBQTtDOUM2dUlIOztBK0NqNklDO0VBakZBLFU1Q3V5Qlc7RTRDdHlCWCx1QkFBQTtFQUNBLHdCNUNzeUJlO0U0Q3J5QmYsc0JBQUE7Qy9Dcy9JRDtBVTk0SUM7RUFFRSxlQUFBO0VBQ0EsYUFBQTtFQUdFLDJCQUFBO01BQUEsY0FBQTtFQUNBLDZCQUFBO01BQUEsa0JBQUE7VUFBQSxTQUFBO0NWNjRJTDtBVXo0SUM7RUFDRSxZQUFBO0NWMjRJSDs7QStDMS9JQztFQUNFLGVBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtDL0M2L0lIOztBK0M1NklHO0VBQ0UsV0FBQTtDL0MrNklMO0ErQzc2SUs7RUFDRSx3QkFBQTtDL0MrNklQOztBK0N6NklDO0VBQ0Usb0IzQm5EZ0I7Q3BCKzlJbkI7QStDMTZJRztFQUNFLGVBQUE7Qy9DNDZJTDtBK0MxNklLO0VBRUUsNkRBQUE7Qy9DMjZJUDs7QStDdDZJQztFQTNGQSxZQUFBO0MvQ3FnSkQ7QStDbmdKQztFQUVFLGVBQUE7RUFDQSxXNUNpeEJlO0U0Q2h4QmYsbUI1Qzh3QmlCO0U0Qzd3QmpCLGVBQUE7RUFDQSxlM0JvQmdCO0NwQmcvSW5CO0FVejVJQztFQUNFLFdBQUE7Q1YyNUlIO0ErQ3JnSkc7RUFDRSxvQnRDaEZPO0VzQ2lGUCxnQ0FBQTtDL0N1Z0pMO0ErQ3BnSkc7RUFFRSx3QjVDaXdCa0I7RTRDaHdCbEIsZTNCVWM7Q3BCMi9JbkI7O0ErQ3g3SUM7RUFsRUEsdUJBQUE7RUFDQSxjQUFBO0VBQ0Esd0I1Q3l2QnVCO0U0Q3h2QnZCLGV0QzVHVTtFc0M2R1Ysa0NBQUE7RUFBQSwwQkFBQTtDL0M4L0lEOztBK0M1N0lDO0VBM0RBLHVCQUFBO0VBQ0EsZUFBQTtDL0MyL0lEOztBK0M3N0lDO0VBdkRBLGNBQUE7RUFDQSxXNUMwdUJvQjtDSDh3SHJCO0ErQ3QvSUM7RUFDRSxlQUFBO0MvQ3cvSUg7O0FnRGxrSkM7RUFDRSx5QkFBQTtDaERxa0pIOztBZ0Rsa0pDO0VBQ0UsbUJBQUE7Q2hEcWtKSDs7QUsvOUlLO0UyQ3ZGRjtJQTFCQSx5QkFBQTtHaERxbEpEO0NBQ0Y7O0FnRHptSkc7RUFpREE7SUFoREUseUJBQUE7R2hENm1KSDtDQUNGOztBS2gvSUs7RTJDM0ZBO0lBekJGLHlCQUFBO0doRHltSkQ7Q0FDRjs7QUtqL0lLO0UyQzVGQTtJQWpFRix5QkFBQTtHaERtcEpEO0NBQ0Y7O0FLdi9JSztFMkN2RkY7SUExQkEseUJBQUE7R2hENm1KRDtDQUNGOztBZ0Rqb0pHO0VBaURBO0lBaERFLHlCQUFBO0doRHFvSkg7Q0FDRjs7QUtuZ0pLO0UyQ2hHQTtJQXpCRix5QkFBQTtHaERpb0pEO0NBQ0Y7O0FLemdKSztFMkM1RkE7SUFqRUYseUJBQUE7R2hEMnFKRDtDQUNGOztBSy9nSks7RTJDdkZGO0lBMUJB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dERwQlU7RXNEcUJWLDBCdERyQlU7RXNEc0JWLGV0RHJCSTtFc0RzQkoscUJBQUE7RUFDQSxvQkFBQTtDL0RvNkxQO0ErRGo0TEc7RUFHSSxzQkFBQTtDL0RpNExQO0ErRHowTEc7RUMzQ0Ysc0JBQUE7RUFDQSx1QkFBQTtFQUNBLFU3RGdRYztFNkR0UFosdUI3RHFQYTtFNkRsUGYsOEJBQUE7RUFDQSx5QjdEMlBjO0U2RDFQZCwwRTdEc1FrQjtFNkR0UWxCLGtFN0RzUWtCO0U2RHJRbEIscUI3RDhPbUI7RTZEN09uQixlQUFBO0VBQ0EseUJBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQXFDQSwwQjVDOUJvQjtFNEMrQnBCLGU1Q3BDa0I7RTJDdEdoQiwrQkFBQTtFQUNBLDhCQUhtQjtFQUluQixldERHUztFc0RnRFQsbUJBQUE7RUFDQSx1QjVEOFJrQjtFNEQ3UmxCLHVDQUFBO0VBQUEsK0JBQUE7RUFDQSxrQjVEd0RpQjtFNER2RGpCLGtCQUFBO0VBQ0EsMEJBQUE7S0FBQSx1QkFBQTtNQUFBLHNCQUFBO1VBQUEsa0JBQUE7RUFDQSxnQkFBQTtDL0RpNkxIO0FVL3hMQztFQUNFLFdBQUE7Q1ZpeUxIO0FnRW4xTEM7RUFDRSwwQjVDdkNnQjtFNEN3Q2hCLGU1Q3hDZ0I7Q3BCNjNMbkI7QStELzlMRztFQUVJLHNCM0NxR2M7RTJDcEdkLDhCQVRlO0VBVWYsZTNDbUdjO0NwQjYzTHJCO0ErRDU5TEc7RUFFSSxhQUFBO0VBQ0EsbUNBdUIwQjtFQXRCMUIsOEJBbEJlO0VBbUJmLDRCQW9CbUI7Qy9EeThMMUI7QStEMTlMRztFQUVJLHNCdERwQlU7RXNEcUJWLDBCdERyQlU7RXNEc0JWLGV0RHJCSTtFc0RzQkoscUJBQUE7RUFDQSxvQkFBQTtDL0QyOUxQO0ErRHg3TEc7RUFHSSxzQkFBQTtDL0R3N0xQO0ErRDUzTEc7RUMvQ0Ysc0JBQUE7RUFDQSx1QkFBQTtFQUNBLFU3RGdRYztFNkR0UFosdUI3RHFQYTtFNkRsUGYsOEJBQUE7RUFDQSx5QjdEMlBjO0U2RDFQZCwwRTdEc1FrQjtFNkR0UWxCLGtFN0RzUWtCO0U2RHJRbEIscUI3RDhPbUI7RTZEN09uQixlQUFBO0VBQ0EseUJBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQXFDQSwwQjVDOUJvQjtFNEMrQnBCLGU1Q3BDa0I7RTRDbUNsQiwwQnZEdElVO0V1RHVJVixlNUNwQ2tCO0UyQ2pEaEIsbUJBQUE7RUFDQSx1QjVEOFJrQjtFNEQ3UmxCLHVDQUFBO0VBQUEsK0JBQUE7RUFDQSxrQjVEd0RpQjtFNER2RGpCLGtCQUFBO0VBQ0EsMEJBQUE7S0FBQSx1QkFBQTtNQUFBLHNCQUFBO1VBQUEsa0JBQUE7RUFDQSxnQkFBQTtDL0R1OUxIO0FVcjFMQztFQUNFLFdBQUE7Q1Z1MUxIO0FnRXo0TEM7RUFDRSwwQjVDdkNnQjtFNEN3Q2hCLGU1Q3hDZ0I7Q3BCbTdMbkI7QWdFNzRMQztFQUNFLDhDRHBHdUM7RUNxR3ZDLGU1Q3hDZ0I7Q3BCdTdMbkI7QStEaCtMRztFQUdJLHNCQUFBO0VBR0ksMENBQUE7Qy9EODlMWDtBK0RqNkxHO0VDbkRGLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxVN0RnUWM7RTZEdFBaLHVCN0RxUGE7RTZEbFBmLDhCQUFBO0VBQ0EseUI3RDJQYztFNkQxUGQsMEU3RHNRa0I7RTZEdFFsQixrRTdEc1FrQjtFNkRyUWxCLHFCN0Q4T21CO0U2RDdPbkIsZUFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFxQ0EsMEI1QzlCb0I7RTRDK0JwQixlNUNwQ2tCO0U0Q21DbEIsOEJEMUY0QjtFQzJGNUIsZTVDcENrQjtFMkN0RFosaUJBQUE7RUFDQSxnQkFBQTtFQUlKLG1CQUFBO0VBQ0EsdUI1RDhSa0I7RTREN1JsQix1Q0FBQTtFQUFBLCtCQUFBO0VBQ0Esa0I1RHdEaUI7RTREdkRqQixrQkFBQTtFQUNBLDBCQUFBO0tBQUEsdUJBQUE7TUFBQSxzQkFBQTtVQUFBLGtCQUFBO0VBQ0EsZ0JBQUE7Qy9Ea2dNSDtBVWg0TEM7RUFDRSxXQUFBO0NWazRMSDtBZ0VwN0xDO0VBQ0UsMEI1Q3ZDZ0I7RTRDd0NoQixlNUN4Q2dCO0NwQjg5TG5CO0FnRXg3TEM7RUFDRSw4QkQ5RnVDO0VDK0Z2QyxlNUN4Q2dCO0NwQmsrTG5CO0ErRDNnTUc7RUFHSSxzQkFBQTtFQU9JLDBCQUFBO0MvRHFnTVg7QStEeDhMRztFQ3ZERixzQkFBQTtFQUNBLHVCQUFBO0VBQ0EsVTdEZ1FjO0U2RHRQWix1QjdEcVBhO0U2RGxQZiw4QkFBQTtFQUNBLHlCN0QyUGM7RTZEMVBkLDBFN0RzUWtCO0U2RHRRbEIsa0U3RHNRa0I7RTZEclFsQixxQjdEOE9tQjtFNkQ3T25CLGVBQUE7RUFDQSx5QkFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBcUNBLDBCNUM5Qm9CO0U0QytCcEIsZTVDcENrQjtFNENtQ2xCLDBCdkR2SWdCO0V1RHdJaEIsZTVDcENrQjtFMkNqRGhCLG1CQUFBO0VBQ0EsdUI1RDhSa0I7RTREN1JsQix1Q0FBQTtFQUFBLCtCQUFBO0VBQ0Esa0I1RHdEaUI7RTREdkRqQixrQkFBQTtFQUNBLDBCQUFBO0tBQUEsdUJBQUE7TUFBQSxzQkFBQTtVQUFBLGtCQUFBO0VBQ0EsZ0JBQUE7Qy9EMmlNSDtBVXo2TEM7RUFDRSxXQUFBO0NWMjZMSDtBZ0U3OUxDO0VBQ0UsMEI1Q3ZDZ0I7RTRDd0NoQixlNUN4Q2dCO0NwQnVnTW5CO0FnRWorTEM7RUFDRSw4Q0RsRzZDO0VDbUc3QyxlNUN4Q2dCO0NwQjJnTW5CO0ErRHBqTUc7RUFHSSxzQkFBQTtDL0Rvak1QO0ErRDUrTEc7RUM3QkEsZUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUQ0Qkksb0JBQUE7Qy9EaS9MUDtBK0Q5K0xHO0VDbENBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0NoRW1oTUg7QUt2K0xLO0UwRGJGO0lDNUJBLHNCQUFBO0lBQ0EsWUFBQTtJQUNBLFU3RDROWTtHSHd6TGI7Q0FDRjtBK0RuL0xHO0VBQ0ksb0JBQUE7Qy9EcS9MUDtBK0RuL0xPO0U3RHZHSixtQkFEaUM7RUFF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b25QakI7QWlGamhQRztFQUNJLDBCeEV0RWU7Q1R5bFB0QjtBaUZqaFBPO0VBQ0ksMEJ4RXpFVztDVDRsUHRCO0FpRi9nUEc7RUFDSSxpQkFBQTtDakZpaFBQO0FpRjlnUEc7RXJFcEZFLGtCQUFBO0VBQUEscUJBQUE7Q1pzbVBMO0FpRjlnUEc7RXJFeEZFLGtCQUFBO0VBQUEscUJBQUE7Q1owbVBMO0FpRjlnUEc7RXJFNUZFLGtCQUFBO0VBQUEscUJBQUE7Q1o4bVBMO0FpRjlnUEc7RXJFaEdFLHFCQUFBO0NaaW5QTDtBaUY3Z1BHO0VyRXBHRSxrQkFBQTtDWm9uUEw7QWlGNWdQRztFckV4R0Usa0JBQUE7Q1p1blBMO0FpRjNnUEc7RXJFNUdFLHFCQUFBO0NaMG5QTDtBaUYxZ1BHO0VyRWhIRSxxQkFBQTtDWjZuUEw7QWlGemdQRztFckVwSEUsa0JBQUE7Q1pnb1BMO0FpRnhnUEc7RUFDSSxpQ0FBQTtDakYwZ1BQO0FpRnZnUEc7RUFDSSxtQkFBQTtDakZ5Z1BQO0FpRnZnUE87RUFDSSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7Q2pGeWdQWDtBSzNnUEs7RTRFT0U7SUFFUSxlQUFBO0lBQ0EsMEJ4RXBLSDtHVDBxUFY7Q0FDRjtBS2poUEs7RTRFZ0JFO0lBRVEsZUFBQTtJQUNBLDBCeEU3S0g7R1RnclBWO0NBQ0Y7QWlGOS9PTztFQUNJLCtCQUFBO1VBQUEsdUJBQUE7RUFDQSxpQ0FBQTtVQUFBLHlCQUFBO0VBQ0Esd0VBQUE7VUFBQSxnRUFBQTtDakZnZ1BYO0FpRjcvT087RUFDSSxjQUFBO0NqRisvT1g7O0FrRjFzUEQ7RUFFSSwwQnpFWWM7Q1Rnc1BqQjtBNkUxc1BHO0VqRTRCSSxvQkFBQTtFQUFBLG1CQUFBO0VDZE4saUJWbUVhO0VVbEViLGtCQUFBO0VBQ0EsbUJBQUE7Q2Jpc1BEO0FLL2lQSztFd0VsS0Y7SWpFNEJJLG9CQUFBO0lBQUEsbUJBQUE7R1owclBMO0NBQ0Y7QUtoalBLO0V3RXZLRjtJakU0Qkksb0JBQUE7SUFBQSxtQkFBQTtHWmdzUEw7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RztFaEpNQSwwQmtCZ0NnQjtFbEI5QmhCLG1CZ0pQNEY7RWhKUTVGLGVPcEVTO0NUbzJnQlo7QUU3eGdCTzs7RUFFSSxvQkFBQTtDRit4Z0JYO0FFN3hnQlc7O0VBQ0ksb0JBQUE7RUFDQSxzQkFBQTtDRmd5Z0JmO0FrSjl5Z0JHO0VoSkVBLDBCa0JxQ2tCO0VsQm5DbEIsbUJnSkhzRztFaEpJdEcsZWtCNkJnQjtDcEJpeGdCbkI7QUUzeWdCTzs7RUFFSSxvQkFBQTtDRjZ5Z0JYO0FFM3lnQlc7O0VBQ0ksb0JBQUE7RUFDQSxzQkFBQTtDRjh5Z0JmO0FrSnh6Z0JHO0VoSkZBLDJDZ0pHZ0U7RWhKRGhFLG1CZ0pDaUg7RWhKQWpILGVPcEVTO0NUZzRnQlo7QUV6emdCTzs7RUFFSSxvQkFBQTtDRjJ6Z0JYO0FFenpnQlc7O0VBQ0ksb0JBQUE7RUFDQSxzQkFBQTtDRjR6Z0JmO0FrSmwwZ0JHO0VBQ0ksY0FBQTtDbEpvMGdCUDs7QW1KdjVnQkQ7RWpKNEVJLDhCQUhtQjtFQUtuQixnQkFOWTtFQU9aLGVPcEVTO0UwSURULG1CQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0NuSm81Z0JIO0FxR2g1Z0JZO0VBQ0wsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCNUZUSztFNEZVTCxxRmxHb1hNO1VrR3BYTiw2RWxHb1hNO0NIOGhnQmI7O0FxRzk0Z0JZO0VBQ0wsaUJBQUE7RUFDQSwwQmxHbUVJO0NIODBnQlg7QUt2d2dCSztFZ0c1SU87SUFLRCxpQkFBQTtHckdrNWdCVDtDQUNGOztBcUcvNGdCWTtFQUNMLGVBQUE7RUFDQSxpQkFBQTtDckdrNWdCUDtBS2p4Z0JLO0VnR25JTztJQUtELGlCQUFBO0dyR201Z0JUO0NBQ0Y7O0FxR2g1Z0JZO0VBQ0wsZWpGcUVjO0NwQjgwZ0JyQjtBcUdqNWdCTztFQUNJLGlCQUFBO0NyR201Z0JYOztBcUcvNGdCWTtFQUNMLHNCbEcrRFM7Q0htMWdCaEI7O0FtSng3Z0JHO0VBQ0ksbUJBQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxRQUFB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aVRZLG9CQVBJO0dGeTRrQmI7Q0FDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogT3VyIE1peGlucywgbm8gRGVwZW5kYW5jaWVzICovXG4vKipcbiogU3RyaW5nIFJlcGxhY2VcbiovXG4vKipcbiogRm9udCBGYWNlOiBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9qb25hdGhhbnRuZWFsL2QwNDYwZTVjMmQ1ZDdmOWJjNWU2XG4qL1xuLyoqXG4qIHBzZXVkbyBFbGVtZW50IEhlbHBlclxuKi9cbi8qKlxuKiBSZXNldHMgQ29tcG9uZW50IGZvbnRzaXplLCBjb2xvci5cbiovXG4vKipcbiogU2luZ2xlIExpbmUgdHJ1bmNhdGlvblxuKi9cbi8qKlxuKiBQcm9kdWNlcyBhIGdyb3VwIG9mIGNvbG9yIGNsYXNzZXMgYXQgdmFyaW91cyB0aW50cywgZ2l2ZW4gYSBoZXggY29kZVxuKi9cbi8qKlxuKiBHZW5lcmF0ZSBjbGFzc2VzIFticmVha3BvaW50XS1bcHJvcGVydHldLVt2YWx1ZV0uIFNlZSBIZWxwZXIgQ2xhc3NlcyBmb3IgdXNhZ2VcbiogZS5nLiAuc21hbGwtcHQtMnJlbVxuKi9cbi8qKlxuKiBDb21wdXRlcyBhIENTUyBjYWxjIGZ1bmN0aW9uIHRoYXQgYmV0d2VlbnMgYSB2YWx1ZSBmcm9tXG4qIEEgdG8gQiBvdmVyIHZpZXdwb3J0LXdpZHRoIEEgdG8gdmlld3BvcnQtd2lkdGggQi5cbiogUmVxdWlyZXMgYSBtZWRpYSBxdWVyeSB0byBjYXAgdGhlIHZhbHVlIGF0IEIuXG4qL1xuLyoqXG4qIEdlbmVyYXRlcyBtdWx0aWxpbmUgZWxsaXBzZWQgdGV4dFxuKi9cbi8qKlxuKiBSZW1vdmVzIG1vdXNlIGZvY3VzIHJpbmcgb24gZWxlbWVudHNcbiovXG4vKipcbiogUmVtb3ZlcyBtb3VzZSBmb2N1cyByaW5nIG9uIGVsZW1lbnRzXG4qL1xuLyoqXG4qIFRydW5jYXRlYmxlIHRleHRcbiovXG4vKipcbiogQ29udGFpbmVyIGluc2V0IOKAlCBleHRyYSBob3Jpem9udGFsIHBhZGRpbmcgb24gdG9wIG9mIHRoZSBwYWdlIGd1dHRlciwgZm9yIGJsb2NrcyB3aG9zZVxuKiBjb250ZW50IGlzIG1lYW50IHRvIHNpdCBuYXJyb3dlciB0aGFuIHRoZSBzdGFuZGFyZCBjb250YWluZXIuIERlc2t0b3Agb25seTsgYmVsb3dcbiogYGxhcmdlYCB0aGUgcGFnZSBndXR0ZXIgaXMgYWxyZWFkeSB0aWdodCBhbmQgdGhlIGJsb2NrIGlzIHN0YWNrZWQuXG4qXG4qIEluc2V0cyBvbmUgZWRnZSBvciBib3RoLiBUaGUgZGVmYXVsdCBzdGVwICgzMikgeWllbGRzIDZyZW0gb24gYW4gaW5zZXQgZWRnZSDigJQgdGhlIDRyZW1cbiogcGFnZSBndXR0ZXIgcGx1cyAycmVtIOKAlCBzbyBib3RoLXNpZGVzIHB1dHMgY29udGVudCBhdCAxMjQ4IG9uIHRoZSAxNDQwIGFydGJvYXJkLCBhbmQgYVxuKiBzaW5nbGUtc2lkZWQgaW5zZXQgYXQgMTI4MC5cbipcbiogQmxvY2tzIG5vcm1hbGx5IGdldCB0aGlzIHZpYSB0aGUgYC50c256LWNvbnRhaW5lci0taW5zZXR7LWxlZnQsLXJpZ2h0fWAgY2xhc3NlcyAoc2VlXG4qIGhlbHBlcnMvX2NvbnRhaW5lci1pbnNldC5zY3NzKTsgQGluY2x1ZGUgaXQgZGlyZWN0bHkgb25seSBpZiB0aGUgYmxvY2sgd291bGQgcmF0aGVyIG5vdFxuKiBjYXJyeSB0aGUgY2xhc3MgaW4gaXRzIHRlbXBsYXRlLlxuKlxuKiBAcGFyYW0ge1N0cmluZ30gJHNpZGVzIC0gYm90aCB8IGxlZnQgfCByaWdodFxuKiBAcGFyYW0ge051bWJlcn0gJHN0ZXAgLSBhIHN0ZXAgb2YgJHRzbnotc3BhY2Utc2NhbGUgdG8gYWRkIHBlciBpbnNldCBlZGdlXG4qL1xuLyoqXG4qIFNoYXJlZCB0d28tY29sdW1uIGdyaWQgZm9yIEZyYW5jaGlzZSBEZXRhaWwgcGFnZSBzZWN0aW9ucyAoQ29udGFjdCArIEFib3V0KS5cbiogRmlnbWEgY29tcCBjb2x1bW4gd2lkdGhzIDU4NCAvIDY0NiwgZ2FwIDYyIOKGkiBzcGFjZSg0OCkgb24tc2NhbGUuIEtlZXBzIHRoZSBjb250YWN0XG4qIGltYWdlIGNvbHVtbiBhbGlnbmVkIHdpdGggdGhlIEFib3V0IGJhbmQncyByaWdodCBjb2x1bW4uXG4qL1xuLyoqXG4qIEJyYW5kIHJhZGlhbCBncmFkaWVudCDigJQgdGhlIGJsdWUgYmFuZCBmaWxsIGZyb20gdGhlIEZpZ21hIFwiVG90YWxzcGFuIFJlZnJlc2hcIiBmaWxlLlxuKiBQYWludGVkIGJ5IHRocmVlIGNvbXBvbmVudHM6IEZlYXR1cmUgKDE6MTc2KSwgRmVhdHVyZSBTZWNvbmRhcnkgKDE5ODo1NjIpIGFuZCBQcmltYXJ5XG4qIENUQSAoMjA1OjIxODApLiBQcm9tb3RlZCB0byBhIG1peGluIHNvIHRoZSBkZWNsYXJhdGlvbiBoYXMgb25lIHNvdXJjZSBvZiB0cnV0aCByYXRoZXJcbiogdGhhbiBhIHRoaXJkIGhhbmQtY29waWVkIGxpdGVyYWwuXG4qXG4qIFRoZSBjZW50cmUgYW5kIHRoZSB0d28gYnJhbmQgc3RvcHMgYXJlIGZpeGVkOyBvbmx5IHRoZSBlbGxpcHNlIHNpemUgdmFyaWVzIHBlciBiYW5kLFxuKiBiZWNhdXNlIGVhY2ggYmFuZCBpcyBhIGRpZmZlcmVudCBhc3BlY3QuIFRoZSBleHBsaWNpdCA1MCUgbWlkcG9pbnQgaXMgdGhlIGV4YWN0IGxpbmVhclxuKiBpbnRlcnBvbGF0aW9uIGJldHdlZW4gdGhlIHR3byBicmFuZCBzdG9wcywgc28gYSB0d28tc3RvcCBiYW5kIChGZWF0dXJlKSByZW5kZXJzXG4qIGlkZW50aWNhbGx5IHdpdGggaXQgcHJlc2VudCDigJQgaXQganVzdCBtYWtlcyB0aGUgc2hhcmVkIGRlY2xhcmF0aW9uIG9uZSBzaGFwZS5cbipcbiogTk9URTogYF91dGlsaXR5LW1peGluc2AgaXMgaW1wb3J0ZWQgQkVGT1JFIGBfY29sb3JzYCwgeWV0IHRoaXMgcmVmZXJlbmNlcyAkdHNuei0qXG4qIGNvbG91ciB2YXJzLiBUaGF0IGlzIGZpbmU6IHdpdGggbGVnYWN5IGBAaW1wb3J0YCBldmVyeXRoaW5nIHNoYXJlcyBvbmUgZ2xvYmFsIHNjb3BlIGFuZFxuKiBhIG1peGluIGJvZHkgaXMgcmVzb2x2ZWQgYXQgYEBpbmNsdWRlYCB0aW1lLCBub3QgYXQgZGVmaW5pdGlvbiwgc28gdGhlIGNvbG91cnMgZXhpc3QgYnlcbiogdGhlIHRpbWUgYW55IGNvbXBvbmVudCBpbmNsdWRlcyB0aGlzLiBJdCBsb29rcyB3cm9uZyBhdCBhIGdsYW5jZTsgaXQgaXNuJ3QuXG4qXG4qIEBwYXJhbSB7TGlzdH0gJHNpemUgLSB0aGUgcmFkaWFsIGVsbGlwc2Ugc2l6ZSwgZS5nLiBgNjUuMDYlIDY3LjM2JWBcbiogQHBhcmFtIHtMaXN0fSAkcG9zaXRpb24gLSB0aGUgZWxsaXBzZSBjZW50cmUsIGUuZy4gYDM5Ljc5JSAxMi43NSVgXG4qL1xuLyogQnJhbmQgQ29sb3VycyBhcyBWYXJzICovXG4vKiBTcGFjaW5nIHNjYWxlICsgc3BhY2UoKSDigJQgbXVzdCBwcmVjZWRlIHNldHRpbmdzLCB3aGljaCB1c2VzIGl0ICovXG4vKipcbiAqICBDb3JlIGZvdW5kYXRpb25cbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLUJvbGRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLUV4dHJhQm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5yZXZlYWwubGFyZ2UsIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwudGlueSwgLnJldmVhbCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00My43NWVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0MjQ5NTI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jZWxsLmF1dG8ge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuLmNlbGwuc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG4uZ3JpZC14ID4gLnNtYWxsLTEyLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgfVxufVxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAycmVtKTtcbiAgfVxufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAwLjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAwLjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDAuNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDAuNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC41cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMC41cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMC41cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDAuNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMC41cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDAuNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAwLjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMC41cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDAuNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAwLjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMC41cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC41cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMC41cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMC41cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxcmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxcmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDFyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDFyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxcmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDFyZW0pO1xuICB9XG59XG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLmdyaWQteSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5ncmlkLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteSA+IC5zbWFsbC0xMiwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogMjUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IDUwJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiA3NSU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEyLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgfVxufVxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbn1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAycmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7XG4gIH1cbn1cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MS4yNSU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5oMSBzbWFsbCwgLmgxIHNtYWxsLFxuaDIgc21hbGwsIC5oMiBzbWFsbCxcbmgzIHNtYWxsLCAuaDMgc21hbGwsXG5oNCBzbWFsbCwgLmg0IHNtYWxsLFxuaDUgc21hbGwsIC5oNSBzbWFsbCxcbmg2IHNtYWxsLCAuaDYgc21hbGwge1xuICBsaW5lLWhlaWdodDogMDtcbiAgY29sb3I6ICNhNGE0YTQ7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2NztcbiAgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU2O1xuICB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgfVxufVxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6IHJnYigyLjU4LCA2Ny4wOCwgMTM5LjMyKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2E0YTRhNDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbnVsIHVsLCB1bCBvbCwgb2wgdWwsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbmRsIGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAgMCAwIDFlbTtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZmZjYjA1O1xufVxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxNTI5MzE7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2E0YTRhNDtcbn1cbmNpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMxNTI5MzE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTRhNGE0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMxNTI5MzE7XG59XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMxNTI5MzE7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMTIuNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxucCArIC5zdGF0IHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG59XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDI0OTUyO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtO1xuICB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgfVxufVxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzE1MjkzMTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuW3R5cGU9dGV4dF06Zm9jdXMsIFt0eXBlPXBhc3N3b3JkXTpmb2N1cywgW3R5cGU9ZGF0ZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLCBbdHlwZT1tb250aF06Zm9jdXMsIFt0eXBlPXdlZWtdOmZvY3VzLCBbdHlwZT1lbWFpbF06Zm9jdXMsIFt0eXBlPW51bWJlcl06Zm9jdXMsIFt0eXBlPXNlYXJjaF06Zm9jdXMsIFt0eXBlPXRlbF06Zm9jdXMsIFt0eXBlPXRpbWVdOmZvY3VzLCBbdHlwZT11cmxdOmZvY3VzLCBbdHlwZT1jb2xvcl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMzRlYTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5cblt0eXBlPWZpbGVdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWwsXG5bdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbFtmb3JdLFxuW3R5cGU9cmFkaW9dICsgbGFiZWxbZm9yXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxubGFiZWwgPiBbdHlwZT1jaGVja2JveF0sXG5sYWJlbCA+IFt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG5bdHlwZT1maWxlXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMTUyOTMxO1xufVxubGFiZWwubWlkZGxlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDA7XG59XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzE1MjkzMTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtIDAgMCAwLjYyNXJlbTtcbn1cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjYyNXJlbSAwLjYyNXJlbSAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTRhNGE0O1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBjb2xvcjogIzE1MjkzMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTRhNGE0O1xufVxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xufVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTUyOTMxO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODY2LCA3MywgODIlMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWQxYzI0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUzLjIsIDIzMi4zLCAyMzMuMSk7XG59XG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2VkMWMyNDtcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VkMWMyNDtcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2VkMWMyNDtcbn1cbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgY29udGVudDogXCIrXCI7XG59XG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJNcIjtcbn1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMCAwIDFyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzAzNGVhMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgcmlnaHQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwMzRlYTIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnJlYWRjcnVtYnMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAuNzVyZW07XG4gIG9wYWNpdHk6IDE7XG4gIGNvbnRlbnQ6IFwifFwiO1xuICBjb2xvcjogI2E0YTRhNDtcbn1cbi5icmVhZGNydW1icyBhIHtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYTRhNGE0O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhbGxvdXQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigzLjYyNzI3MjcyNzMsIDk0LjMwOTA5MDkwOTEsIDE5NS44NzI3MjcyNzI3KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyMDguMiwgMzApO1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi5jYWxsb3V0LnRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOC44LCA1MC43LCA1Ny45KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uY2FsbG91dC5kYXJrLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMi43MTg5MTg5MTg5LCA3MC42OTE4OTE4OTE5LCAxNDguMTgxMDgxMDgxMSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmNhbGxvdXQubWlkLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjQuNjI1LCA0Mi4zNzUsIDUwLjQ3NSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmNhbGxvdXQuZGFyay1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI0LjQ2OTAxNDA4NDUsIDE4LjIzMDk4NTkxNTUsIDI2LjIwNzA0MjI1MzUpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jYWxsb3V0LnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNzcuNywgMjIyLjYsIDEzMS43KTtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG4uY2FsbG91dC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMTgyLjEsIDI1LjUpO1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi5jYWxsb3V0LmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwOS4xLCA5MywgNzUpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jYWxsb3V0LnNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cbi5jYWxsb3V0LmxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xufVxuLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG4uY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuY2xvc2UtYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jbG9zZS1idXR0b24uc21hbGwge1xuICByaWdodDogMC42NnJlbTtcbiAgdG9wOiAwLjMzZW07XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAubWVudSBsaSB7XG4gIG91dGxpbmU6IDA7XG59XG4ubWVudSBhLFxuLm1lbnUgLmJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG59XG4ubWVudSBpbnB1dCxcbi5tZW51IHNlbGVjdCxcbi5tZW51IGEsXG4ubWVudSBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm1lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5tZW51LnZlcnRpY2FsIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4ubWVudS5zaW1wbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG4ubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLm1lbnUuaWNvbnMgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbi5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cbi5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4ubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbi5tZW51Lmljb24tdG9wIGxpIGEgaSxcbi5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICMwMzRlYTI7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjMDM0ZWEyO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaXMtZHJpbGxkb3duIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG59XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMzRlYTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xufVxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyOTMxO1xuICBmb250LXNpemU6IDFyZW07XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7XG59XG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIGJhY2tncm91bmQ6ICMxNTI5MzE7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbn1cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC02cHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogIzE1MjkzMTtcbn1cbi5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDM0ZWEyO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAzNGVhMjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI2ZmY2IwNTtcbiAgY29sb3I6ICMxNTI5MzE7XG59XG4ubGFiZWwudGVydGlhcnkge1xuICBiYWNrZ3JvdW5kOiAjZWQxYzI0O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5kYXJrLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMDIzNDZkO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5taWQtcmVkIHtcbiAgYmFja2dyb3VuZDogI2QyMWUyNjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubGFiZWwuZGFyay1yZWQge1xuICBiYWNrZ3JvdW5kOiAjYzUxMDE3O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5sYWJlbC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgY29sb3I6ICMxNTI5MzE7XG59XG4ubGFiZWwud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMTUyOTMxO1xufVxuLmxhYmVsLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMwMzRlYTI7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5vZmYtY2FudmFzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHotaW5kZXg6IDEyO1xufVxuLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjEsIDQxLCA0OSwgMC43KTtcbn1cbi5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMDM0ZWEyO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIG91dGxpbmU6IDA7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gIHotaW5kZXg6IDEzO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDIxLCA0MSwgNDksIDAuNyk7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiA4MHZ3O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTgwdncpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTgwdncpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDgwdncpO1xufVxuXG4ucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgyMSwgNDEsIDQ5LCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogODB2dztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDgwdncpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDgwdncpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi50c256LW9mZmNhbnZhc19fY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTgwdncpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgyMSwgNDEsIDQ5LCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjgwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjgwcHgpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjgwcHgpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4udHNuei1vZmZjYW52YXNfX2NvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyODBweCk7XG59XG5cbi5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMjEsIDQxLCA0OSwgMC4yNSk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyODBweCk7XG59XG4udHNuei1vZmZjYW52YXNfX2NvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi50c256LW9mZmNhbnZhc19fY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgyMSwgNDEsIDQ5LCAwLjI1KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogODB2dztcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC50c256LW9mZmNhbnZhc19fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwdnc7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50c256LW9mZmNhbnZhc19fY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC50c256LW9mZmNhbnZhc19fY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50c256LW9mZmNhbnZhc19fY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLnRzbnotb2ZmY2FudmFzX19jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDgwdnc7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDgwdnc7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC50c256LW9mZmNhbnZhc19fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogODB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC50c256LW9mZmNhbnZhc19fY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLnRzbnotb2ZmY2FudmFzX19jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogODB2dztcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC50c256LW9mZmNhbnZhc19fY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLnRzbnotb2ZmY2FudmFzX19jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA4MHZ3O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC50c256LW9mZmNhbnZhc19fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogODB2dztcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRzbnotb2ZmY2FudmFzX19jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC50c256LW9mZmNhbnZhc19fY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODB2dztcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAudHNuei1vZmZjYW52YXNfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDgwdnc7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5wYWdpbmF0aW9uIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgY29sb3I6ICNhNGE0YTQ7XG59XG4ucGFnaW5hdGlvbiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBjb2xvcjogI2E0YTRhNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29udGVudDogXCLigKZcIjtcbiAgY29sb3I6ICNhNGE0YTQ7XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5odG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxLCA0MSwgNDksIDAuNDUpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhNGE0YTQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnJldmVhbCB7XG4gIG91dGxpbmU6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAucmV2ZWFsIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG4ucmV2ZWFsIC5jb2x1bW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG4ucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1heC13aWR0aDogOTByZW07XG4gIH1cbn1cbi5yZXZlYWwuY29sbGFwc2Uge1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJldmVhbC50aW55IHtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1heC13aWR0aDogOTByZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5yZXZlYWwuc21hbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnJldmVhbC5sYXJnZSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICB9XG59XG4ucmV2ZWFsLmZ1bGwge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjc0ODc1ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG50aGVhZCxcbnRib2R5LFxudGZvb3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMTU1LjgsIDE1NS44LCAxNTUuOCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG50aGVhZCB7XG4gIGJhY2tncm91bmQ6IHJnYigyMzkuODUsIDIzOS44NSwgMjM5Ljg1KTtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG5cbnRmb290IHtcbiAgYmFja2dyb3VuZDogcmdiKDIzMy43LCAyMzMuNywgMjMzLjcpO1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cblxudGhlYWQgdHIsXG50Zm9vdCB0ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxudGhlYWQgdGgsXG50aGVhZCB0ZCxcbnRmb290IHRoLFxudGZvb3QgdGQge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50Ym9keSB0aCxcbnRib2R5IHRkIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xufVxuXG50Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMzLjcsIDIzMy43LCAyMzMuNyk7XG59XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG50YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDE1NS44LCAxNTUuOCwgMTU1LjgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM0Ljc1LCAyMzQuNzUsIDIzNC43NSk7XG59XG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjguNiwgMjI4LjYsIDIyOC42KTtcbn1cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MC45LCAyNDAuOSwgMjQwLjkpO1xufVxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyOC4xNSwgMjI4LjE1LCAyMjguMTUpO1xufVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMDM0ZWEyO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYigzLjMxMzYzNjM2MzYsIDg2LjE1NDU0NTQ1NDUsIDE3OC45MzYzNjM2MzY0KTtcbn1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRhYnMtdGl0bGUgPiBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiByZ2IoMi41OCwgNjcuMDgsIDEzOS4zMik7XG59XG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDI0OTUyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NDg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NDg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbn1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50O1xufVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNztcbn1cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpO1xuICB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTtcbiAgfVxufVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuO1xufVxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuO1xufVxuQGtleWZyYW1lcyBzcGluLWNjdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG59XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7XG59XG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7XG4gIH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7XG4gIH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xufVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50O1xufVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDtcbn1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50O1xufVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDAgMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5oYW1idXJnZXI6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBoZWlnaHQ6IDEuMzEyNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjA5Mzc1cmVtO1xufVxuLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgYm9yZGVyLXJhZGl1czogMC4wOTM3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cbi5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogLTAuNTYyNXJlbTtcbn1cbi5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAtMC41NjI1cmVtO1xufVxuXG4vKlxuICogU2xpZGVyIFJldmVyc2VcbiAqL1xuLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMC4wOTM3NXJlbTtcbn1cbi5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMC41NjI1cmVtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbn1cbi5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAxLjEyNXJlbTtcbn1cbi5oYW1idXJnZXItLXNsaWRlci1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLjU2MjVyZW0sIDApIHJvdGF0ZSgtNDVkZWcpO1xufVxuLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLjI1cmVtLCAtMC4zNzVyZW0sIDApO1xuICBvcGFjaXR5OiAwO1xufVxuLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMS4xMjVyZW0sIDApIHJvdGF0ZSg5MGRlZyk7XG59XG5cbi8qKlxuICogSGVscGVycyBhbmQgQWRkaXRpb25hbCBUeXBvZ3JhcGh5XG4gKi9cbi5wb3MtcmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcC1hbmQtZmFkZS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBjdXN0b20tMTtcbn1cbkBrZXlmcmFtZXMgY3VzdG9tLTEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yZW0pO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZnQtYW5kLWZhZGUtb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS0zO1xufVxuQGtleWZyYW1lcyBjdXN0b20tMyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJlbSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlmdC1hbmQtZmFkZS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBjdXN0b20tNTtcbn1cbkBrZXlmcmFtZXMgY3VzdG9tLTUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yZW0pO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udHNuei1nYXAtNCB7XG4gIGdhcDogMC4yNXJlbTtcbn1cblxuLnRzbnotZ2FwLXgtNCB7XG4gIGNvbHVtbi1nYXA6IDAuMjVyZW07XG59XG5cbi50c256LWdhcC15LTQge1xuICByb3ctZ2FwOiAwLjI1cmVtO1xufVxuXG4udHNuei1nYXAtOCB7XG4gIGdhcDogMC41cmVtO1xufVxuXG4udHNuei1nYXAteC04IHtcbiAgY29sdW1uLWdhcDogMC41cmVtO1xufVxuXG4udHNuei1nYXAteS04IHtcbiAgcm93LWdhcDogMC41cmVtO1xufVxuXG4udHNuei1nYXAtMTAge1xuICBnYXA6IDAuNjI1cmVtO1xufVxuXG4udHNuei1nYXAteC0xMCB7XG4gIGNvbHVtbi1nYXA6IDAuNjI1cmVtO1xufVxuXG4udHNuei1nYXAteS0xMCB7XG4gIHJvdy1nYXA6IDAuNjI1cmVtO1xufVxuXG4udHNuei1nYXAtMTIge1xuICBnYXA6IDAuNzVyZW07XG59XG5cbi50c256LWdhcC14LTEyIHtcbiAgY29sdW1uLWdhcDogMC43NXJlbTtcbn1cblxuLnRzbnotZ2FwLXktMTIge1xuICByb3ctZ2FwOiAwLjc1cmVtO1xufVxuXG4udHNuei1nYXAtMTYge1xuICBnYXA6IDFyZW07XG59XG5cbi50c256LWdhcC14LTE2IHtcbiAgY29sdW1uLWdhcDogMXJlbTtcbn1cblxuLnRzbnotZ2FwLXktMTYge1xuICByb3ctZ2FwOiAxcmVtO1xufVxuXG4udHNuei1nYXAtMjAge1xuICBnYXA6IDEuMjVyZW07XG59XG5cbi50c256LWdhcC14LTIwIHtcbiAgY29sdW1uLWdhcDogMS4yNXJlbTtcbn1cblxuLnRzbnotZ2FwLXktMjAge1xuICByb3ctZ2FwOiAxLjI1cmVtO1xufVxuXG4udHNuei1nYXAtMjQge1xuICBnYXA6IDEuNXJlbTtcbn1cblxuLnRzbnotZ2FwLXgtMjQge1xuICBjb2x1bW4tZ2FwOiAxLjVyZW07XG59XG5cbi50c256LWdhcC15LTI0IHtcbiAgcm93LWdhcDogMS41cmVtO1xufVxuXG4udHNuei1nYXAtMzIge1xuICBnYXA6IDJyZW07XG59XG5cbi50c256LWdhcC14LTMyIHtcbiAgY29sdW1uLWdhcDogMnJlbTtcbn1cblxuLnRzbnotZ2FwLXktMzIge1xuICByb3ctZ2FwOiAycmVtO1xufVxuXG4udHNuei1nYXAtNDAge1xuICBnYXA6IDIuNXJlbTtcbn1cblxuLnRzbnotZ2FwLXgtNDAge1xuICBjb2x1bW4tZ2FwOiAyLjVyZW07XG59XG5cbi50c256LWdhcC15LTQwIHtcbiAgcm93LWdhcDogMi41cmVtO1xufVxuXG4udHNuei1nYXAtNDgge1xuICBnYXA6IDNyZW07XG59XG5cbi50c256LWdhcC14LTQ4IHtcbiAgY29sdW1uLWdhcDogM3JlbTtcbn1cblxuLnRzbnotZ2FwLXktNDgge1xuICByb3ctZ2FwOiAzcmVtO1xufVxuXG4udHNuei1nYXAtNjQge1xuICBnYXA6IDRyZW07XG59XG5cbi50c256LWdhcC14LTY0IHtcbiAgY29sdW1uLWdhcDogNHJlbTtcbn1cblxuLnRzbnotZ2FwLXktNjQge1xuICByb3ctZ2FwOiA0cmVtO1xufVxuXG4udHNuei1nYXAtODAge1xuICBnYXA6IDVyZW07XG59XG5cbi50c256LWdhcC14LTgwIHtcbiAgY29sdW1uLWdhcDogNXJlbTtcbn1cblxuLnRzbnotZ2FwLXktODAge1xuICByb3ctZ2FwOiA1cmVtO1xufVxuXG4udHNuei1nYXAtOTYge1xuICBnYXA6IDZyZW07XG59XG5cbi50c256LWdhcC14LTk2IHtcbiAgY29sdW1uLWdhcDogNnJlbTtcbn1cblxuLnRzbnotZ2FwLXktOTYge1xuICByb3ctZ2FwOiA2cmVtO1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA4Ny41JTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICB9XG59XG5cbi8qIEZvdW5kYXRpb24gZm9yY2VzIGFjdHVhbCBmb250IHZhbHVlcyAqL1xuaDEsXG4uaDEge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICAvKiBGb3VuZGF0aW9uJ3MgJGhlYWRlci1zdHlsZXMgaGFzIG5vIGxldHRlci1zcGFjaW5nIHN1cHBvcnQgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIC8qIEZvdW5kYXRpb24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xufVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgLyogRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGhhcyBubyBsZXR0ZXItc3BhY2luZyBzdXBwb3J0ICovXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAvKiBGb3VuZGF0aW9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbn1cblxuaDMsXG4uaDMsXG4udHNuei12aWRlby0tZmVhdHVyZWQgLnRzbnotdmlkZW9fX2hlYWRpbmcge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgLyogRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGhhcyBubyBsZXR0ZXItc3BhY2luZyBzdXBwb3J0ICovXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAvKiBGb3VuZGF0aW9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbn1cblxuaDQsXG4uaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAvKiBGb3VuZGF0aW9uJ3MgJGhlYWRlci1zdHlsZXMgaGFzIG5vIGxldHRlci1zcGFjaW5nIHN1cHBvcnQgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIC8qIEZvdW5kYXRpb24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xufVxuXG5oNSxcbi5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAvKiBGb3VuZGF0aW9uJ3MgJGhlYWRlci1zdHlsZXMgaGFzIG5vIGxldHRlci1zcGFjaW5nIHN1cHBvcnQgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIC8qIEZvdW5kYXRpb24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xufVxuXG5oNixcbi5oNixcbi50c256LW1lZ2EtbWVudV9fdGV4dCxcbi50c256LWN0YS0tc2ltcGxlIC50c256LWN0YV9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAvKiBGb3VuZGF0aW9uJ3MgJGhlYWRlci1zdHlsZXMgaGFzIG5vIGxldHRlci1zcGFjaW5nIHN1cHBvcnQgKi9cbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIC8qIEZvdW5kYXRpb24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICBoMSxcbiAgLmgxIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIC8qIEZvdW5kYXRpb24ncyAkaGVhZGVyLXN0eWxlcyBoYXMgbm8gbGV0dGVyLXNwYWNpbmcgc3VwcG9ydCAqL1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIC8qIEZvdW5kYXRpb24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07XG4gIH1cbiAgaDIsXG4gIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgLyogRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGhhcyBubyBsZXR0ZXItc3BhY2luZyBzdXBwb3J0ICovXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgLyogRm91bmRhdGlvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbiAgfVxuICBoMyxcbiAgLmgzLFxuICAudHNuei12aWRlby0tZmVhdHVyZWQgLnRzbnotdmlkZW9fX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIC8qIEZvdW5kYXRpb24ncyAkaGVhZGVyLXN0eWxlcyBoYXMgbm8gbGV0dGVyLXNwYWNpbmcgc3VwcG9ydCAqL1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICAgIC8qIEZvdW5kYXRpb24gZm9yY2VzIHJlbS1jYWxjIG9uIGFsbCBoZWFkaW5ncyBtYXJnaW4gYm90dG9tIHZhbHVlcyAqL1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07XG4gIH1cbiAgaDQsXG4gIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLyogRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGhhcyBubyBsZXR0ZXItc3BhY2luZyBzdXBwb3J0ICovXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgLyogRm91bmRhdGlvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbiAgfVxuICBoNSxcbiAgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLyogRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGhhcyBubyBsZXR0ZXItc3BhY2luZyBzdXBwb3J0ICovXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgLyogRm91bmRhdGlvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbiAgfVxuICBoNixcbiAgLmg2LFxuICAudHNuei1tZWdhLW1lbnVfX3RleHQsXG4gIC50c256LWN0YS0tc2ltcGxlIC50c256LWN0YV9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLyogRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGhhcyBubyBsZXR0ZXItc3BhY2luZyBzdXBwb3J0ICovXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgLyogRm91bmRhdGlvbiBmb3JjZXMgcmVtLWNhbGMgb24gYWxsIGhlYWRpbmdzIG1hcmdpbiBib3R0b20gdmFsdWVzICovXG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbiAgfVxufVxuLyogMi4wIGJvZHkgY29weSDigJQgUGFyYWdyYXBoIC8gUGFyYWdyYXBoIE1vYmlsZSB0b2tlbnMgKi9cbmJvZHksXG5wIHtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbnAge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgLyogUGFyYWdyYXBoIE1vYmlsZSAqL1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyAvKiBQYXJhZ3JhcGggKi9cbiAgfVxufVxuXG4vKiAyLjAgbm9uLWhlYWRpbmcgdHlwZSB0b2tlbnMgKi9cbi50c256LWRpc3BsYXkge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgLyogTm8gbW9iaWxlIERpc3BsYXkgdG9rZW4g4oCUIHNjYWxlcyBhbG9uZ3NpZGUgSDEgKi9cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWRpc3BsYXkge1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG4udHNuei1sZWFkLCAudHNuei1tYXN0aGVhZF9fc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi50c256LXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg0NjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi50c256LXRhZ2xpbmUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnRzbnotdGFnbGluZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4vKiAyLjAgZWxldmF0aW9uICovXG4udHNuei1zaGFkb3ctbWFnYXppbmUge1xuICBib3gtc2hhZG93OiAwIDI1cHggNTBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4udHNuei1zaGFkb3ctbG9nbyB7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgyMSwgNDEsIDQ5LCAwLjQpO1xufVxuXG4vKiBhZGphY2VudCBIZWFkaW5ncyovXG5oMSArIGgyLFxuaDEgKyBoMyxcbmgyICsgaDMge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG5oMyArIGg0LFxuaDMgKyBoNSxcbmgyICsgaDQsXG5oMyArIGg1IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxubGVnZW5kIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNzVlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbmJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnN2Zy1pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxZW07XG4gIG1heC1oZWlnaHQ6IDFlbTtcbn1cblxuLmNhbGxvdXQudmFsaWRhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDkuMSwgOTMsIDc1KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uY2FsbG91dC5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwOS4xLCA5MywgNzUpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jYWxsb3V0Lmdvb2Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNzcuNywgMjIyLjYsIDEzMS43KTtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG4uY2FsbG91dC5iYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA5LjEsIDkzLCA3NSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4vKipcbiAqIEVsZW1lbnRzXG4gKi9cbi50c256LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjU1ZW0gMS4yNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2ZmY2IwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudHNuei1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLnRzbnotYnV0dG9uOmhvdmVyLCAudHNuei1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWJ1dHRvbjpob3ZlciwgLnRzbnotYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1idXR0b246YWN0aXZlLCAudHNuei1idXR0b24uYWN0aXZlIHtcbiAgb3BhY2l0eTogMC45O1xuICBib3JkZXItY29sb3I6IHJnYigyLjA3MjcyNzI3MjcsIDUzLjg5MDkwOTA5MDksIDExMS45MjcyNzI3MjczKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2IoMi4wNzI3MjcyNzI3LCA1My44OTA5MDkwOTA5LCAxMTEuOTI3MjcyNzI3Myk7XG59XG4udHNuei1idXR0b25bZGlzYWJsZWRdLCAudHNuei1idXR0b24uZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6ICNmNmY2ZjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gIGNvbG9yOiAjZTRlNGU0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi50c256LWJ1dHRvbjpmb2N1cywgLnRzbnotYnV0dG9uOmFjdGl2ZSwgLnRzbnotYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotYnV0dG9uOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBtYXgtd2lkdGg6IDE4Ljc1cmVtO1xufVxuLnRzbnotYnV0dG9uIHN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi10b3A6IC0wLjNlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udHNuei1idXR0b24gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnRzbnotYnV0dG9uIHNwYW46bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xufVxuLnRzbnotYnV0dG9uIHNwYW4gKyBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udHNuei1idXR0b24tLWxhcmdlLWljb24gc3ZnIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4udHNuei1idXR0b24tLW9uLXdoaXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNTVlbSAxLjI1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjZmZjYjA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotYnV0dG9uLS1vbi13aGl0ZSB7XG4gIG91dGxpbmU6IDA7XG59XG4udHNuei1idXR0b24tLW9uLXdoaXRlOmhvdmVyLCAudHNuei1idXR0b24tLW9uLXdoaXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1idXR0b24tLW9uLXdoaXRlOmhvdmVyLCAudHNuei1idXR0b24tLW9uLXdoaXRlOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWJ1dHRvbi0tb24td2hpdGU6YWN0aXZlLCAudHNuei1idXR0b24tLW9uLXdoaXRlLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMi4wNzI3MjcyNzI3LCA1My44OTA5MDkwOTA5LCAxMTEuOTI3MjcyNzI3Myk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiByZ2IoMi4wNzI3MjcyNzI3LCA1My44OTA5MDkwOTA5LCAxMTEuOTI3MjcyNzI3Myk7XG59XG4udHNuei1idXR0b24tLW9uLXdoaXRlW2Rpc2FibGVkXSwgLnRzbnotYnV0dG9uLS1vbi13aGl0ZS5kaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogI2Y2ZjZmNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgY29sb3I6ICNlNGU0ZTQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnRzbnotYnV0dG9uLS1vbi13aGl0ZTpmb2N1cywgLnRzbnotYnV0dG9uLS1vbi13aGl0ZTphY3RpdmUsIC50c256LWJ1dHRvbi0tb24td2hpdGU6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei1idXR0b24tLXJldmVyc2VkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNTVlbSAxLjI1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjZmZjYjA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXdpZHRoOiAwLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LWJ1dHRvbi0tcmV2ZXJzZWQge1xuICBvdXRsaW5lOiAwO1xufVxuLnRzbnotYnV0dG9uLS1yZXZlcnNlZDpob3ZlciwgLnRzbnotYnV0dG9uLS1yZXZlcnNlZDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotYnV0dG9uLS1yZXZlcnNlZDpob3ZlciwgLnRzbnotYnV0dG9uLS1yZXZlcnNlZDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmY2IwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotYnV0dG9uLS1yZXZlcnNlZDphY3RpdmUsIC50c256LWJ1dHRvbi0tcmV2ZXJzZWQuYWN0aXZlIHtcbiAgb3BhY2l0eTogMC45O1xuICBib3JkZXItY29sb3I6IHJnYigyMDksIDE2NS41MjgsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYigyMDksIDE2NS41MjgsIDApO1xufVxuLnRzbnotYnV0dG9uLS1yZXZlcnNlZFtkaXNhYmxlZF0sIC50c256LWJ1dHRvbi0tcmV2ZXJzZWQuZGlzYWJsZWQge1xuICBib3JkZXItY29sb3I6ICNmNmY2ZjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gIGNvbG9yOiAjZTRlNGU0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi50c256LWJ1dHRvbi0tcmV2ZXJzZWQ6Zm9jdXMsIC50c256LWJ1dHRvbi0tcmV2ZXJzZWQ6YWN0aXZlLCAudHNuei1idXR0b24tLXJldmVyc2VkOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotYnV0dG9uLS1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41NWVtIDEuMjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotYnV0dG9uLS1zZWNvbmRhcnkge1xuICBvdXRsaW5lOiAwO1xufVxuLnRzbnotYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIsIC50c256LWJ1dHRvbi0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1idXR0b24tLXNlY29uZGFyeTpob3ZlciwgLnRzbnotYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE1LjI1LCAyMTUuMjUsIDIxNS4yNSk7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotYnV0dG9uLS1zZWNvbmRhcnk6Zm9jdXMsIC50c256LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwgLnRzbnotYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogcmdiKDIxNS4yNSwgMjE1LjI1LCAyMTUuMjUpO1xufVxuLnRzbnotYnV0dG9uLS1jbGVhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjU1ZW0gMS4yNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudHNuei1idXR0b24tLWNsZWFyIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LWJ1dHRvbi0tY2xlYXI6aG92ZXIsIC50c256LWJ1dHRvbi0tY2xlYXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWJ1dHRvbi0tY2xlYXI6aG92ZXIsIC50c256LWJ1dHRvbi0tY2xlYXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1idXR0b24tLWNsZWFyOmZvY3VzLCAudHNuei1idXR0b24tLWNsZWFyOmFjdGl2ZSwgLnRzbnotYnV0dG9uLS1jbGVhcjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi50c256LWJ1dHRvbi0taW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41NWVtIDEuMjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotYnV0dG9uLS1pbnB1dCB7XG4gIG91dGxpbmU6IDA7XG59XG4udHNuei1idXR0b24tLWlucHV0OmhvdmVyLCAudHNuei1idXR0b24tLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1idXR0b24tLWlucHV0OmhvdmVyLCAudHNuei1idXR0b24tLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMy4yNSwgMjMzLjI1LCAyMzMuMjUpO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWJ1dHRvbi0taW5wdXQ6Zm9jdXMsIC50c256LWJ1dHRvbi0taW5wdXQ6YWN0aXZlLCAudHNuei1idXR0b24tLWlucHV0OmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotYnV0dG9uLS1leHBhbmRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbi50c256LWJ1dHRvbi0tZXhwYW5kLWZvci1zbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWJ1dHRvbi0tZXhwYW5kLWZvci1zbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnRzbnotYnV0dG9uLS13aXRoLWFycm93IHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbi50c256LWJ1dHRvbi0td2l0aC1hcnJvdzphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICB0b3A6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgcmlnaHQ6IDA7XG59XG4udHNuei1idXR0b24tLXN0YWNrZWQge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG4udHNuei1idXR0b24tLXZlcnRpY2FsbHktYWxpZ25lZC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50c256LWFjdGlvbi1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjI1cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotYWN0aW9uLWJ1dHRvbjpob3ZlciwgLnRzbnotYWN0aW9uLWJ1dHRvbjpmb2N1cywgYTpob3ZlciAudHNuei1hY3Rpb24tYnV0dG9uLCBhOmZvY3VzIC50c256LWFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMS44LCA0Ni44LCA5Ny4yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWFjdGlvbi1idXR0b24tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWFjdGlvbi1idXR0b24tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotYWN0aW9uLWJ1dHRvbi0tdGVydGlhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWFjdGlvbi1idXR0b24tLWxhcmdlIHtcbiAgcGFkZGluZzogMC44MTI1cmVtIDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4udHNuei1hY3Rpb24tYnV0dG9uLS1leHBhbmRlZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRzbnotYWN0aW9uLWJ1dHRvbltkaXNhYmxlZF0sIC50c256LWFjdGlvbi1idXR0b24uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBjb2xvcjogI2E0YTRhNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4udHNuei1hY3Rpb24tYnV0dG9uIC50c256LXN5bWJvbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuLnRzbnotbGluay1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMC4yNXJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnRzbnotbGluay1idXR0b25fX3J1bGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotbGluay1idXR0b246aG92ZXIsIC50c256LWxpbmstYnV0dG9uOmZvY3VzLCBhOmhvdmVyIC50c256LWxpbmstYnV0dG9uLCBhOmZvY3VzIC50c256LWxpbmstYnV0dG9uIHtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWxpbmstYnV0dG9uOmhvdmVyIC50c256LWxpbmstYnV0dG9uX19ydWxlLCAudHNuei1saW5rLWJ1dHRvbjpmb2N1cyAudHNuei1saW5rLWJ1dHRvbl9fcnVsZSwgYTpob3ZlciAudHNuei1saW5rLWJ1dHRvbiAudHNuei1saW5rLWJ1dHRvbl9fcnVsZSwgYTpmb2N1cyAudHNuei1saW5rLWJ1dHRvbiAudHNuei1saW5rLWJ1dHRvbl9fcnVsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG59XG5cbi50c256LXN5bWJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udHNuei1zeW1ib2wgdXNlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udHNuei1zeW1ib2wtLWljb24ge1xuICBtYXgtd2lkdGg6IDFlbTtcbiAgbWF4LWhlaWdodDogMWVtO1xufVxuLnRzbnotc3ltYm9sLS1pY29uLTJlbSB7XG4gIG1heC13aWR0aDogMmVtO1xuICBtYXgtaGVpZ2h0OiAyZW07XG59XG4udHNuei1zeW1ib2wtLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRzbnotaW5wdXQge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWlucHV0X19sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotaW5wdXRfX2xhYmVsLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VkMWMyNDtcbn1cbltkYXRhLXdoYXRpbnRlbnQ9a2V5Ym9hcmRdIC50c256LWlucHV0X19pbnB1dDpmb2N1cywgW2RhdGEtd2hhdGlucHV0PWtleWJvYXJkXSAudHNuei1pbnB1dF9faW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byA1cHg7XG59XG4udHNuei1pbnB1dF9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG4udHNuei1pbnB1dF9faW5wdXQuaXMtaW52YWxpZC1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2VkMWMyNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbn1cbi50c256LWlucHV0X19pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG9uQXV0b0ZpbGxTdGFydDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwMHMgZWFzZS1pbi1vdXQgMHM7XG59XG4udHNuei1pbnB1dF9faW5wdXQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBvbkF1dG9GaWxsQ2FuY2VsO1xufVxuLnRzbnotaW5wdXRfX2hlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotZm9ybS0tbWFwLWFjdGl2ZSAudHNuei1pbnB1dC0tYnVpbGQtbG9jYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cbkBrZXlmcmFtZXMgb25BdXRvRmlsbFN0YXJ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBvbkF1dG9GaWxsQ2FuY2VsIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4udHNuei1zZWxlY3Qge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LXNlbGVjdFtoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50c256LXNlbGVjdCBzZWxlY3Qge1xuICBjb2xvcjogIzQyNDk1MjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgMTQgOCcgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00wLjcyOTQ5MiAwLjcyOTE4N0w2Ljk3OTQ5IDYuOTc5MTlMMTMuMjI5NSAwLjcyOTE4Nycgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjQ1ODMzJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTRweCA4cHg7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtIGNlbnRlcjtcbn1cbi50c256LXNlbGVjdCBzZWxlY3QuaXMtaW52YWxpZC1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2VkMWMyNDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNlZDFjMjQ7XG59XG4udHNuei1zZWxlY3RfX2xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBjb2xvcjogIzQyNDk1MjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udHNuei1zZWxlY3RfX2xhYmVsLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VkMWMyNDtcbn1cbi50c256LXNlbGVjdC0taW52aXNpYmxlLWxhYmVsIGxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG4udHNuei1zZWxlY3QtLWhpZGRlbi1sYWJlbCBsYWJlbCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50c256LXNlbGVjdC0tYmx1ZS1ib3JkZXIgc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotc2VsZWN0LS1uby1tYXJnaW4gc2VsZWN0IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udHNuei10ZXh0YXJlYSB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotdGV4dGFyZWFfX2xhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG4udHNuei10ZXh0YXJlYV9fbGFiZWwuaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZWQxYzI0O1xufVxuLnRzbnotdGV4dGFyZWFfX3RleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotdGV4dGFyZWFfX3RleHRhcmVhLmlzLWludmFsaWQtaW5wdXQge1xuICBib3JkZXItY29sb3I6ICNlZDFjMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG4udHNuei10ZXh0YXJlYV9faGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG5cbi50c256LWJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnRzbnotYnV0dG9uLWdyb3VwIGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG4udHNuei1idXR0b24tZ3JvdXBfX2xhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXI6OmJlZm9yZSwgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4udHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXIgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMC4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgZmxleDogMCAwIGF1dG87XG59XG4udHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXIgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNTVlbSAxLjI1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXdpZHRoOiAwLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uOmhvdmVyLCAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b246aG92ZXIsIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMy4yNSwgMjMzLjI1LCAyMzMuMjUpO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uOmZvY3VzLCAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjphY3RpdmUsIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuOmZvY3VzICsgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24udHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjAuNSwgMjIwLjUsIDIyMC41KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuW2RhdGEtd2hhdGludGVudD1rZXlib2FyZF0gOmZvY3VzICsgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24udHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbiwgW2RhdGEtd2hhdGlucHV0PWtleWJvYXJkXSA6Zm9jdXMgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbi50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uIHtcbiAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gNXB4O1xufVxuOmNoZWNrZWQgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbiwgOmNoZWNrZWQ6Zm9jdXMgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbiB7XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgI2ZmY2IwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuOmNoZWNrZWQgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjpob3ZlciwgOmNoZWNrZWQgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjpmb2N1cywgOmNoZWNrZWQ6Zm9jdXMgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjpob3ZlciwgOmNoZWNrZWQ6Zm9jdXMgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzAzNGVhMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuOmNoZWNrZWQgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjphY3RpdmUsIDpjaGVja2VkICsgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24uYWN0aXZlLCA6Y2hlY2tlZDpmb2N1cyArIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uOmFjdGl2ZSwgOmNoZWNrZWQ6Zm9jdXMgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbi5hY3RpdmUge1xuICBvcGFjaXR5OiAwLjk7XG4gIGJvcmRlci1jb2xvcjogcmdiKDIuMDcyNzI3MjcyNywgNTMuODkwOTA5MDkwOSwgMTExLjkyNzI3MjcyNzMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYigyLjA3MjcyNzI3MjcsIDUzLjg5MDkwOTA5MDksIDExMS45MjcyNzI3MjczKTtcbn1cbjpjaGVja2VkICsgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b25bZGlzYWJsZWRdLCA6Y2hlY2tlZCArIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uLmRpc2FibGVkLCA6Y2hlY2tlZDpmb2N1cyArIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uW2Rpc2FibGVkXSwgOmNoZWNrZWQ6Zm9jdXMgKyAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbi5kaXNhYmxlZCB7XG4gIGJvcmRlci1jb2xvcjogI2Y2ZjZmNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgY29sb3I6ICNlNGU0ZTQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuOmRpc2FibGVkICsgLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24ge1xuICBvcGFjaXR5OiAwLjI7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4udHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDc1LCA1NSwgMC4xKTtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4udHNuei1idXR0b24tZ3JvdXBfX29wdGlvbmFsLXRleHQsIC50c256LWJ1dHRvbi1ncm91cF9faGVscC10ZXh0IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI2E0YTRhNDtcbn1cbi50c256LWJ1dHRvbi1ncm91cC0tY2VudGVyZWQgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuLnRzbnotYnV0dG9uLWdyb3VwLS10aWdodCAudHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWJ1dHRvbi1ncm91cC0tdGlnaHQgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyOjpiZWZvcmUsIC50c256LWJ1dHRvbi1ncm91cC0tdGlnaHQgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4udHNuei1idXR0b24tZ3JvdXAtLXRpZ2h0IC50c256LWJ1dHRvbi1ncm91cF9fd3JhcHBlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi50c256LWJ1dHRvbi1ncm91cC0tdGlnaHQgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICBmb250LXNpemU6IDFlbTtcbiAgZmxleDogMCAwIGF1dG87XG59XG4udHNuei1idXR0b24tZ3JvdXAtLXRpZ2h0IC50c256LWJ1dHRvbi1ncm91cF9fd3JhcHBlciAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnRzbnotYnV0dG9uLWdyb3VwLS10aWdodCAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTI1ZW07XG4gIHBhZGRpbmctbGVmdDogMC45MjVlbTtcbn1cbi50c256LWJ1dHRvbi1ncm91cC0tZXhwYW5kIC50c256LWJ1dHRvbi1ncm91cF9fd3JhcHBlciAudHNuei1idXR0b24tZ3JvdXBfX2J1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4udHNuei1idXR0b24tZ3JvdXAtLWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4udHNuei1jaGVja2JveC1ncm91cCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuLnRzbnotY2hlY2tib3gtZ3JvdXAgaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cbi50c256LWNoZWNrYm94LWdyb3VwX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udHNuei1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWxlZnQ6IDIuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjNDI0OTUyO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuW3R5cGU9Y2hlY2tib3hdICsgLnRzbnotY2hlY2tib3gtZ3JvdXBfX2xhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udHNuei1jaGVja2JveC1ncm91cF9fbGFiZWw6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI1ZW07XG4gIGhlaWdodDogMS4yNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNGU0O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xufVxuLnRzbnotY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDAuMzc1ZW07XG4gIGxlZnQ6IDAuMmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjg3NWVtO1xuICBoZWlnaHQ6IDAuMzc1ZW07XG4gIG9wYWNpdHk6IDAuMjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgYm9yZGVyLWJvdHRvbTogMC4xMjVlbSBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItbGVmdDogMC4xMjVlbSBzb2xpZCAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC4xcyBlYXNlO1xufVxuOmZvY3VzICsgLnRzbnotY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjAuNSwgMjIwLjUsIDIyMC41KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuW2RhdGEtd2hhdGludGVudD1rZXlib2FyZF0gOmZvY3VzICsgLnRzbnotY2hlY2tib3gtZ3JvdXBfX2xhYmVsOmJlZm9yZSwgW2RhdGEtd2hhdGlucHV0PWtleWJvYXJkXSA6Zm9jdXMgKyAudHNuei1jaGVja2JveC1ncm91cF9fbGFiZWw6YmVmb3JlIHtcbiAgb3V0bGluZTogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIGF1dG8gNXB4O1xufVxuOmNoZWNrZWQgKyAudHNuei1jaGVja2JveC1ncm91cF9fbGFiZWw6YmVmb3JlIHtcbiAgYW5pbWF0aW9uOiBjaGVja2JveC1hY3RpdmUgMC43cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSkgZm9yd2FyZHM7XG59XG46Y2hlY2tlZCArIC50c256LWNoZWNrYm94LWdyb3VwX19sYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIGFuaW1hdGlvbjogdGljay1hY3RpdmUgMC41cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSkgMC4xcyAxIGZvcndhcmRzO1xufVxuLnRzbnotY2hlY2tib3gtZ3JvdXBfX2xhYmVsLmlzLWludmFsaWQtbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnRzbnotY2hlY2tib3gtZ3JvdXAtLTMtY29sIC50c256LWNoZWNrYm94LWdyb3VwX193cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi50c256LWNoZWNrYm94LWdyb3VwLS0zLWNvbCAudHNuei1jaGVja2JveC1ncm91cF9fbGFiZWwge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotY2hlY2tib3gtZ3JvdXAtLTMtY29sIC50c256LWNoZWNrYm94LWdyb3VwX19sYWJlbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG4udHNuei1jaGVja2JveC1ncm91cC0tcGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xufVxuXG5Aa2V5ZnJhbWVzIHRpY2stYWN0aXZlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMykgcm90YXRlKC00NWRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjaGVja2JveC1hY3RpdmUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAxMCUge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYigyMDIuNSwgMjAyLjUsIDIwMi41KTtcbiAgfVxuICAxMiUge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIGJhY2tncm91bmQ6ICNlNGU0ZTQ7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDM0ZWEyO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3JkZXItY29sb3I6ICMwMzRlYTI7XG4gICAgYmFja2dyb3VuZDogIzAzNGVhMjtcbiAgfVxufVxuLnRzbnotbG9hZGluZyB7XG4gIHdpZHRoOiA0LjM3NWVtO1xuICBoZWlnaHQ6IDIuNWVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50c256LWxvYWRpbmcgZGl2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC4xMjVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgMC4yNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1uYW1lOiBzdHJldGNoZGVsYXk7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuLnRzbnotbG9hZGluZ19fcmVjdDIge1xuICBhbmltYXRpb24tZGVsYXk6IC0xLjFzO1xufVxuLnRzbnotbG9hZGluZ19fcmVjdDMge1xuICBhbmltYXRpb24tZGVsYXk6IC0xcztcbn1cbi50c256LWxvYWRpbmdfX3JlY3Q0IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC45cztcbn1cbi50c256LWxvYWRpbmdfX3JlY3Q1IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC44cztcbn1cbi50c256LWxvYWRpbmctLXdoaXRlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbkBrZXlmcmFtZXMgc3RyZXRjaGRlbGF5IHtcbiAgMCUsIDQwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC40KTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG4udHNuei1ibG9ja3F1b3RlID4gcCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi50c256LWJsb2NrcXVvdGVfX2NpdGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udHNuei1ibG9ja3F1b3RlX19jcmVkaXQge1xuICBmbGV4OiAxIDEgMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYmxvY2txdW90ZV9fY3JlZGl0IHtcbiAgICBsaW5lLWhlaWdodDogMi4yO1xuICB9XG59XG4udHNuei1ibG9ja3F1b3RlX19idXR0b24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWJsb2NrcXVvdGVfX2J1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLyoqXG4gKiAgQ29tcG9uZW50c1xuICovXG4udHNuei1ncmlkX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1ncmlkX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi50c256LWdyaWRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLnRzbnotZ3JpZF9faXRlbSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLnRzbnotZ3JpZF9faGdyb3VwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWRfX2hncm91cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1ncmlkX19jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbi50c256LWdyaWRfX3RvZ2dsZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRzbnotZ3JpZF9fdG9nZ2xlIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMHJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRzbnotZ3JpZF9fdG9nZ2xlIGE6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbnRlbnQ6IFwiSGlkZSAtXCI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NDg3NWVtKSB7XG4gIC50c256LWdyaWRfX3RvZ2dsZSBhW2RhdGEtY29udGVudF0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAudHNuei1ncmlkX190b2dnbGUgYVtkYXRhLWNvbnRlbnRdOmFmdGVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudHNuei1ncmlkX190b2dnbGUgYVtkYXRhLW1lZC1jb250ZW50XSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC50c256LWdyaWRfX3RvZ2dsZSBhW2RhdGEtbWVkLWNvbnRlbnRdOmFmdGVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWRfX3RvZ2dsZSBhW2RhdGEtbHJnLWNvbnRlbnRdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnRzbnotZ3JpZF9fdG9nZ2xlIGFbZGF0YS1scmctY29udGVudF06YWZ0ZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cbi50c256LWdyaWRfX2hlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNXJlbSAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRzbnotYmxvY2tfX3NpZGViYXIgLnRzbnotZ3JpZF9faGVhZGluZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRzbnotZ3JpZC0tbm8tY29udGFpbmVyIC50c256LWdyaWRfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG59XG4udHNuei1ncmlkLS1uby1jb250YWluZXIgLnRzbnotZ3JpZF9faXRlbSxcbi50c256LWdyaWQtLW5vLWNvbnRhaW5lciAudHNuei1ncmlkX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udHNuei1ncmlkLS0zLXVwIC50c256LWdyaWRfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWQtLTMtdXAgLnRzbnotZ3JpZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZ3JpZC0tMy11cCAudHNuei1ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZ3JpZC0tMy11cCAudHNuei1ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWdyaWQtLXZlcnRpY2FsLWd1dHRlcnMge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi50c256LWdyaWQtLW1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLnRzbnotZ3JpZC0tdmVydGljYWwtZ3V0dGVycyAudHNuei1ncmlkX19pdGVtLCAudHNuei1ncmlkLS1ndXR0ZXJzLWJvdHRvbSAudHNuei1ncmlkX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZ3JpZC0tdmVydGljYWwtZ3V0dGVycyAudHNuei1ncmlkX19pdGVtLCAudHNuei1ncmlkLS1ndXR0ZXJzLWJvdHRvbSAudHNuei1ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG4udHNuei1ncmlkLS12ZXJ0aWNhbC1ndXR0ZXJzIC50c256LWdyaWRfX2l0ZW0sIC50c256LWdyaWQtLWd1dHRlcnMtdG9wIC50c256LWdyaWRfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWQtLXZlcnRpY2FsLWd1dHRlcnMgLnRzbnotZ3JpZF9faXRlbSwgLnRzbnotZ3JpZC0tZ3V0dGVycy10b3AgLnRzbnotZ3JpZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ncmlkLS12ZXJ0aWNhbC1ndXR0ZXJzIC50c256LWdyaWRfX2l0ZW0sIC50c256LWdyaWQtLWd1dHRlcnMtdG9wIC50c256LWdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn1cbi50c256LWdyaWQtLWxlZnQtYWxpZ25lZC10aXRsZSAudHNuei1ncmlkX19oZWFkaW5nIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50c256LWdyaWQtLWdyZXktYm9yZGVyLWJvdHRvbSAudHNuei1ncmlkX190b2dnbGUge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U0ZTRlNDtcbn1cbi50c256LWdyaWQtLXRydW5jYXRlZC1ncmlkLWl0ZW1zIC50c256LWdyaWRfX2l0ZW06bnRoLWNoaWxkKG4rMikge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZ3JpZC0tdHJ1bmNhdGVkLWdyaWQtaXRlbXMgLnRzbnotZ3JpZF9faXRlbTpudGgtY2hpbGQobisyKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWdyaWQtLXRydW5jYXRlZC1ncmlkLWl0ZW1zIC50c256LWdyaWRfX2l0ZW06bnRoLWNoaWxkKG4rMykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZ3JpZC0tdHJ1bmNhdGVkLWdyaWQtaXRlbXMgLnRzbnotZ3JpZF9faXRlbTpudGgtY2hpbGQobiszKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZ3JpZC0tdHJ1bmNhdGVkLWdyaWQtaXRlbXMgLnRzbnotZ3JpZF9faXRlbTpudGgtY2hpbGQobis0KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnRzbnotZ3JpZC0tdHJ1bmNhdGVkLWdyaWQtaXRlbXMgLnRzbnotZ3JpZF9fY29udGVudCB+IC50c256LWdyaWRfX2l0ZW06bnRoLWNoaWxkKDQpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udHNuei1ncmlkLS10cnVuY2F0ZWQtZ3JpZC1pdGVtcyAudHNuei1ncmlkX190b2dnbGUgYTphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWdyaWQtLXRydW5jYXRlZC1ncmlkLWl0ZW1zIC50c256LWdyaWRfX3RvZ2dsZSBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbWVkLWNvbnRlbnQpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWdyaWQtLXRydW5jYXRlZC1ncmlkLWl0ZW1zIC50c256LWdyaWRfX3RvZ2dsZSBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtbHJnLWNvbnRlbnQpO1xuICB9XG59XG5cbi50c256LW9mZmNhbnZhcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LW9mZmNhbnZhc19fcGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMwMzRlYTI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDgwdnc7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4MHZ3KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG59XG4udHNuei1vZmZjYW52YXNfX3BhbmVsIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRzbnotb2ZmY2FudmFzX19wYW5lbCAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei1vZmZjYW52YXNfX3BhbmVsIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4udHNuei1vZmZjYW52YXNfX3BhbmVsIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udHNuei1vZmZjYW52YXNfX3BhbmVsIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi50c256LW9mZmNhbnZhc19fcGFuZWwgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudHNuei1vZmZjYW52YXNfX3BhbmVsIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LW9mZmNhbnZhc19fcGFuZWwuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgei1pbmRleDogMTI7XG59XG4udHNuei1vZmZjYW52YXNfX3BhbmVsLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50c256LW9mZmNhbnZhc19fcGFuZWwuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG4udHNuei1vZmZjYW52YXNfX3BhbmVsLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyMSwgNDEsIDQ5LCAwLjcpO1xufVxuLnRzbnotb2ZmY2FudmFzX19wYW5lbC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4udHNuei1vZmZjYW52YXNfX2NvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoODB2dyk7XG59XG4udHNuei1vZmZjYW52YXNfX2NvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtODB2dyk7XG59XG5cbi50c256LW9mZmNhbnZhc19fcGFuZWwuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgyMSwgNDEsIDQ5LCAwLjI1KTtcbn1cbi50c256LW9mZmNhbnZhc19fY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnRzbnotb2ZmY2FudmFzX19jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cbi50c256LW9mZmNhbnZhc19fY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi50c256LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1oZWFkZXJfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi50c256LWhlYWRlcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oZWFkZXJfX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cbi50c256LWhlYWRlcl9fbG9nbyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLnRzbnotaGVhZGVyX19sb2dvLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50c256LWhlYWRlcl9fbG9nbyBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDYuNTYyNXJlbTtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMjEsIDQxLCA0OSwgMC40KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaGVhZGVyX19sb2dvIHN2ZyB7XG4gICAgd2lkdGg6IDEzLjU2MjVyZW07XG4gICAgaGVpZ2h0OiA1LjY4NzVyZW07XG4gIH1cbn1cbi50c256LWhlYWRlcl9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaGVhZGVyX19hY3Rpb25zIHtcbiAgICBnYXA6IDJyZW07XG4gIH1cbn1cbi50c256LWhlYWRlcl9fYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG59XG4udHNuei1oZWFkZXJfX2FjdGlvbjpob3ZlciwgLnRzbnotaGVhZGVyX19hY3Rpb246Zm9jdXMge1xuICBjb2xvcjogcmdiKDEuOCwgNDYuOCwgOTcuMik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWhlYWRlcl9fYWN0aW9uIC50c256LXN5bWJvbCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1oZWFkZXJfX3NlYXJjaCAudHNuei1zeW1ib2wge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuLnRzbnotaGVhZGVyX19waG9uZSAudHNuei1zeW1ib2wge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbn1cbi50c256LWhlYWRlcl9fYWN0aW9uLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaGVhZGVyX19hY3Rpb24tbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnRzbnotaGVhZGVyX19jdGEge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oZWFkZXJfX2N0YSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi50c256LWhlYWRlcl9fbmF2LXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWhlYWRlcl9fbmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnRzbnotaGVhZGVyX19uYXYtdG9nZ2xlID4gYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG59XG5bZGF0YS13aGF0aW50ZW50PW1vdXNlXSAudHNuei1oZWFkZXJfX25hdi10b2dnbGUgPiBidXR0b24sIFtkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdIC50c256LWhlYWRlcl9fbmF2LXRvZ2dsZSA+IGJ1dHRvbiB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udHNuei1oZWFkZXJfX25hdi10b2dnbGUgPiBidXR0b246aG92ZXIsIC50c256LWhlYWRlcl9fbmF2LXRvZ2dsZSA+IGJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMS44LCA0Ni44LCA5Ny4yKTtcbn1cbi50c256LWhlYWRlcl9fbmF2LXRvZ2dsZSAuaGFtYnVyZ2VyLWlubmVyLFxuLnRzbnotaGVhZGVyX19uYXYtdG9nZ2xlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi50c256LWhlYWRlcl9fbmF2LXRvZ2dsZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LWhlYWRlcl9fbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oZWFkZXJfX25hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi50c256LWhlYWRlcl9fbmF2LWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWhlYWRlcl9fbmF2LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaGVhZGVyX19uYXYtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuXG4udHNuei1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMzQ2ZDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIH1cbn1cbi50c256LWZvb3Rlcl9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZm9vdGVyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvb3Rlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotZm9vdGVyX19uYXYgYSwgLnRzbnotZm9vdGVyX19waG9uZS1saW5rLCAudHNuei1mb290ZXJfX3NvY2lhbC1pY29uLCAudHNuei1mb290ZXJfX2NyZWRpdCBhLCAudHNuei1mb290ZXJfX2xlZ2FsIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cbi50c256LWZvb3Rlcl9fbmF2IGE6aG92ZXIsIC50c256LWZvb3Rlcl9fbmF2IGE6Zm9jdXMsIC50c256LWZvb3Rlcl9fcGhvbmUtbGluazpob3ZlciwgLnRzbnotZm9vdGVyX19waG9uZS1saW5rOmZvY3VzLCAudHNuei1mb290ZXJfX3NvY2lhbC1pY29uOmhvdmVyLCAudHNuei1mb290ZXJfX3NvY2lhbC1pY29uOmZvY3VzLCAudHNuei1mb290ZXJfX2NyZWRpdCBhOmhvdmVyLCAudHNuei1mb290ZXJfX2NyZWRpdCBhOmZvY3VzLCAudHNuei1mb290ZXJfX2xlZ2FsIGE6aG92ZXIsIC50c256LWZvb3Rlcl9fbGVnYWwgYTpmb2N1cyB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi50c256LWZvb3Rlcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb290ZXJfX3dyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi50c256LWZvb3Rlcl9fYXNpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvb3Rlcl9fYXNpZGUge1xuICAgIGZsZXg6IDAgMCAxOC41NjI1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMnJlbTtcbiAgfVxufVxuLnRzbnotZm9vdGVyX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZm9vdGVyX19hY3Rpb25zIHtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICB3aWR0aDogMTIuNXJlbTtcbiAgfVxufVxuLnRzbnotZm9vdGVyX19waG9uZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC41cmVtO1xufVxuLnRzbnotZm9vdGVyX19waG9uZS1sYWJlbCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotZm9vdGVyX19waG9uZS1saW5rIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LWZvb3Rlcl9fcGhvbmUtbGluazpob3ZlciwgLnRzbnotZm9vdGVyX19waG9uZS1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1mb290ZXJfX3NvY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZm9vdGVyX19zb2NpYWwge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG4udHNuei1mb290ZXJfX3NvY2lhbC10aXRsZSB7XG4gIGNvbG9yOiAjYTRhNGE0O1xufVxuLnRzbnotZm9vdGVyX19zb2NpYWwtaWNvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNjI1cmVtO1xufVxuLnRzbnotZm9vdGVyX19zb2NpYWwtaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMi40Mzc1cmVtO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotZm9vdGVyX19zb2NpYWwtaWNvbjpob3ZlciwgLnRzbnotZm9vdGVyX19zb2NpYWwtaWNvbjpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjZTRlNGU0O1xufVxuLnRzbnotZm9vdGVyX19zb2NpYWwtaWNvbiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi50c256LWZvb3Rlcl9fbmF2IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvb3Rlcl9fbmF2IHtcbiAgICBmbGV4OiAxO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDJyZW07XG4gIH1cbn1cbi50c256LWZvb3Rlcl9fbmF2LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvb3Rlcl9fbmF2LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgfVxufVxuLnRzbnotZm9vdGVyX19uYXYtY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xufVxuLnRzbnotZm9vdGVyX19uYXYtY29sdW1uIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLnRzbnotZm9vdGVyX19uYXYtY29sdW1uIGxpIGEge1xuICBjb2xvcjogI2U0ZTRlNDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZm9vdGVyX19uYXYtY29sdW1uIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIH1cbn1cbi50c256LWZvb3Rlcl9fbmF2LWhlYWRlciB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG4udHNuei1mb290ZXJfX25hdi1oZWFkZXIgYSB7XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotZm9vdGVyX19ydWxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMnJlbSAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udHNuei1mb290ZXJfX2NyZWRpdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvb3Rlcl9fY3JlZGl0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi50c256LWZvb3Rlcl9fY3JlZGl0LWNvcHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgb3BhY2l0eTogMC44O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb290ZXJfX2NyZWRpdC1jb3B5IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4udHNuei1mb290ZXJfX2xlZ2FsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxLjVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4udHNuei1ibG9ja19fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi50c256LWJsb2NrX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi50c256LWJsb2NrX19zaWRlYmFyLCAudHNuei1ibG9ja19fY29udGVudCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWJsb2NrX19zaWRlYmFyLCAudHNuei1ibG9ja19fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuXG4udHNuei1ibG9jazpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotYmxvY2tfX3dyYXBwZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG4udHNuei1ibG9ja19fY29udGFpbmVyOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLnRzbnotYmxvY2tfX2NvbnRlbnQgPiAqLCAudHNuei1ibG9ja19fc2lkZWJhciA+ICoge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ibG9ja19fY29udGVudCA+ICosIC50c256LWJsb2NrX19zaWRlYmFyID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuLnRzbnotYmxvY2tfX2NvbnRlbnQgPiAqOmxhc3QtY2hpbGQsIC50c256LWJsb2NrX19zaWRlYmFyID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWJsb2NrX19zaWRlYmFyIHtcbiAgbWluLXdpZHRoOiAyMXJlbTtcbiAgbWF4LXdpZHRoOiA0OC4xMjVyZW07XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NWVtKSB7XG4gIC50c256LWJsb2NrX19zaWRlYmFyIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ibG9ja19fc2lkZWJhciB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWJsb2NrX19jb250ZW50IHtcbiAgZmxleDogMSAxIDBweDtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXgtd2lkdGg6IDQ4LjEyNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwLjYyNWVtKSB7XG4gIC50c256LWJsb2NrX19jb250ZW50IHtcbiAgICBtaW4td2lkdGg6IDQ4LjEyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ibG9ja19fY29udGVudCB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWJsb2NrLS1kYXJrLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNTYuOTAyNzAyNzAyNywgNjIuOTM3ODM3ODM3OCwgNzAuNjk3Mjk3Mjk3Myk7XG59XG4udHNuei1ibG9jay0tZGFyay1ncmF5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig1Ni45MDI3MDI3MDI3LCA2Mi45Mzc4Mzc4Mzc4LCA3MC42OTcyOTcyOTczKTtcbn1cbkBzdXBwb3J0cyAoYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIHJnYig1Ni45MDI3MDI3MDI3LCA2Mi45Mzc4Mzc4Mzc4LCA3MC42OTcyOTcyOTczKSwgIzQyNDk1MikpIHtcbiAgLnRzbnotYmxvY2stLWRhcmstZ3JheSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIHJnYig1Ni45MDI3MDI3MDI3LCA2Mi45Mzc4Mzc4Mzc4LCA3MC42OTcyOTcyOTczKSwgIzQyNDk1Mik7XG4gIH1cbn1cbi50c256LWJsb2NrLS1kYXJrLWdyYXkgaDIge1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LWJsb2NrLS1yZWZyZXNoLWRhcmstZ3JheSB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlOGVmO1xufVxuLnRzbnotYmxvY2stLXJlZnJlc2gtZGFyay1ncmF5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmU4ZWY7XG59XG4udHNuei1ibG9jay0tcmVmcmVzaC1kYXJrLWdyYXkgaDIge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWJsb2NrLS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1ibG9jay0td2hpdGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWJsb2NrLS1saWdodGVzdC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbn1cbi50c256LWJsb2NrLS1saWdodGVzdC1ncmF5OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG4udHNuei1ibG9jay0tbGlnaHQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEU3RkU7XG59XG4udHNuei1ibG9jay0tbGlnaHQtYmx1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhFN0ZFO1xufVxuLnRzbnotYmxvY2stLW1pbi1oZWlnaHQtNjB2aCB7XG4gIG1pbi1oZWlnaHQ6IDYwdmg7XG59XG4udHNuei1ibG9jay0tcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cbi50c256LWJsb2NrLS1kb3VibGUtcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbn1cbi50c256LWJsb2NrLS10cmlwbGUtcGFkZGluZyB7XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbn1cbi50c256LWJsb2NrLS10cmlwbGUtcGFkZGluZy1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbn1cbi50c256LWJsb2NrLS1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuLnRzbnotYmxvY2stLWRvdWJsZS1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xufVxuLnRzbnotYmxvY2stLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4udHNuei1ibG9jay0tZG91YmxlLXBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG59XG4udHNuei1ibG9jay0tb3Zlci1oYW5naW5nICsgLnRzbnotYmxvY2sge1xuICBwYWRkaW5nLXRvcDogNHJlbTtcbn1cbi50c256LWJsb2NrLS13aGl0ZS1ib3JkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZmZmZjtcbn1cbi50c256LWJsb2NrLS1vZmZzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHNuei1ibG9jay0tb2Zmc2V0OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtM3JlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3JlbTtcbiAgY29udGVudDogXCIgXCI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy43NWVtKSB7XG4gIC50c256LWJsb2Nrcy0tY29sbGFwc2UtZm9yLXhzbWFsbCAudHNuei1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1ibG9ja3MtLWhhcy1tZW51IC50c256LWJsb2NrOm50aC1jaGlsZCgxKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgfVxufVxuW2RhdGEtdHNuei10YWJzXSAudHNuei1ibG9ja1thcmlhLWhpZGRlbj1mYWxzZV0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tbmFtZTogY3VzdG9tLTU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbn1cbltkYXRhLXRzbnotdGFic10gLnRzbnotYmxvY2tbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udHNuei1ibG9jay1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbn1cbi50c256LWJsb2NrLW1lbnVfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWJsb2NrLW1lbnVfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYmxvY2stbWVudV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotYmxvY2stbWVudV9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4udHNuei1ibG9jay1tZW51X19idXR0b24sIC50c256LWJsb2NrLW1lbnVfX21lbnUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ibG9jay1tZW51X19idXR0b24sIC50c256LWJsb2NrLW1lbnVfX21lbnUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLnRzbnotYmxvY2stbWVudV9fd3JhcHBlciB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG4udHNuei1ibG9jay1tZW51X19tZW51IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYmxvY2stbWVudV9fbWVudSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1ibG9jay1tZW51X19idXR0b24ge1xuICBmbGV4OiAxIDEgMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotYmxvY2stbWVudV9fYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYmxvY2stbWVudV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWJsb2NrLW1lbnVfX21lbnUtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LWJsb2NrLW1lbnVfX21lbnUtbGlzdCBsaSB7XG4gIG91dGxpbmU6IDA7XG59XG4udHNuei1ibG9jay1tZW51X19tZW51LWxpc3QgYSxcbi50c256LWJsb2NrLW1lbnVfX21lbnUtbGlzdCAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbn1cbi50c256LWJsb2NrLW1lbnVfX21lbnUtbGlzdCBpbnB1dCxcbi50c256LWJsb2NrLW1lbnVfX21lbnUtbGlzdCBzZWxlY3QsXG4udHNuei1ibG9jay1tZW51X19tZW51LWxpc3QgYSxcbi50c256LWJsb2NrLW1lbnVfX21lbnUtbGlzdCBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotYmxvY2stbWVudV9fbWVudS1saXN0IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ibG9jay1tZW51X19tZW51LWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYmxvY2stbWVudV9fbWVudS1saXN0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgfVxufVxuLnRzbnotYmxvY2stbWVudV9fbWVudS1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRzbnotYmxvY2stbWVudV9fbWVudS1pdGVtOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiAwLjVyZW07XG4gIGxlZnQ6IDAuNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZmZjYjA1O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1ibG9jay1tZW51X19tZW51LWl0ZW06YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWJsb2NrLW1lbnVfX21lbnUtaXRlbTpob3ZlcjphZnRlciwgLnRzbnotYmxvY2stbWVudV9fbWVudS1pdGVtLmlzLWFjdGl2ZTphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG59XG4udHNuei1ibG9jay1tZW51X19tZW51LWxpbmsge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbltkYXRhLXdoYXRpbnRlbnQ9bW91c2VdIC50c256LWJsb2NrLW1lbnVfX21lbnUtbGluaywgW2RhdGEtd2hhdGludGVudD10b3VjaF0gLnRzbnotYmxvY2stbWVudV9fbWVudS1saW5rIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWJsb2NrLW1lbnVfX21lbnUtbGluayB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLnRzbnotY2FyZF9fY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jYXJkX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuLnRzbnotY2FyZF9fd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjc1ZW0pIHtcbiAgLnRzbnotY2FyZCBoMiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDQuMDI1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy43NWVtKSB7XG4gIC50c256LWNhcmQgaDMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgaGVpZ2h0OiAzLjUxcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTc7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy43NWVtKSB7XG4gIC50c256LWNhcmQgaDQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG4udHNuei1jYXJkX193cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzE1MjkzMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50c256LWNhcmRfX3dyYXBwZXJbaHJlZl0sXG4udHNuei1jYXJkX193cmFwcGVyIGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotY2FyZF9fd3JhcHBlcltocmVmXTpob3Zlcixcbi50c256LWNhcmRfX3dyYXBwZXIgYTpob3ZlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWNhcmRfX3dyYXBwZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgNDEsIDQ5LCAwLjA1KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udHNuei1jYXJkX193cmFwcGVyW2hyZWZdOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLnRzbnotY2FyZF9faGVhZGluZyB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotY2FyZF9fc3VidGl0bGUge1xuICBjb2xvcjogI2E0YTRhNDtcbn1cbi50c256LWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBoZWlnaHQ6IDUuNnJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIC13ZWJraXQtbGluZS1jbGFtcDogNDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1jYXJkX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNTVlbSAxLjI1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXdpZHRoOiAwLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LWNhcmRfX2xpbmsge1xuICBvdXRsaW5lOiAwO1xufVxuLnRzbnotY2FyZF9fbGluazpob3ZlciwgLnRzbnotY2FyZF9fbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotY2FyZF9fbGluazpob3ZlciwgLnRzbnotY2FyZF9fbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTUuMjUsIDIxNS4yNSwgMjE1LjI1KTtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1jYXJkX19saW5rOmZvY3VzLCAudHNuei1jYXJkX19saW5rOmFjdGl2ZSwgLnRzbnotY2FyZF9fbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjE1LjI1LCAyMTUuMjUsIDIxNS4yNSk7XG59XG4udHNuei1jYXJkX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50c256LWNhcmRfX2ltYWdlIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDJlbSk7XG4gIHJpZ2h0OiBjYWxjKDUwJSAtIDJlbSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNGVtO1xuICBoZWlnaHQ6IDRlbTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LWNhcmRfX2JhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWNhcmQtLXByaW1hcnktYnV0dG9uIC50c256LWNhcmRfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41NWVtIDEuMjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNmZmNiMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotY2FyZC0tcHJpbWFyeS1idXR0b24gLnRzbnotY2FyZF9fbGluayB7XG4gIG91dGxpbmU6IDA7XG59XG4udHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmhvdmVyLCAudHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmhvdmVyLCAudHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDM0ZWEyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmFjdGl2ZSwgLnRzbnotY2FyZC0tcHJpbWFyeS1idXR0b24gLnRzbnotY2FyZF9fbGluay5hY3RpdmUge1xuICBvcGFjaXR5OiAwLjk7XG4gIGJvcmRlci1jb2xvcjogcmdiKDIuMDcyNzI3MjcyNywgNTMuODkwOTA5MDkwOSwgMTExLjkyNzI3MjcyNzMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYigyLjA3MjcyNzI3MjcsIDUzLjg5MDkwOTA5MDksIDExMS45MjcyNzI3MjczKTtcbn1cbi50c256LWNhcmQtLXByaW1hcnktYnV0dG9uIC50c256LWNhcmRfX2xpbmtbZGlzYWJsZWRdLCAudHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rLmRpc2FibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjZmNmY2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBjb2xvcjogI2U0ZTRlNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4udHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmZvY3VzLCAudHNuei1jYXJkLS1wcmltYXJ5LWJ1dHRvbiAudHNuei1jYXJkX19saW5rOmFjdGl2ZSwgLnRzbnotY2FyZC0tcHJpbWFyeS1idXR0b24gLnRzbnotY2FyZF9fbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM0LjM3NWVtKSB7XG4gIC50c256LWNhcmQtLWhvcml6b250YWwgLnRzbnotY2FyZF9fd3JhcHBlciwgLnRzbnotY2FyZC0tdmVydGljYWwtZm9yLXNpZGViYXIgLnRzbnotY2FyZF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1heC13aWR0aDogNDguMTI1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNC4zNzVlbSkge1xuICAudHNuei1jYXJkLS1ob3Jpem9udGFsIC50c256LWNhcmRfX2ltYWdlLCAudHNuei1jYXJkLS12ZXJ0aWNhbC1mb3Itc2lkZWJhciAudHNuei1jYXJkX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM0LjM3NWVtKSB7XG4gIC50c256LWNhcmQtLWhvcml6b250YWwgLnRzbnotY2FyZF9faW1hZ2UgaW1nLCAudHNuei1jYXJkLS12ZXJ0aWNhbC1mb3Itc2lkZWJhciAudHNuei1jYXJkX19pbWFnZSBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXJcIjtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgLnRzbnotY2FyZC0taG9yaXpvbnRhbCAudHNuei1jYXJkX19jb250ZW50LCAudHNuei1jYXJkLS12ZXJ0aWNhbC1mb3Itc2lkZWJhciAudHNuei1jYXJkX19jb250ZW50IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1jYXJkLS1jb2xsYXBzZS1mb3IteHNtYWxsIC50c256LWNhcmRfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1ZW0pIHtcbiAgLnRzbnotY2FyZC0tdmVydGljYWwtZm9yLXNpZGViYXIgLnRzbnotY2FyZF9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjcuNTY3NTY3NTY3NiU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY1ZW0pIHtcbiAgLnRzbnotY2FyZC0tdmVydGljYWwtZm9yLXNpZGViYXIgLnRzbnotY2FyZF9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4udHNuei1jYXJkLS1mZWF0dXJlZCAudHNuei1jYXJkX193cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbn1cbi50c256LWNhcmQtLWZlYXR1cmVkIC50c256LWNhcmRfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jYXJkLS1mZWF0dXJlZCAudHNuei1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDguNHJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA2O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICB9XG59XG4udHNuei1jYXJkLS1wcm9tbyAudHNuei1jYXJkX19iYWRnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTAsIDI5LjYyNSwgMzcuNjI1KTtcbn1cblxuLnRzbnotY2FyZC1ncmlkX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1jYXJkLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY2FyZC1ncmlkX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1jYXJkLWdyaWRfX2hlYWRlciB7XG4gIG1heC13aWR0aDogNDMuNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNhcmQtZ3JpZF9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbi50c256LWNhcmQtZ3JpZF9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1jYXJkLWdyaWRfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuLnRzbnotY2FyZC1ncmlkX19pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1jYXJkLWdyaWRfX2l0ZW1zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIHJvdy1nYXA6IDNyZW07XG4gIGNvbHVtbi1nYXA6IDJyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNhcmQtZ3JpZF9faXRlbXMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbi50c256LWNhcmQtZ3JpZF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udHNuei1jYXJkLWdyaWRfX2NhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi50c256LWNhcmQtZ3JpZF9fbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWNhcmQtZ3JpZF9fbGluazpob3ZlciwgLnRzbnotY2FyZC1ncmlkX19saW5rOmZvY3VzIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWNhcmQtZ3JpZF9fbGluazpob3ZlciAudHNuei1jYXJkLWdyaWRfX2ltYWdlLCAudHNuei1jYXJkLWdyaWRfX2xpbms6Zm9jdXMgLnRzbnotY2FyZC1ncmlkX19pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG59XG4udHNuei1jYXJkLWdyaWRfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEpIHtcbiAgLnRzbnotY2FyZC1ncmlkX19tZWRpYSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICB9XG59XG4udHNuei1jYXJkLWdyaWRfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xufVxuLnRzbnotY2FyZC1ncmlkX19ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjYyNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNhcmQtZ3JpZF9fYm9keSB7XG4gICAgZ2FwOiAxcmVtO1xuICB9XG59XG4udHNuei1jYXJkLWdyaWRfX2NhcmQtaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotY2FyZC1ncmlkX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1jYXJkLWdyaWRfX2N0YSB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNhcmQtZ3JpZC0tMy11cCAudHNuei1jYXJkLWdyaWRfX2l0ZW1zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNhcmQtZ3JpZC0tNC11cCAudHNuei1jYXJkLWdyaWRfX2l0ZW1zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICB9XG59XG4udHNuei1jYXJkLWdyaWQtLTUtNCAudHNuei1jYXJkLWdyaWRfX21lZGlhIHtcbiAgYXNwZWN0LXJhdGlvOiA1LzQ7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDUvNCkge1xuICAudHNuei1jYXJkLWdyaWQtLTUtNCAudHNuei1jYXJkLWdyaWRfX21lZGlhIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDgwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei1jYXJkLWdyaWQtLWhpZGUtaW1hZ2VzLW1vYmlsZSAudHNuei1jYXJkLWdyaWRfX2l0ZW1zIHtcbiAgICBnYXA6IDFyZW07XG4gIH1cbiAgLnRzbnotY2FyZC1ncmlkLS1oaWRlLWltYWdlcy1tb2JpbGUgLnRzbnotY2FyZC1ncmlkX19tZWRpYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudHNuei1jYXJkLWdyaWQtLWhpZGUtaW1hZ2VzLW1vYmlsZSAudHNuei1jYXJkLWdyaWRfX2NhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgfVxuICAudHNuei1jYXJkLWdyaWQtLWhpZGUtaW1hZ2VzLW1vYmlsZSAudHNuei1jYXJkLWdyaWRfX2xpbmsge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbiAgLnRzbnotY2FyZC1ncmlkLS1oaWRlLWltYWdlcy1tb2JpbGUgLnRzbnotY2FyZC1ncmlkX19jYXJkID4gLnRzbnotY2FyZC1ncmlkX19ib2R5IHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICB9XG59XG5cbi50c256LWNvbnRlbnQtaW1hZ2VfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNvbnRlbnQtaW1hZ2VfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1pbWFnZV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC1pbWFnZV9faW5uZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiAxLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWltYWdlX19pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDRyZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtaW1hZ2VfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhc3BlY3QtcmF0aW86IDQvMztcbiAgb3JkZXI6IC0xO1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiA0LzMpIHtcbiAgLnRzbnotY29udGVudC1pbWFnZV9fbWVkaWEge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtaW1hZ2VfX21lZGlhIHtcbiAgICBvcmRlcjogMDtcbiAgfVxufVxuLnRzbnotY29udGVudC1pbWFnZV9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4udHNuei1jb250ZW50LWltYWdlX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWltYWdlX19jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIGdhcDogMS41cmVtO1xuICB9XG59XG4udHNuei1jb250ZW50LWltYWdlX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnRzbnotY29udGVudC1pbWFnZV9fYm9keSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWNvbnRlbnQtaW1hZ2VfX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNzVyZW07XG59XG4udHNuei1jb250ZW50LWltYWdlX19idXR0b25zID4gLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4td2lkdGg6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtaW1hZ2VfX2J1dHRvbnMgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWltYWdlLS1pbWFnZS1sZWZ0IC50c256LWNvbnRlbnQtaW1hZ2VfX21lZGlhIHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotY29udGVudC1pbWFnZS0tbW9iaWxlLWltYWdlLWJvdHRvbSAudHNuei1jb250ZW50LWltYWdlX19tZWRpYSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotY29udGVudC1pbWFnZS0tbW9iaWxlLWltYWdlLWhpZGRlbiAudHNuei1jb250ZW50LWltYWdlX19tZWRpYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udHNuei1jb250ZW50LWJsb2NrX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1jb250ZW50LWJsb2NrX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtYmxvY2tfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWJsb2NrX19pbm5lciB7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtYmxvY2tfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG4udHNuei1jb250ZW50LWJsb2NrX19ib2R5ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotY29udGVudC1ibG9ja19fYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC43NXJlbTtcbn1cbi50c256LWNvbnRlbnQtYmxvY2tfX2J1dHRvbnMgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1ibG9ja19fYnV0dG9ucyA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi50c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5X19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctYmxvY2s6IDIuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5X19jb250YWluZXIge1xuICAgIHBhZGRpbmctYmxvY2s6IDRyZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5X19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNjByZW07XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWJsb2NrLXNlY29uZGFyeV9faW5uZXIge1xuICAgIGdhcDogMnJlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC1ibG9jay1zZWNvbmRhcnlfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnRzbnotY29udGVudC1ibG9jay1zZWNvbmRhcnlfX2JvZHkge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5X19ib2R5ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotY29udGVudC1ibG9jay1zZWNvbmRhcnlfX2JvZHkgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRzbnotY2FzZS1zdHVkeS1oZWFkZXJfX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUzLjEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jYXNlLXN0dWR5LWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLnRzbnotY2FzZS1zdHVkeS1oZWFkZXJfX2V5ZWJyb3cge1xuICBtYXJnaW46IDAgMCAwLjVyZW07XG4gIGNvbG9yOiAjZmZjYjA1O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi50c256LWNhc2Utc3R1ZHktaGVhZGVyX190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1jYXNlLXN0dWR5LWhlYWRlcl9fcnVsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG59XG5cbi50c256LWNzLWNvbnRlbnQsXG4udHNuei1jcy12aWRlbyxcbi50c256LWNzLWltYWdlLFxuLnRzbnotY3MtcXVvdGUge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNzLWNvbnRlbnQsXG4gIC50c256LWNzLXZpZGVvLFxuICAudHNuei1jcy1pbWFnZSxcbiAgLnRzbnotY3MtcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cbn1cblxuLnRzbnotY3MtY29udGVudF9fY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTMuMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNzLWNvbnRlbnRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi50c256LWNzLWNvbnRlbnRfX2JvZHkge1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi50c256LWNzLWNvbnRlbnRfX2JvZHkgaDIsXG4udHNuei1jcy1jb250ZW50X19ib2R5IGgzLFxuLnRzbnotY3MtY29udGVudF9fYm9keSBoNCxcbi50c256LWNzLWNvbnRlbnRfX2JvZHkgaDUge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWNzLWNvbnRlbnRfX2JvZHkgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi50c256LWNzLWNvbnRlbnRfX2JvZHkgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udHNuei1jcy12aWRlb19fY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTMuMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNzLXZpZGVvX19jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4udHNuei1jcy12aWRlb19faGVhZGluZyB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnRzbnotY3MtdmlkZW9fX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1jcy12aWRlb19fbWVkaWEgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gIC50c256LWNzLXZpZGVvX19tZWRpYSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gIH1cbn1cbi50c256LWNzLXZpZGVvX19mYWNhZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udHNuei1jcy12aWRlb19fZmFjYWRlOmhvdmVyIC50c256LWNzLXZpZGVvX19wbGF5LCAudHNuei1jcy12aWRlb19fZmFjYWRlOmZvY3VzLXZpc2libGUgLnRzbnotY3MtdmlkZW9fX3BsYXkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA2KTtcbn1cbi50c256LWNzLXZpZGVvX19wb3N0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi50c256LWNzLXZpZGVvX19wbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDQuNXJlbTtcbiAgaGVpZ2h0OiA0LjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cbi50c256LWNzLXZpZGVvX19wbGF5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDU0JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC42ODc1cmVtIDAgMC42ODc1cmVtIDEuMTI1cmVtO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMzRlYTI7XG59XG5cbi50c256LWNzLWltYWdlX19jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1My4xMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY3MtaW1hZ2VfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi50c256LWNzLWltYWdlX19oZWFkaW5nIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFyZW07XG59XG4udHNuei1jcy1pbWFnZV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnRzbnotY3MtcXVvdGVfX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUzLjEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNzLXF1b3RlX19jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4udHNuei1jcy1xdW90ZV9fbWFyayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMy4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1jcy1xdW90ZV9fbWFyayAuc3ZnLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLnRzbnotY3MtcXVvdGVfX3RleHQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICM0MjQ5NTI7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuLnRzbnotY3MtcXVvdGVfX2F0dHJpYnV0aW9uIHtcbiAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cblxuLnRzbnotcGFydG5lcnNfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1ibG9jazogMi41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotcGFydG5lcnNfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcGFydG5lcnNfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcGFydG5lcnNfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ibG9jazogNHJlbTtcbiAgfVxufVxuLnRzbnotcGFydG5lcnNfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wYXJ0bmVyc19faW5uZXIge1xuICAgIGdhcDogMi41cmVtO1xuICB9XG59XG4udHNuei1wYXJ0bmVyc19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA0My43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wYXJ0bmVyc19faGVhZGVyIHtcbiAgICBnYXA6IDIuNXJlbTtcbiAgfVxufVxuLnRzbnotcGFydG5lcnNfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnRzbnotcGFydG5lcnNfX2ludHJvID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotcGFydG5lcnNfX2ludHJvIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4udHNuei1wYXJ0bmVyc19fbG9nb3Mge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDJyZW0gMS41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wYXJ0bmVyc19fbG9nb3Mge1xuICAgIGdhcDogMi41cmVtIDNyZW07XG4gIH1cbn1cbi50c256LXBhcnRuZXJzX19sb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMCAxIGNhbGMoNTAlIC0gMS41cmVtKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcGFydG5lcnNfX2xvZ28ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG4udHNuei1wYXJ0bmVyc19fbG9nbzpsYXN0LWNoaWxkOm50aC1jaGlsZChvZGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wYXJ0bmVyc19fbG9nbzpsYXN0LWNoaWxkOm50aC1jaGlsZChvZGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbi50c256LXBhcnRuZXJzX19sb2dvLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi50c256LXBhcnRuZXJzX19sb2dvLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNy41cmVtO1xuICBtYXgtaGVpZ2h0OiAyLjI1cmVtO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wYXJ0bmVyc19fbG9nby1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA5LjM3NXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAyLjVyZW07XG4gIH1cbn1cblxuLnRzbnotZW1iZWRfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWVtYmVkX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWVtYmVkX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1lbWJlZF9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuMjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWVtYmVkX19pbm5lciB7XG4gICAgZ2FwOiAycmVtO1xuICB9XG59XG4udHNuei1lbWJlZF9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZW1iZWRfX2NvbnRlbnQge1xuICAgIGdhcDogMS41cmVtO1xuICB9XG59XG4udHNuei1lbWJlZF9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cbi50c256LWVtYmVkX19ib2R5ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotZW1iZWRfX21lZGlhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbn1cbi50c256LWVtYmVkX19tZWRpYSBpZnJhbWUsXG4udHNuei1lbWJlZF9fbWVkaWEgb2JqZWN0LFxuLnRzbnotZW1iZWRfX21lZGlhIGVtYmVkLFxuLnRzbnotZW1iZWRfX21lZGlhIHZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWVtYmVkLS1oYWxmOm5vdCgudHNuei1lbWJlZC0tY2VudHJlZCkgLnRzbnotZW1iZWRfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgNjYlO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IDRyZW07XG4gIH1cbn1cbi50c256LWVtYmVkLS1jZW50cmVkIC50c256LWVtYmVkX19tZWRpYSB7XG4gIG1heC13aWR0aDogNjByZW07XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5cbi50c256LXByaW1hcnktY3RhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1wcmltYXJ5LWN0YV9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotcHJpbWFyeS1jdGFfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJpbWFyeS1jdGFfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotcHJpbWFyeS1jdGFfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbi50c256LXByaW1hcnktY3RhX19pbm5lciB7XG4gIGJhY2tncm91bmQ6ICMwMzRlYTI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ibG9jazogM3JlbTtcbiAgcGFkZGluZy1pbmxpbmU6IDEuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJpbWFyeS1jdGFfX2lubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNjUuMDYlIDY3LjM2JSBhdCAzOS43OSUgMTIuNzUlLCAjMWY2OWJjIDAlLCByZ2IoMTcsIDkxLjUsIDE3NSkgNTAlLCAjMDM0ZWEyIDEwMCUpO1xuICAgIHBhZGRpbmctYmxvY2s6IDRyZW07XG4gICAgcGFkZGluZy1pbmxpbmU6IDZyZW07XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgZ2FwOiAycmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi50c256LXByaW1hcnktY3RhX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXByaW1hcnktY3RhX19jb250ZW50IHtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDQ0LjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLnRzbnotcHJpbWFyeS1jdGEgLnRzbnotcHJpbWFyeS1jdGFfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnRzbnotcHJpbWFyeS1jdGFfX2ludHJvIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1wcmltYXJ5LWN0YV9faW50cm8gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1wcmltYXJ5LWN0YV9fYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi50c256LXByaW1hcnktY3RhX19hY3Rpb24gPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJpbWFyeS1jdGFfX2FjdGlvbiA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi50c256LWljb24tZ3JpZCB7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1pY29uLWdyaWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cbi50c256LWljb24tZ3JpZF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaWNvbi1ncmlkX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei1pY29uLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICB9XG59XG4udHNuei1pY29uLWdyaWRfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1pY29uLWdyaWRfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gIH1cbn1cbi50c256LWljb24tZ3JpZF9faXRlbXMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9faXRlbXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMi41cmVtIDFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaWNvbi1ncmlkX19pdGVtcy0tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4udHNuei1pY29uLWdyaWRfX2l0ZW1zLS1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaWNvbi1ncmlkX19pdGVtcy0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxufVxuLnRzbnotaWNvbi1ncmlkX19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4udHNuei1pY29uLWdyaWRfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9faXRlbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMuMzc1cmVtIG1pbm1heCgwLCAxZnIpO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGNvbHVtbi1nYXA6IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuLnRzbnotaWNvbi1ncmlkX19pdGVtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC43NXJlbTtcbiAgcGFkZGluZzogMS4xMjVyZW0gMS4yNXJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWljb24tZ3JpZF9faXRlbS1oZWFkZXI6aG92ZXIsIC50c256LWljb24tZ3JpZF9faXRlbS1oZWFkZXI6Zm9jdXMge1xuICBjb2xvcjogIzAzNGVhMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1pY29uLWdyaWRfX2l0ZW0taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4udHNuei1pY29uLWdyaWRfX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgZmxleDogMCAwIDJyZW07XG59XG4udHNuei1pY29uLWdyaWRfX2ljb24gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9faWNvbiB7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAyO1xuICAgIHdpZHRoOiAzLjM3NXJlbTtcbiAgICBoZWlnaHQ6IDMuMzc1cmVtO1xuICB9XG59XG4udHNuei1pY29uLWdyaWRfX2l0ZW0taGVhZGluZyB7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9faXRlbS1oZWFkaW5nIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4udHNuei1pY29uLWdyaWRfX2NhcmV0IHtcbiAgd2lkdGg6IDAuNjI1cmVtO1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xuICBmbGV4OiAwIDAgMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgYm9yZGVyLXJpZ2h0OiAwLjEyNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTI1JSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG4uaXMtYWN0aXZlID4gLnRzbnotaWNvbi1ncmlkX19pdGVtLWhlYWRlciAudHNuei1pY29uLWdyaWRfX2NhcmV0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUoLTI1JSwgLTI1JSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9fY2FyZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi50c256LWljb24tZ3JpZF9faXRlbS1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbSAxLjEyNXJlbTtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWljb24tZ3JpZF9faXRlbS1jb250ZW50IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMDtcbiAgfVxufVxuLnRzbnotaWNvbi1ncmlkX19pdGVtLWNvbnRlbnQtLXN0YXRpYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRzbnotaWNvbi1ncmlkX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50c256LWJsb2NrLS1yZWZyZXNoLWRhcmstZ3JheSAudHNuei1pY29uLWdyaWQge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cblxuLnRzbnotZmVhdHVyZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mZWF0dXJlX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50c256LWZlYXR1cmVfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbi50c256LWZlYXR1cmVfX2lubmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogMS4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMi41cmVtIDEuNXJlbTtcbiAgYmFja2dyb3VuZDogIzAzNGVhMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZV9faW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg2Ny4zNiUgNjUuMDYlIGF0IDM5Ljc5JSAxMi43NSUsICMxZjY5YmMgMCUsIHJnYigxNywgOTEuNSwgMTc1KSA1MCUsICMwMzRlYTIgMTAwJSk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMnJlbTtcbiAgICBwYWRkaW5nOiAwIDZyZW07XG4gIH1cbn1cbi50c256LWZlYXR1cmVfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuMjVyZW07XG4gIG1pbi13aWR0aDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mZWF0dXJlX19jb250ZW50IHtcbiAgICBnYXA6IDJyZW07XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi50c256LWZlYXR1cmUgLnRzbnotZmVhdHVyZV9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG4udHNuei1mZWF0dXJlX19ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWZlYXR1cmVfX2JvZHkgPiAqIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZV9fYm9keSB7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbi50c256LWZlYXR1cmVfX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC43NXJlbTtcbn1cbi50c256LWZlYXR1cmVfX2J1dHRvbnMgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZV9fYnV0dG9ucyA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG4udHNuei1mZWF0dXJlX19tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9yZGVyOiAtMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZV9fbWVkaWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG4udHNuei1mZWF0dXJlX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mZWF0dXJlX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMjVyZW0pO1xuICB9XG59XG5cbi50c256LWZlYXR1cmUtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAzNGVhMjtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZlYXR1cmUtc2Vjb25kYXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDY1LjA2JSA2Ny4zNiUgYXQgMzkuNzklIDEyLjc1JSwgIzFmNjliYyAwJSwgcmdiKDE3LCA5MS41LCAxNzUpIDUwJSwgIzAzNGVhMiAxMDAlKTtcbiAgICBtYXJnaW4tYmxvY2s6IDIuNXJlbTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19jb250YWluZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9faW5uZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDFyZW07XG4gIHJvdy1nYXA6IDEuMjVyZW07XG4gIHBhZGRpbmctYmxvY2s6IDIuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2lubmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMCUgMWZyO1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgcGFkZGluZy1ibG9jazogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2lubmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0MiUgMWZyO1xuICB9XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9fY29udGVudCB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mZWF0dXJlLXNlY29uZGFyeV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMS41cmVtO1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nLWJsb2NrOiA0cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAudHNuei1mZWF0dXJlLXNlY29uZGFyeV9fY29udGVudCB7XG4gICAgcGFkZGluZy1ibG9jazogNHJlbTtcbiAgfVxufVxuLnRzbnotZmVhdHVyZS1zZWNvbmRhcnkgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudHNuei1mZWF0dXJlLXNlY29uZGFyeSAudHNuei1mZWF0dXJlLXNlY29uZGFyeV9faGVhZGluZyB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gIH1cbn1cbi50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19ib2R5IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9fYm9keSBwIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjc0ODc1ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2JvZHkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudHNuei1mZWF0dXJlLXNlY29uZGFyeV9fYm9keSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbn1cbi50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19ib2R5ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX21lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi13aWR0aDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX21lZGlhIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX21lZGlhIHtcbiAgICBtYXgtd2lkdGg6IDZyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMi41cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA1cmVtKTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2FzaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xuICBtaW4td2lkdGg6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19hc2lkZSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2FzaWRlIHtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ibG9jazogNnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2FzaWRlIHtcbiAgICBwYWRkaW5nLWJsb2NrOiA0cmVtO1xuICB9XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9fYXNpZGUtY29weSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2FzaWRlLWNvcHkge1xuICAgIGdhcDogMXJlbTtcbiAgfVxufVxuLnRzbnotZmVhdHVyZS1zZWNvbmRhcnkgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2FzaWRlLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19hc2lkZS1ib2R5IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9fYXNpZGUtYm9keSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWZlYXR1cmUtc2Vjb25kYXJ5X19idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAuNzVyZW07XG59XG4udHNuei1mZWF0dXJlLXNlY29uZGFyeV9fYnV0dG9ucyA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mZWF0dXJlLXNlY29uZGFyeV9fYnV0dG9ucyA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi50c256LXR3by1jb2x1bW4tZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXR3by1jb2x1bW4tZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19pbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IDEuMjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXR3by1jb2x1bW4tZmVhdHVyZV9faW5uZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDJyZW07XG4gIH1cbn1cbi50c256LXR3by1jb2x1bW4tZmVhdHVyZV9fY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlOGVmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei10d28tY29sdW1uLWZlYXR1cmVfX2NvbHVtbiB7XG4gICAgZ2FwOiAycmVtO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbn1cbi50c256LXR3by1jb2x1bW4tZmVhdHVyZV9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFzcGVjdC1yYXRpbzogMS44NDQ2NjAxOTQyO1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxLzEpIHtcbiAgLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19tZWRpYSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1NC4yMTA1MjYzMTU4JTtcbiAgfVxufVxuLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi50c256LXR3by1jb2x1bW4tZmVhdHVyZV9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19jb250ZW50IHtcbiAgICBnYXA6IDEuNXJlbTtcbiAgfVxufVxuLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX190ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei10d28tY29sdW1uLWZlYXR1cmVfX3RleHQge1xuICAgIGdhcDogMS4yNXJlbTtcbiAgfVxufVxuLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnRzbnotdHdvLWNvbHVtbi1mZWF0dXJlX19ib2R5IHtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG4udHNuei10d28tY29sdW1uLWZlYXR1cmVfX2JvZHkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei10d28tY29sdW1uLWZlYXR1cmVfX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei10d28tY29sdW1uLWZlYXR1cmVfX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cbn1cbi50c256LXR3by1jb2x1bW4tZmVhdHVyZV9fYnV0dG9ucyA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei10d28tY29sdW1uLWZlYXR1cmVfX2J1dHRvbnMgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4udHNuei1hY2NvcmRpb24tYmxvY2sge1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi50c256LWFjY29yZGlvbi1ibG9ja19fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotYWNjb3JkaW9uLWJsb2NrX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWFjY29yZGlvbi1ibG9ja19fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei1hY2NvcmRpb24tYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWFjY29yZGlvbi1ibG9ja19fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNWZyIDdmcjtcbiAgICBjb2x1bW4tZ2FwOiA0cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWFjY29yZGlvbi1ibG9jay0tbm8tY29udGVudCAudHNuei1hY2NvcmRpb24tYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgfVxufVxuLnRzbnotYWNjb3JkaW9uLWJsb2NrX19jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYWNjb3JkaW9uLWJsb2NrX19jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4udHNuei1hY2NvcmRpb24tYmxvY2tfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWFjY29yZGlvbi1ibG9ja19fY29weSBwIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NDg3NWVtKSB7XG4gIC50c256LWFjY29yZGlvbi1ibG9ja19fY29weSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICB9XG59XG4udHNuei1hY2NvcmRpb24tYmxvY2tfX2NvcHkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1hY2NvcmRpb24tYmxvY2tfX2FjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NDg3NWVtKSB7XG4gIC50c256LWFjY29yZGlvbi1ibG9ja19fYWN0aW9ucyAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnRzbnotYWNjb3JkaW9uLWJsb2NrX19pdGVtcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi50c256LWFjY29yZGlvbi1ibG9ja19faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnRzbnotYWNjb3JkaW9uLWJsb2NrX19pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLnRzbnotYWNjb3JkaW9uLWJsb2NrX19pdGVtLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei1hY2NvcmRpb24tYmxvY2tfX2l0ZW0taGVhZGVyOmhvdmVyLCAudHNuei1hY2NvcmRpb24tYmxvY2tfX2l0ZW0taGVhZGVyOmZvY3VzIHtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYWNjb3JkaW9uLWJsb2NrX19pdGVtLWhlYWRlciB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICB9XG59XG4udHNuei1hY2NvcmRpb24tYmxvY2tfX3F1ZXN0aW9uIHtcbiAgbWluLXdpZHRoOiAwO1xuICBmbGV4OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWFjY29yZGlvbi1ibG9ja19fY2FyZXQge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBmbGV4OiAwIDAgMS4yNXJlbTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ljb25zL2NhcmV0LWRvd24uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG4uaXMtYWN0aXZlID4gLnRzbnotYWNjb3JkaW9uLWJsb2NrX19pdGVtLWhlYWRlciAudHNuei1hY2NvcmRpb24tYmxvY2tfX2NhcmV0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYWNjb3JkaW9uLWJsb2NrX19jYXJldCB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmbGV4LWJhc2lzOiAyLjVyZW07XG4gIH1cbn1cbi50c256LWFjY29yZGlvbi1ibG9ja19faXRlbS1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMC42MjVyZW0gMCAxLjI1cmVtO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotYWNjb3JkaW9uLWJsb2NrX19pdGVtLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwIDFyZW07XG4gIH1cbn1cbi50c256LWFjY29yZGlvbi1ibG9ja19fYW5zd2VyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udHNuei1jdGFfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLnRzbnotY3RhX190b3Age1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIzNDZkO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jdGFfX3RvcCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgfVxufVxuXG4udHNuei1jdGFfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY3RhX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICB9XG59XG5cbi50c256LWN0YV9faGVhZGluZyB7XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotY3RhX19oZWFkaW5nOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udHNuei1jdGFfX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4udHNuei1jdGEtLWJsdWUgLnRzbnotY3RhX193cmFwcGVyLCAudHNuei1jdGEtLW1hcC1ueiAudHNuei1jdGFfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyLjYyOTA5MDkwOTEsIDY4LjM1NjM2MzYzNjQsIDE0MS45NzA5MDkwOTA5KTtcbn1cbkBzdXBwb3J0cyAoYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIHJnYigyLjYyOTA5MDkwOTEsIDY4LjM1NjM2MzYzNjQsIDE0MS45NzA5MDkwOTA5KSwgIzAzNGVhMikpIHtcbiAgLnRzbnotY3RhLS1ibHVlIC50c256LWN0YV9fd3JhcHBlciwgLnRzbnotY3RhLS1tYXAtbnogLnRzbnotY3RhX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBjb25pYy1ncmFkaWVudChmcm9tIDEwMGRlZywgcmdiKDIuNjI5MDkwOTA5MSwgNjguMzU2MzYzNjM2NCwgMTQxLjk3MDkwOTA5MDkpLCAjMDM0ZWEyKTtcbiAgfVxufVxuLnRzbnotY3RhLS1ibHVlIC50c256LWN0YV9fdG9wLCAudHNuei1jdGEtLW1hcC1ueiAudHNuei1jdGFfX3RvcCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udHNuei1jdGEtLWJsdWUgLnRzbnotY3RhX19jb250ZW50LCAudHNuei1jdGEtLW1hcC1ueiAudHNuei1jdGFfX2NvbnRlbnQge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWN0YS0tbWFwLW56IC50c256LWN0YV9fd3JhcHBlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL21hcC1uZXctemVhbGFuZC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuLnRzbnotY3RhLS1tYXAtbnogLnRzbnotY3RhX190b3Age1xuICBwYWRkaW5nLXJpZ2h0OiA0OSU7XG59XG4udHNuei1jdGEtLW1hcC1ueiAudHNuei1jdGFfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1yaWdodDogNDklO1xufVxuLnRzbnotY3RhLS1zaW1wbGUgLnRzbnotY3RhX190b3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotY3RhLS1zaW1wbGUgLnRzbnotY3RhX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5cbi50c256LXNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyLjYyOTA5MDkwOTEsIDY4LjM1NjM2MzYzNjQsIDE0MS45NzA5MDkwOTA5KTtcbn1cbkBzdXBwb3J0cyAoYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIHJnYigyLjYyOTA5MDkwOTEsIDY4LjM1NjM2MzYzNjQsIDE0MS45NzA5MDkwOTA5KSwgIzAzNGVhMikpIHtcbiAgLnRzbnotc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBjb25pYy1ncmFkaWVudChmcm9tIDEwMGRlZywgcmdiKDIuNjI5MDkwOTA5MSwgNjguMzU2MzYzNjM2NCwgMTQxLjk3MDkwOTA5MDkpLCAjMDM0ZWEyKTtcbiAgfVxufVxuLnRzbnotc2VhcmNoX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuLnRzbnotc2VhcmNoX19mb3JtIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1heC13aWR0aDogNTBlbTtcbiAgcGFkZGluZzogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXNlYXJjaF9fZm9ybSB7XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZmZmZmZmO1xuICB9XG59XG4udHNuei1zZWFyY2hfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotc2VhcmNoX19pbnB1dHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLnRzbnotc2VhcmNoX19pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgcGFkZGluZzogMC40ZW07XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZjYjA1O1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1zZWFyY2hfX2lucHV0IHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLnRzbnotc2VhcmNoX19idXR0b24ge1xuICB3aWR0aDogMjUlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotc2VhcmNoX19idXR0b24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4udHNuei1zZWFyY2hfX3F1aWNrLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbi50c256LXNlYXJjaF9fcXVpY2stbGlua3MtdGl0bGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAycHggI2ZmZmZmZjtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1zZWFyY2hfX3F1aWNrLWxpbmtzLWNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotc2VhcmNoX19xdWljay1saW5rcy1jb2x1bW4ge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cbn1cbi50c256LXNlYXJjaF9fcXVpY2stbGlua3MtY29sdW1uIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1zZWFyY2hfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZjYjA1O1xuICB6LWluZGV4OiA5OTk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1zZWFyY2hfX2Nsb3NlIHtcbiAgICB0b3A6IDJyZW07XG4gICAgcmlnaHQ6IDJyZW07XG4gIH1cbn1cblxuLnRzbnotYWNjb3JkaW9uX193cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWFjY29yZGlvbl9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIzLjc1ZW0pIHtcbiAgLnRzbnotYWNjb3JkaW9uX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4udHNuei1hY2NvcmRpb25fX2FjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLnRzbnotYWNjb3JkaW9uX19hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnRzbnotYWNjb3JkaW9uX190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbjpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC50c256LWFjY29yZGlvbl9fdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLnRzbnotYWNjb3JkaW9uX190aXRsZTpob3ZlciwgLnRzbnotYWNjb3JkaW9uX190aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRzbnotYWNjb3JkaW9uX190aXRsZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGNvbnRlbnQ6IFwiK1wiO1xufVxuLmlzLWFjdGl2ZSA+IC50c256LWFjY29yZGlvbl9fdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCTXCI7XG59XG4udHNuei1hY2NvcmRpb25fX3RpdGxlOmhvdmVyLCAudHNuei1hY2NvcmRpb25fX3RpdGxlOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotYWNjb3JkaW9uX190aXRsZTpiZWZvcmUge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi50c256LWFjY29yZGlvbl9faXRlbSB7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjZTRlNGU0O1xufVxuLnRzbnotYWNjb3JkaW9uX19pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi50c256LWFjY29yZGlvbl9faXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLnRzbnotYWNjb3JkaW9uX19pdGVtLmxhc3Qge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U0ZTRlNDtcbn1cbi50c256LWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUge1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2ZmY2IwNTtcbn1cbi50c256LWFjY29yZGlvbl9fY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAxcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuOmxhc3QtY2hpbGQgPiAudHNuei1hY2NvcmRpb25fX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi50c256LW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotbmF2X19lbnF1aXJ5LWJ1dHRvbiB7XG4gIG1hcmdpbjogMXJlbTtcbn1cbi50c256LW5hdl9fY2xvc2UtYnV0dG9uIGJ1dHRvbiB7XG4gIHRvcDogMS4yNXJlbTtcbn1cbi50c256LW5hdl9fY2hpbGQtbGlzdCwgLnRzbnotbmF2X19ncmFuZGNoaWxkLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotbmF2X19jaGlsZC1saXN0IGxpLCBbZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LW5hdl9fY2hpbGQtbGlzdCBhLFxuLnRzbnotbmF2X19jaGlsZC1saXN0IC5idXR0b24sIC50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGEsXG4udHNuei1uYXZfX2dyYW5kY2hpbGQtbGlzdCAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbn1cbi50c256LW5hdl9fY2hpbGQtbGlzdCBpbnB1dCxcbi50c256LW5hdl9fY2hpbGQtbGlzdCBzZWxlY3QsXG4udHNuei1uYXZfX2NoaWxkLWxpc3QgYSxcbi50c256LW5hdl9fY2hpbGQtbGlzdCBidXR0b24sIC50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGlucHV0LFxuLnRzbnotbmF2X19ncmFuZGNoaWxkLWxpc3Qgc2VsZWN0LFxuLnRzbnotbmF2X19ncmFuZGNoaWxkLWxpc3QgYSxcbi50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1uYXZfX2NoaWxkLWxpc3QgaW5wdXQsIC50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnRzbnotbmF2X19saXN0LCAudHNuei1uYXZfX2NoaWxkLWxpc3QsIC50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotbmF2X19saXN0W2hyZWZdLFxuLnRzbnotbmF2X19saXN0IGEsIC50c256LW5hdl9fY2hpbGQtbGlzdFtocmVmXSxcbi50c256LW5hdl9fY2hpbGQtbGlzdCBhLCAudHNuei1uYXZfX2dyYW5kY2hpbGQtbGlzdFtocmVmXSxcbi50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotbmF2X19saXN0W2hyZWZdOmhvdmVyLFxuLnRzbnotbmF2X19saXN0IGE6aG92ZXIsIC50c256LW5hdl9fY2hpbGQtbGlzdFtocmVmXTpob3Zlcixcbi50c256LW5hdl9fY2hpbGQtbGlzdCBhOmhvdmVyLCAudHNuei1uYXZfX2dyYW5kY2hpbGQtbGlzdFtocmVmXTpob3Zlcixcbi50c256LW5hdl9fZ3JhbmRjaGlsZC1saXN0IGE6aG92ZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ub3BlbnMtcmlnaHQgLnRzbnotbmF2X19jaGlsZC1saXN0LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gIGxlZnQ6IDA7XG59XG4ub3BlbnMtbGVmdCAudHNuei1uYXZfX2NoaWxkLWxpc3QuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4uc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dCwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19saW5rLXRleHQsIC5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fY2hpbGQtdGV4dCwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0LCAuc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dCwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQge1xuICB0ZXh0LXNoYWRvdzogMC4wM2VtIDAgIzAzNGVhMiwgLTAuMDNlbSAwICMwMzRlYTIsIDAgMC4wM2VtICMwMzRlYTIsIDAgLTAuMDNlbSAjMDM0ZWEyLCAwLjA2ZW0gMCAjMDM0ZWEyLCAtMC4wNmVtIDAgIzAzNGVhMiwgMC4wOWVtIDAgIzAzNGVhMiwgLTAuMDllbSAwICMwMzRlYTIsIDAuMTJlbSAwICMwMzRlYTIsIC0wLjEyZW0gMCAjMDM0ZWEyLCAwLjE1ZW0gMCAjMDM0ZWEyLCAtMC4xNWVtIDAgIzAzNGVhMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmZmNiMDUsICNmZmNiMDUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiAxcHggMXB4O1xuICBjb2xvcjogI2ZmY2IwNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19saW5rLXRleHQ6OnNlbGVjdGlvbiwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19saW5rLXRleHQ6OnNlbGVjdGlvbiwgLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0OjpzZWxlY3Rpb24sIC5jdXJyZW50ID4gYSA+IC50c256LW5hdl9fY2hpbGQtdGV4dDo6c2VsZWN0aW9uLCAuc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dDo6c2VsZWN0aW9uLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dDo6c2VsZWN0aW9uIHtcbiAgdGV4dC1zaGFkb3c6IDAuMDNlbSAwICNlNGU0ZTQsIC0wLjAzZW0gMCAjZTRlNGU0LCAwIDAuMDNlbSAjZTRlNGU0LCAwIC0wLjAzZW0gI2U0ZTRlNCwgMC4wNmVtIDAgI2U0ZTRlNCwgLTAuMDZlbSAwICNlNGU0ZTQsIDAuMDllbSAwICNlNGU0ZTQsIC0wLjA5ZW0gMCAjZTRlNGU0LCAwLjEyZW0gMCAjZTRlNGU0LCAtMC4xMmVtIDAgI2U0ZTRlNCwgMC4xNWVtIDAgI2U0ZTRlNCwgLTAuMTVlbSAwICNlNGU0ZTQ7XG4gIGJhY2tncm91bmQ6ICNlNGU0ZTQ7XG59XG4uc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDo6LW1vei1zZWxlY3Rpb24sIC5jdXJyZW50ID4gYSA+IC50c256LW5hdl9fbGluay10ZXh0OjotbW96LXNlbGVjdGlvbiwgLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0OjotbW96LXNlbGVjdGlvbiwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0OjotbW96LXNlbGVjdGlvbiwgLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQ6Oi1tb3otc2VsZWN0aW9uLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dDo6LW1vei1zZWxlY3Rpb24ge1xuICB0ZXh0LXNoYWRvdzogMC4wM2VtIDAgI2U0ZTRlNCwgLTAuMDNlbSAwICNlNGU0ZTQsIDAgMC4wM2VtICNlNGU0ZTQsIDAgLTAuMDNlbSAjZTRlNGU0LCAwLjA2ZW0gMCAjZTRlNGU0LCAtMC4wNmVtIDAgI2U0ZTRlNCwgMC4wOWVtIDAgI2U0ZTRlNCwgLTAuMDllbSAwICNlNGU0ZTQsIDAuMTJlbSAwICNlNGU0ZTQsIC0wLjEyZW0gMCAjZTRlNGU0LCAwLjE1ZW0gMCAjZTRlNGU0LCAtMC4xNWVtIDAgI2U0ZTRlNDtcbiAgYmFja2dyb3VuZDogI2U0ZTRlNDtcbn1cbi5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fbGluay10ZXh0ICosXG4uc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dCAqOmFmdGVyLCAuc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDphZnRlcixcbi5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fbGluay10ZXh0ICo6YmVmb3JlLCAuc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDpiZWZvcmUsIC5jdXJyZW50ID4gYSA+IC50c256LW5hdl9fbGluay10ZXh0ICosXG4uY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dCAqOmFmdGVyLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDphZnRlcixcbi5jdXJyZW50ID4gYSA+IC50c256LW5hdl9fbGluay10ZXh0ICo6YmVmb3JlLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDpiZWZvcmUsIC5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fY2hpbGQtdGV4dCAqLFxuLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0ICo6YWZ0ZXIsIC5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fY2hpbGQtdGV4dDphZnRlcixcbi5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fY2hpbGQtdGV4dCAqOmJlZm9yZSwgLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0OmJlZm9yZSwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0ICosXG4uY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2NoaWxkLXRleHQgKjphZnRlciwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0OmFmdGVyLFxuLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0ICo6YmVmb3JlLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2NoaWxkLXRleHQ6YmVmb3JlLCAuc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dCAqLFxuLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQgKjphZnRlciwgLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQ6YWZ0ZXIsXG4uc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dCAqOmJlZm9yZSwgLnNlY3Rpb24gPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQ6YmVmb3JlLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dCAqLFxuLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQgKjphZnRlciwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQ6YWZ0ZXIsXG4uY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2dyYW5kY2hpbGQtdGV4dCAqOmJlZm9yZSwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19ncmFuZGNoaWxkLXRleHQ6YmVmb3JlIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4uc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDp2aXNpdGVkLCAuY3VycmVudCA+IGEgPiAudHNuei1uYXZfX2xpbmstdGV4dDp2aXNpdGVkLCAuc2VjdGlvbiA+IGEgPiAudHNuei1uYXZfX2NoaWxkLXRleHQ6dmlzaXRlZCwgLmN1cnJlbnQgPiBhID4gLnRzbnotbmF2X19jaGlsZC10ZXh0OnZpc2l0ZWQsIC5zZWN0aW9uID4gYSA+IC50c256LW5hdl9fZ3JhbmRjaGlsZC10ZXh0OnZpc2l0ZWQsIC5jdXJyZW50ID4gYSA+IC50c256LW5hdl9fZ3JhbmRjaGlsZC10ZXh0OnZpc2l0ZWQge1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LW5hdl9fZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjVyZW07XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4udHNuei1uYXZfX2N0YXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNzVyZW07XG59XG4udHNuei1uYXZfX2N0YXMgLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udHNuei1uYXZfX3Bob25lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjEyNXJlbTtcbn1cbi50c256LW5hdl9fcGhvbmUtbGFiZWwge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDkzNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udHNuei1uYXZfX3Bob25lLW51bWJlciB7XG4gIGNvbG9yOiAjZmZjYjA1O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbi50c256LW5hdl9fcGhvbmUtbnVtYmVyOmhvdmVyLCAudHNuei1uYXZfX3Bob25lLW51bWJlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotbmF2X19zb2NpYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMC42MjVyZW07XG59XG4udHNuei1uYXZfX3NvY2lhbC1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyLjQzNzVyZW07XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotbmF2X19zb2NpYWwtaWNvbjpob3ZlciwgLnRzbnotbmF2X19zb2NpYWwtaWNvbjpmb2N1cyB7XG4gIGNvbG9yOiAjZTRlNGU0O1xufVxuLnRzbnotbmF2X19zb2NpYWwtaWNvbiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi50c256LW5hdi0tdmVydGljYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAycmVtO1xufVxuLnRzbnotbmF2LS12ZXJ0aWNhbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udHNuei1uYXYtLXZlcnRpY2FsIC50c256LW5hdl9fbGlzdCxcbi50c256LW5hdi0tdmVydGljYWwgLnRzbnotbmF2X19tZWdhLW1lbnUsXG4udHNuei1uYXYtLXZlcnRpY2FsIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLnRzbnotbmF2X19pdGVtLFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAudHNuei1uYXZfX2NoaWxkLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLnRzbnotbmF2X19saW5rLFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAudHNuei1uYXZfX2NoaWxkLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxLjVyZW0gMS4xMjVyZW0gMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLnRzbnotbmF2X19saW5rOmhvdmVyLCAudHNuei1uYXYtLXZlcnRpY2FsIC50c256LW5hdl9fbGluazpmb2N1cyxcbi50c256LW5hdi0tdmVydGljYWwgLnRzbnotbmF2X19jaGlsZC1saW5rOmhvdmVyLFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAudHNuei1uYXZfX2NoaWxkLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmlzLWRyaWxsZG93bi1zdWJtZW51IC50c256LW5hdl9fY2hpbGQtbGluayB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDEuNXJlbSAxLjEyNXJlbSAwO1xufVxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuaXMtYWN0aXZlID4gLnRzbnotbmF2X19saW5rLFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuaXMtYWN0aXZlID4gLnRzbnotbmF2X19jaGlsZC1saW5rLFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuc2VjdGlvbiA+IC50c256LW5hdl9fbGluayxcbi50c256LW5hdi0tdmVydGljYWwgLnNlY3Rpb24gPiAudHNuei1uYXZfX2NoaWxkLWxpbmssXG4udHNuei1uYXYtLXZlcnRpY2FsIC5jdXJyZW50ID4gLnRzbnotbmF2X19saW5rLFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuY3VycmVudCA+IC50c256LW5hdl9fY2hpbGQtbGluayB7XG4gIGNvbG9yOiAjZmZjYjA1O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmlzLWFjdGl2ZSAudHNuei1uYXZfX2xpbmstdGV4dCxcbi50c256LW5hdi0tdmVydGljYWwgLmlzLWFjdGl2ZSAudHNuei1uYXZfX2NoaWxkLXRleHQsXG4udHNuei1uYXYtLXZlcnRpY2FsIC5zZWN0aW9uIC50c256LW5hdl9fbGluay10ZXh0LFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuc2VjdGlvbiAudHNuei1uYXZfX2NoaWxkLXRleHQsXG4udHNuei1uYXYtLXZlcnRpY2FsIC5jdXJyZW50IC50c256LW5hdl9fbGluay10ZXh0LFxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuY3VycmVudCAudHNuei1uYXZfX2NoaWxkLXRleHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMC4yNXJlbTtcbiAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIGJvcmRlcjogc29saWQgI2ZmY2IwNTtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwIDEuMTI1cmVtO1xuICBjb2xvcjogI2ZmY2IwNTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gIGJvcmRlcjogc29saWQgI2ZmY2IwNTtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cbi50c256LW5hdi0tdmVydGljYWwgLmlzLXN1Ym1lbnUtcGFyZW50LWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuaXMtc3VibWVudS1wYXJlbnQtaXRlbSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAwIDAuNXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnRzbnotbmF2LS12ZXJ0aWNhbCAuaXMtc3VibWVudS1wYXJlbnQtaXRlbSA+IGE6aG92ZXIsIC50c256LW5hdi0tdmVydGljYWwgLmlzLXN1Ym1lbnUtcGFyZW50LWl0ZW0gPiBhOmZvY3VzIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1uYXYtLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbFtocmVmXSxcbi50c256LW5hdi0taG9yaXpvbnRhbCBhIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbFtocmVmXTpob3Zlcixcbi50c256LW5hdi0taG9yaXpvbnRhbCBhOmhvdmVyIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotbmF2LS1ob3Jpem9udGFsLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbWVnYS1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG59XG4udHNuei1uYXYtLWhvcml6b250YWwgLnRzbnotbmF2X19pdGVtIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbGluaywgLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbGluazpob3ZlciwgLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbGluazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX2xpbmsgLnRzbnotbmF2X19saW5rLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHNuei1uYXYtLWhvcml6b250YWwgLnRzbnotbmF2X19saW5rIC50c256LW5hdl9fbGluay10ZXh0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyA2cHgpO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbGluazpob3ZlciAudHNuei1uYXZfX2xpbmstdGV4dDo6YWZ0ZXIsIC50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX2xpbms6Zm9jdXMgLnRzbnotbmF2X19saW5rLXRleHQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX2l0ZW0uc2VjdGlvbiAudHNuei1uYXZfX2xpbmstdGV4dCxcbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX2l0ZW0uY3VycmVudCAudHNuei1uYXZfX2xpbmstdGV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udHNuei1uYXYtLWhvcml6b250YWwgLnRzbnotbmF2X19pdGVtLnNlY3Rpb24gLnRzbnotbmF2X19saW5rLXRleHQ6OmFmdGVyLFxuLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9faXRlbS5jdXJyZW50IC50c256LW5hdl9fbGluay10ZXh0OjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4udHNuei1uYXYtLWhvcml6b250YWwgLnRzbnotbmF2X19pdGVtOmZpcnN0LWNoaWxkIC50c256LW5hdl9fbGluayB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX2xpc3Qge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX21lZ2EtbWVudSB7XG4gIHRvcDogODAlO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cbi50c256LW5hdi0taG9yaXpvbnRhbCAudHNuei1uYXZfX21lZ2EtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICB0b3A6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udHNuei1tZWdhLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzQyNDk1MjtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCA1cHggI2ZmY2IwNTtcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplLWFkanVzdDogMC42O1xufVxuLnRzbnotbWVnYS1tZW51W2hyZWZdLFxuLnRzbnotbWVnYS1tZW51IGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotbWVnYS1tZW51W2hyZWZdOmhvdmVyLFxuLnRzbnotbWVnYS1tZW51IGE6aG92ZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei1tZWdhLW1lbnVfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA4NnJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG4udHNuei1tZWdhLW1lbnVfX2NvbnRhaW5lcjpiZWZvcmUsIC50c256LW1lZ2EtbWVudV9fY29udGFpbmVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDJlbTtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDI1JTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAzNGVhMjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDM0ZWEyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50c256LW1lZ2EtbWVudV9fY29udGFpbmVyOmFmdGVyIHtcbiAgbGVmdDogNTAlO1xufVxuLnRzbnotbWVnYS1tZW51X193cmFwcGVyIHtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LW1lZ2EtbWVudV9faXRlbSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMjUlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuLnRzbnotbWVnYS1tZW51X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udHNuei1tZWdhLW1lbnVfX2xpc3Qge1xuICBtYXJnaW46IDFlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udHNuei1tZWdhLW1lbnVfX2xpc3QsIC50c256LW1lZ2EtbWVudV9fZGVzY3JpcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnRzbnotbWVnYS1tZW51X190ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuLnRzbnotbWVnYS1tZW51X190ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuOmhvdmVyID4gLnRzbnotbWVnYS1tZW51X190ZXh0IHtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4uY3VycmVudCA+IGEgPiAudHNuei1tZWdhLW1lbnVfX3RleHQge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi5jdXJyZW50ID4gYSA+IC50c256LW1lZ2EtbWVudV9fdGV4dDpob3ZlciwgLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X190ZXh0OmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotbWVnYS1tZW51X19saXN0LWxpbmsge1xuICBwYWRkaW5nLXRvcDogMC4xMjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uY3VycmVudCA+IC50c256LW1lZ2EtbWVudV9fbGlzdC1saW5rIHtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4uY3VycmVudCA+IC50c256LW1lZ2EtbWVudV9fbGlzdC1saW5rOmhvdmVyLCAuY3VycmVudCA+IC50c256LW1lZ2EtbWVudV9fbGlzdC1saW5rOmFjdGl2ZSB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuOmhvdmVyID4gLnRzbnotbWVnYS1tZW51X19saXN0LXRleHQge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi5jdXJyZW50ID4gYSA+IC50c256LW1lZ2EtbWVudV9fdGV4dCwgLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X19saXN0LXRleHQge1xuICB0ZXh0LXNoYWRvdzogMC4wM2VtIDAgI2Y2ZjZmNiwgLTAuMDNlbSAwICNmNmY2ZjYsIDAgMC4wM2VtICNmNmY2ZjYsIDAgLTAuMDNlbSAjZjZmNmY2LCAwLjA2ZW0gMCAjZjZmNmY2LCAtMC4wNmVtIDAgI2Y2ZjZmNiwgMC4wOWVtIDAgI2Y2ZjZmNiwgLTAuMDllbSAwICNmNmY2ZjYsIDAuMTJlbSAwICNmNmY2ZjYsIC0wLjEyZW0gMCAjZjZmNmY2LCAwLjE1ZW0gMCAjZjZmNmY2LCAtMC4xNWVtIDAgI2Y2ZjZmNjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMwMzRlYTIsICMwMzRlYTIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1zaXplOiAxcHggMXB4O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X190ZXh0OjpzZWxlY3Rpb24sIC5jdXJyZW50ID4gYSA+IC50c256LW1lZ2EtbWVudV9fbGlzdC10ZXh0OjpzZWxlY3Rpb24ge1xuICB0ZXh0LXNoYWRvdzogMC4wM2VtIDAgI2U0ZTRlNCwgLTAuMDNlbSAwICNlNGU0ZTQsIDAgMC4wM2VtICNlNGU0ZTQsIDAgLTAuMDNlbSAjZTRlNGU0LCAwLjA2ZW0gMCAjZTRlNGU0LCAtMC4wNmVtIDAgI2U0ZTRlNCwgMC4wOWVtIDAgI2U0ZTRlNCwgLTAuMDllbSAwICNlNGU0ZTQsIDAuMTJlbSAwICNlNGU0ZTQsIC0wLjEyZW0gMCAjZTRlNGU0LCAwLjE1ZW0gMCAjZTRlNGU0LCAtMC4xNWVtIDAgI2U0ZTRlNDtcbiAgYmFja2dyb3VuZDogI2U0ZTRlNDtcbn1cbi5jdXJyZW50ID4gYSA+IC50c256LW1lZ2EtbWVudV9fdGV4dDo6LW1vei1zZWxlY3Rpb24sIC5jdXJyZW50ID4gYSA+IC50c256LW1lZ2EtbWVudV9fbGlzdC10ZXh0OjotbW96LXNlbGVjdGlvbiB7XG4gIHRleHQtc2hhZG93OiAwLjAzZW0gMCAjZTRlNGU0LCAtMC4wM2VtIDAgI2U0ZTRlNCwgMCAwLjAzZW0gI2U0ZTRlNCwgMCAtMC4wM2VtICNlNGU0ZTQsIDAuMDZlbSAwICNlNGU0ZTQsIC0wLjA2ZW0gMCAjZTRlNGU0LCAwLjA5ZW0gMCAjZTRlNGU0LCAtMC4wOWVtIDAgI2U0ZTRlNCwgMC4xMmVtIDAgI2U0ZTRlNCwgLTAuMTJlbSAwICNlNGU0ZTQsIDAuMTVlbSAwICNlNGU0ZTQsIC0wLjE1ZW0gMCAjZTRlNGU0O1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xufVxuLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X190ZXh0ICosXG4uY3VycmVudCA+IGEgPiAudHNuei1tZWdhLW1lbnVfX3RleHQgKjphZnRlciwgLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X190ZXh0OmFmdGVyLFxuLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X190ZXh0ICo6YmVmb3JlLCAuY3VycmVudCA+IGEgPiAudHNuei1tZWdhLW1lbnVfX3RleHQ6YmVmb3JlLCAuY3VycmVudCA+IGEgPiAudHNuei1tZWdhLW1lbnVfX2xpc3QtdGV4dCAqLFxuLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X19saXN0LXRleHQgKjphZnRlciwgLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X19saXN0LXRleHQ6YWZ0ZXIsXG4uY3VycmVudCA+IGEgPiAudHNuei1tZWdhLW1lbnVfX2xpc3QtdGV4dCAqOmJlZm9yZSwgLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X19saXN0LXRleHQ6YmVmb3JlIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4uY3VycmVudCA+IGEgPiAudHNuei1tZWdhLW1lbnVfX3RleHQ6dmlzaXRlZCwgLmN1cnJlbnQgPiBhID4gLnRzbnotbWVnYS1tZW51X19saXN0LXRleHQ6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuXG4udHNuei1uYXZfX21lZ2EtaG9zdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbWVnYS1ob3N0IH4gLnRzbnotbmF2X19jaGlsZC1pdGVtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRzbnotbWVnYS1wYW5lbCB7XG4gIGNvbG9yOiAjNDI0OTUyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4udHNuei1tZWdhLXBhbmVsX19jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDc4cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDMycHggMCByZ2JhKDIwLCA0MSwgNDgsIDAuMik7XG4gIGNsaXAtcGF0aDogaW5zZXQoMCAtNDhweCAtNDhweCAtNDhweCk7XG59XG4udHNuei1tZWdhLXBhbmVsX19tYWluIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG4udHNuei1tZWdhLXBhbmVsX19leWVicm93LCAudHNuei1tZWdhLXBhbmVsX19jdGEtZXllYnJvdyB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMjVyZW07XG59XG4udHNuei1tZWdhLXBhbmVsX19leWVicm93IHtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1tZWdhLXBhbmVsX192aWV3LWFsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGwgLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGwtdGV4dCB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG59XG4udHNuei1tZWdhLXBhbmVsX192aWV3LWFsbCAudHNuei1zeW1ib2wge1xuICB3aWR0aDogMC4zNzVyZW07XG4gIGhlaWdodDogMC42MjVyZW07XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGw6aG92ZXIgLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGwtdGV4dCwgLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGw6Zm9jdXMgLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGwtdGV4dCB7XG4gIGNvbG9yOiByZ2IoMS44LCA0Ni44LCA5Ny4yKTtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2NhcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxLjVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2NhcmQge1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW46IDA7XG59XG4udHNuei1tZWdhLXBhbmVsX19jYXJkLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4udHNuei1tZWdhLXBhbmVsX19jYXJkLWxpbms6aG92ZXIgLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1oZWFkaW5nLCAudHNuei1tZWdhLXBhbmVsX19jYXJkLWxpbms6Zm9jdXMgLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1oZWFkaW5nIHtcbiAgY29sb3I6IHJnYigxLjgsIDQ2LjgsIDk3LjIpO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1tZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhc3BlY3QtcmF0aW86IDEuNzc1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xufVxuLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2NhcmQtYm9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1oZWFkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1kZXNjIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICM0MjQ5NTI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2xpbmtzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb2x1bW4tY291bnQ6IDM7XG4gIGNvbHVtbi1nYXA6IDJyZW07XG59XG4udHNuei1tZWdhLXBhbmVsX19saW5rLWl0ZW0ge1xuICBtYXJnaW46IDAgMCAwLjVyZW07XG4gIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG4udHNuei1tZWdhLXBhbmVsX19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnRzbnotbWVnYS1wYW5lbF9fbGluazpob3ZlciAudHNuei1tZWdhLXBhbmVsX19saW5rLWhlYWRpbmcsIC50c256LW1lZ2EtcGFuZWxfX2xpbms6Zm9jdXMgLnRzbnotbWVnYS1wYW5lbF9fbGluay1oZWFkaW5nIHtcbiAgY29sb3I6IHJnYigxLjgsIDQ2LjgsIDk3LjIpO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fbGluayAudHNuei1zeW1ib2wge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDAuMzc1cmVtO1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2xpbmstYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC4xMjVyZW07XG4gIG1pbi13aWR0aDogMDtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2xpbmstaGVhZGluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fbGluay1kZXNjIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICM0MjQ5NTI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG4udHNuei1tZWdhLXBhbmVsX19jdGEge1xuICBmbGV4OiAwIDAgMjByZW07XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtO1xuICBwYWRkaW5nOiAxLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2N0YS1leWVicm93IHtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1tZWdhLXBhbmVsX19jdGEtaGVhZGluZyB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzMTI1cmVtO1xufVxuLnRzbnotbWVnYS1wYW5lbF9fY3RhLWJvZHkge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gIG9wYWNpdHk6IDAuODU7XG59XG4udHNuei1tZWdhLXBhbmVsX19jdGEtYWN0aW9uIC50c256LWFjdGlvbi1idXR0b24tLXByaW1hcnkge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LW1lZ2EtcGFuZWxfX2N0YS1hY3Rpb24gLnRzbnotYWN0aW9uLWJ1dHRvbi0tcHJpbWFyeTpob3ZlciwgLnRzbnotbWVnYS1wYW5lbF9fY3RhLWFjdGlvbiAudHNuei1hY3Rpb24tYnV0dG9uLS1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi50c256LWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRzbnotaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udHNuei1pbWFnZV9fY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaW1hZ2VfX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIH1cbn1cbi50c256LWltYWdlX19jYXB0aW9uIHN0cm9uZyB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotaW1hZ2VfX2NhcHRpb24tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1pbWFnZV9fY2FwdGlvbi10ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gIH1cbn1cbi50c256LWltYWdlX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaW1hZ2VfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gIH1cbn1cbi50c256LWltYWdlX19jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNXJlbTtcbiAgbGVmdDogMC41cmVtO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBib3JkZXItcmFkaXVzOiA4cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDNyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1pbWFnZV9fY291bnRlciB7XG4gICAgdG9wOiAycmVtO1xuICAgIGxlZnQ6IDJyZW07XG4gICAgd2lkdGg6IDRyZW07XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xuICB9XG59XG4udHNuei1pbWFnZV9fem9vbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMC43NWVtO1xuICB6b29tOiAwO1xuICBmb250LXNpemU6IDJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWltYWdlX196b29tIHtcbiAgICByaWdodDogMC43NWVtO1xuICAgIGJvdHRvbTogMC43NWVtO1xuICB9XG59XG4udHNuei1pbWFnZV9fem9vbTpob3ZlciB7XG4gIGNvbG9yOiByZ2IoMi4wNzI3MjcyNzI3LCA1My44OTA5MDkwOTA5LCAxMTEuOTI3MjcyNzI3Myk7XG59XG4udHNuei1pbWFnZV9fem9vbTphY3RpdmUge1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi8qIFZlbmRvciAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCwgLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG59XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsIC5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLnN3aXBlci1jb250YWluZXItd3A4LXZlcnRpY2FsLCAuc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi50c256LW1hc3RoZWFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbWFzdGhlYWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG4udHNuei1tYXN0aGVhZF9faW1hZ2Utb3V0ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRzbnotbWFzdGhlYWRfX2JhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi50c256LW1hc3RoZWFkX19waWN0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ4LjQzNzV2dztcbiAgbWF4LWhlaWdodDogMzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1tYXN0aGVhZF9fcGljdHVyZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMC4zNSk7XG4gIH1cbn1cbi50c256LW1hc3RoZWFkX19wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2U7XG59XG4ubGF6eWxvYWRlZCA+IC50c256LW1hc3RoZWFkX19wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG4udHNuei1tYXN0aGVhZF9faGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmY2IwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbn1cbi50c256LW1hc3RoZWFkX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotbWFzdGhlYWRfX2JyZWFkY3J1bWJzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi50c256LW1hc3RoZWFkX19icmVhZGNydW1icyAuYnJlYWRjcnVtYnMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLnRzbnotbWFzdGhlYWRfX2JyZWFkY3J1bWJzIC5icmVhZGNydW1icyBsaSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuLnRzbnotbWFzdGhlYWRfX2JyZWFkY3J1bWJzIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LW1hc3RoZWFkX19oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1tYXN0aGVhZF9fc3ViaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1heC13aWR0aDogNTVyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotbWFzdGhlYWRfX3N1YmhlYWRpbmcgYSB7XG4gIGNvbG9yOiAjZmZjYjA1O1xufVxuLnRzbnotbWFzdGhlYWRfX3N1YmhlYWRpbmcgcCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei1tYXN0aGVhZF9fc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICB9XG59XG4udHNuei1tYXN0aGVhZF9fc3ViaGVhZGluZyA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LW1hc3RoZWFkX19zYW0tc2xvdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudHNuei1tYXN0aGVhZF9fc2FtLXNsb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi50c256LW1hc3RoZWFkX19zYW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwLjYyNXJlbTtcbiAgaGVpZ2h0OiAxNi4yNXJlbTtcbiAgbGVmdDogMXJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LW1hc3RoZWFkX19zYW0ge1xuICAgIGxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbWFzdGhlYWRfX3NhbSB7XG4gICAgbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotbWFzdGhlYWRfX2Fycm93cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIG1heC13aWR0aDogMTAwcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGFzcGVjdC1yYXRpbzogMzkwLzMwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LW1hc3RoZWFkX19hcnJvd3Mge1xuICAgIGFzcGVjdC1yYXRpbzogMTYwMC81NjA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotbWFzdGhlYWRfX2Fycm93cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnRzbnotbWFzdGhlYWRfX2Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgZm9udC1zaXplOiAwO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRzbnotbWFzdGhlYWRfX2Fycm93OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi50c256LW1hc3RoZWFkX19hcnJvdzphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA5LCAxNjUuNTI4LCAwKTtcbn1cbi50c256LW1hc3RoZWFkX19hcnJvdzphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMC41NjI1cmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNTYyNXJlbSAxcmVtO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnRzbnotbWFzdGhlYWRfX2Fycm93LS1sZWZ0IHtcbiAgbGVmdDogMXJlbTtcbn1cbi50c256LW1hc3RoZWFkX19hcnJvdy0tbGVmdDphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNLjMyIDcuMkw3LjEyLjM0YTEuMSAxLjEgMCAwIDEgMS41NiAwYy40My40NC40MyAxLjE1IDAgMS41OEwyLjY3IDhsNiA2LjA5Yy40NC40My40NCAxLjE0IDAgMS41OGExLjEgMS4xIDAgMCAxLTEuNTYgMEwuMzIgOC44YTEuMTIgMS4xMiAwIDAgMSAwLTEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4udHNuei1tYXN0aGVhZF9fYXJyb3ctLXJpZ2h0IHtcbiAgcmlnaHQ6IDFyZW07XG59XG4udHNuei1tYXN0aGVhZF9fYXJyb3ctLXJpZ2h0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk04LjY4IDguOGwtNi44IDYuODdhMS4xIDEuMSAwIDAgMS0xLjU2IDAgMS4xMyAxLjEzIDAgMCAxIDAtMS41OEw2LjMzIDhsLTYtNi4wOWExLjEzIDEuMTMgMCAwIDEgMC0xLjU4IDEuMSAxLjEgMCAwIDEgMS41NiAwTDguNjggNy4yYTEuMTIgMS4xMiAwIDAgMSAwIDEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4udHNuei1tYXN0aGVhZF9fcGFnaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50c256LW1hc3RoZWFkLS1uby1wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4udHNuei1icmVhZGNydW1icyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50c256LWJyZWFkY3J1bWJzIGxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG59XG4udHNuei1icmVhZGNydW1icy0td2hpdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1icmVhZGNydW1icy0td2hpdGU6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fanVzdGlmaWVkLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy1iZyB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtbmF2aWdhdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy1uYXZpZ2F0aW9uLWNvbnRhaW5lcjo6YmVmb3JlLCAudHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy1uYXZpZ2F0aW9uLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtbmF2aWdhdGlvbi1jb250YWluZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy10aXRsZSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LXByb2R1Y3QtZGV0YWlsX190YWJzLXRpdGxlID4gYSB7XG4gIG91dGxpbmU6IDA7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy10aXRsZSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogcmdiKDIuNTgsIDY3LjA4LCAxMzkuMzIpO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtdGl0bGUgPiBhOmZvY3VzLCAudHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIH1cbn1cbi50c256LXByb2R1Y3QtZGV0YWlsX190YWJzLXRpdGxlLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi50c256LXByb2R1Y3QtZGV0YWlsX190YWJzLXRpdGxlOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZjYjA1O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzO1xuICBjb250ZW50OiBcIlwiO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtdGl0bGU6aG92ZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy10aXRsZSBhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LXByb2R1Y3QtZGV0YWlsX190YWJzLXRpdGxlIGEge1xuICBvdXRsaW5lOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjMuNDM3NWVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX190YWJzLXRpdGxlIGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtdGl0bGUgYSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtdGl0bGUgYSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICB9XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy1uYXZpZ2F0aW9uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fdGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNDI0OTUyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3RhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fcXVvdGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX19xdW90ZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LXByb2R1Y3QtZGV0YWlsX19jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nOiAxLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotcHJvZHVjdC1kZXRhaWxfX2NvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX19jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDJyZW0pO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG4udHNuei1wcm9kdWN0LWRldGFpbF9fY29udGVudC10ZXh0Om5vdChbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdKSBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX3NpZGViYXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX19zaWRlYmFyIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXByb2R1Y3QtZGV0YWlsX19zaWRlYmFyIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuLnRzbnotcHJvZHVjdC1kZXRhaWxfX2dhbGxlcnkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZzogMS43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJvZHVjdC1kZXRhaWxfX2dhbGxlcnkge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn1cbi50c256LXByb2R1Y3QtZGV0YWlsX19tYWluLXZpZGVvIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLnRzbnotcHJvZHVjdC1kZXRhaWwgW2RhdGEtY29udGVudC10cnVuY2F0ZS1jb250ZW50XSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei1wcm9kdWN0LWRldGFpbCBbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHdoaXRlIDEwMCUpO1xufVxuXG4udHNuei1sb2NhdGlvbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi50c256LWxvY2F0aW9uX19jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbG9jYXRpb25fX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICB9XG59XG5cbi50c256LWxvY2F0aW9uIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy43NWVtKSB7XG4gIC50c256LWxvY2F0aW9uX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi50c256LWxvY2F0aW9uX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi50c256LWxvY2F0aW9uX19kZXRhaWxzLCAudHNuei1sb2NhdGlvbl9faW1hZ2UsIC50c256LWxvY2F0aW9uX19vcGVuLWhvdXJzLCAudHNuei1sb2NhdGlvbl9fYWN0aW9ucywgLnRzbnotbG9jYXRpb25fX2JvZHksIC50c256LWxvY2F0aW9uX19kZXNjcmlwdGlvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi50c256LWxvY2F0aW9uX19tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG59XG4udHNuei1sb2NhdGlvbl9fZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1sb2NhdGlvbl9fZGV0YWlscyB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotbG9jYXRpb25fX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLnRzbnotbG9jYXRpb25fX2JvZHkgaW1nLFxuLnRzbnotbG9jYXRpb25fX2JvZHkgaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udHNuei1sb2NhdGlvbl9fYm9keSBpZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBjYWxjKCgxMDB2dyAtIDNyZW0gLSAycmVtKSAqIDAuNTYyNSk7XG4gIG1heC1oZWlnaHQ6IDQyLjE4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MjkzMTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDQuNzVlbSkge1xuICAudHNuei1sb2NhdGlvbl9fYm9keSBpZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygoNDguMTI1cmVtIC0gMi44NzVyZW0pICogMC41NjI1KTtcbiAgfVxufVxuLnRzbnotbG9jYXRpb25fX2JvZHkgPiBoMjpub3QoOmZpcnN0LWNoaWxkKSxcbi50c256LWxvY2F0aW9uX19ib2R5ID4gaDM6bm90KDpmaXJzdC1jaGlsZCksXG4udHNuei1sb2NhdGlvbl9fYm9keSA+IGg0Om5vdCg6Zmlyc3QtY2hpbGQpLFxuLnRzbnotbG9jYXRpb25fX2JvZHkgPiBoNTpub3QoOmZpcnN0LWNoaWxkKSxcbi50c256LWxvY2F0aW9uX19ib2R5ID4gaDY6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbn1cbi50c256LWxvY2F0aW9uX19vd25lci1sYWJlbCwgLnRzbnotbG9jYXRpb25fX2FkZHJlc3MtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cbi50c256LWxvY2F0aW9uX19waG9uZS1sYWJlbCwgLnRzbnotbG9jYXRpb25fX2ZheC1sYWJlbCB7XG4gIHdpZHRoOiAxOCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuLnRzbnotbG9jYXRpb25fX2VtYWlsLWxhYmVsIHtcbiAgd2lkdGg6IDE4JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1sb2NhdGlvbl9fb3duZXIsIC50c256LWxvY2F0aW9uX19hZGRyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4udHNuei1sb2NhdGlvbl9fcGhvbmUsIC50c256LWxvY2F0aW9uX19mYXgsIC50c256LWxvY2F0aW9uX19lbWFpbCB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50c256LWxvY2F0aW9uX19idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udHNuei1sb2NhdGlvbl9fYnV0dG9uczo6YmVmb3JlLCAudHNuei1sb2NhdGlvbl9fYnV0dG9uczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRzbnotbG9jYXRpb25fX2J1dHRvbnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udHNuei1sb2NhdGlvbl9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLnRzbnotbG9jYXRpb25fX2J1dHRvbnMgLnRzbnotYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udHNuei1sb2NhdGlvbl9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbi50c256LWxvY2F0aW9uX19idXR0b25zIC50c256LWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWxvY2F0aW9uX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudHNuei1sb2NhdGlvbl9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbG9jYXRpb25fX2J1dHRvbnMge1xuICAgIG1heC13aWR0aDogMjhyZW07XG4gIH1cbn1cbi50c256LWxvY2F0aW9uX19hY3Rpb25zLCAudHNuei1sb2NhdGlvbl9fYm9keSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4udHNuei1sb2NhdGlvbl9fYXdhcmRzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50c256LWxvY2F0aW9uX19kZXRhaWxzLCAudHNuei1sb2NhdGlvbl9faW1hZ2UsIC50c256LWxvY2F0aW9uX19hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi50c256LWxvY2F0aW9uX190ZXN0aW1vbmlhbHMgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1sb2NhdGlvbiBbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LWxvY2F0aW9uIFtkYXRhLWNvbnRlbnQtdHJ1bmNhdGUtY29udGVudF06YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgMTAwJSk7XG59XG4udHNuei1sb2NhdGlvbiBbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50c256LWxvY2F0aW9uX190ZXN0aW1vbmlhbCB7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi50c256LWxvY2F0aW9uLXBhZ2UgI2RldGFpbHMge1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnRzbnotZnJhbmNoaXNlLWNvbnRhY3Qge1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi50c256LWZyYW5jaGlzZS1jb250YWN0X19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctYmxvY2s6IDIuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19jb250YWluZXIge1xuICAgIHBhZGRpbmctYmxvY2s6IDRyZW07XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS1jb250YWN0X19pbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IDFyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNTg0ZnIpIG1pbm1heCgwLCA2NDZmcik7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGdhcDogM3JlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS1jb250YWN0X19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19oZWFkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2lkZW50aXR5IHAsXG4udHNuei1mcmFuY2hpc2UtY29udGFjdF9faWRlbnRpdHkgYWRkcmVzcywgLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2Jsb2NrIHAsXG4udHNuei1mcmFuY2hpc2UtY29udGFjdF9fYmxvY2sgYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2lkZW50aXR5LCAudHNuei1mcmFuY2hpc2UtY29udGFjdF9fYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS1jb250YWN0X19pZGVudGl0eSBhLCAudHNuei1mcmFuY2hpc2UtY29udGFjdF9fYmxvY2sgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei1mcmFuY2hpc2UtY29udGFjdF9faWRlbnRpdHkgYTpob3ZlciwgLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2lkZW50aXR5IGE6Zm9jdXMsIC50c256LWZyYW5jaGlzZS1jb250YWN0X19ibG9jayBhOmhvdmVyLCAudHNuei1mcmFuY2hpc2UtY29udGFjdF9fYmxvY2sgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnRzbnotZnJhbmNoaXNlLWNvbnRhY3QgYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xufVxuLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX293bmVycywgLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2xhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udHNuei1mcmFuY2hpc2UtY29udGFjdF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFzcGVjdC1yYXRpbzogNC8zO1xuICBvcmRlcjogLTE7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDQvMykge1xuICAudHNuei1mcmFuY2hpc2UtY29udGFjdF9fbWVkaWEge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1jb250YWN0X19tZWRpYSB7XG4gICAgb3JkZXI6IDA7XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS1jb250YWN0X19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi50c256LWZyYW5jaGlzZS1jb250YWN0X19idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2J1dHRvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4udHNuei1mcmFuY2hpc2UtY29udGFjdF9fYnV0dG9ucyA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLWNvbnRhY3RfX2J1dHRvbnMgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4udHNuei1mcmFuY2hpc2UtYWJvdXQge1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi50c256LWZyYW5jaGlzZS1hYm91dF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWJsb2NrOiAyLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mcmFuY2hpc2UtYWJvdXRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLWFib3V0X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1hYm91dF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJsb2NrOiA0cmVtO1xuICB9XG59XG4udHNuei1mcmFuY2hpc2UtYWJvdXRfX2lubmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLWFib3V0X19pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNTg0ZnIpIG1pbm1heCgwLCA2NDZmcik7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGdhcDogM3JlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLWFib3V0X19jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1hYm91dF9fY29sIHtcbiAgICBnYXA6IDEuNXJlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLWFib3V0X19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mcmFuY2hpc2UtYWJvdXRfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTY7XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS1hYm91dF9fbGVmdCBwLCAudHNuei1mcmFuY2hpc2UtYWJvdXRfX3JpZ2h0IHAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cbi50c256LWZyYW5jaGlzZS1hYm91dF9fbGVmdCBwOmxhc3QtY2hpbGQsIC50c256LWZyYW5jaGlzZS1hYm91dF9fcmlnaHQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWZyYW5jaGlzZS1hYm91dF9fbGVmdCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLWFib3V0X19sZWZ0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS1hYm91dF9fcmlnaHQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS1hYm91dF9fcmlnaHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICB9XG59XG5cbi50c256LWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRzbnotY29udGVudF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50X193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1jb250ZW50X193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4udHNuei1jb250ZW50X19ib2R5W2RhdGEtY29udGVudC10cnVuY2F0ZS1jb250ZW50XSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei1jb250ZW50X19ib2R5W2RhdGEtY29udGVudC10cnVuY2F0ZS1jb250ZW50XTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCB3aGl0ZSAxMDAlKTtcbn1cbi50c256LWNvbnRlbnRfX2JvZHkgW2hyZWZdOnZpc2l0ZWQge1xuICBjb2xvcjogcmdiKDExMC40NSwgMTEwLjQ1LCAxMTAuNDUpO1xufVxuQG1lZGlhIHByaW50IHtcbiAgLnRzbnotY29udGVudF9fYm9keSB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi50c256LWNvbnRlbnRfX2JvZHkgPiB1bCA+IGxpLFxuLnRzbnotY29udGVudF9fYm9keSA+IG9sID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4udHNuei1jb250ZW50X19ib2R5ID4gaDI6bm90KDpmaXJzdC1jaGlsZCksXG4udHNuei1jb250ZW50X19ib2R5ID4gaDM6bm90KDpmaXJzdC1jaGlsZCksXG4udHNuei1jb250ZW50X19ib2R5ID4gaDQ6bm90KDpmaXJzdC1jaGlsZCksXG4udHNuei1jb250ZW50X19ib2R5ID4gaDU6bm90KDpmaXJzdC1jaGlsZCksXG4udHNuei1jb250ZW50X19ib2R5ID4gaDY6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbn1cbi50c256LWNvbnRlbnRfX2JvZHkgPiBpbWcsXG4udHNuei1jb250ZW50X19ib2R5ID4gaWZyYW1lLFxuLnRzbnotY29udGVudF9fYm9keSA+IHAgPiBpbWcsXG4udHNuei1jb250ZW50X19ib2R5ID4gcCA+IGlmcmFtZSxcbi50c256LWNvbnRlbnRfX2JvZHkgPiBwID4gYSA+IGltZyxcbi50c256LWNvbnRlbnRfX2JvZHkgPiBwID4gYSA+IGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRzbnotY29udGVudF9fYm9keSA+IGlmcmFtZSxcbi50c256LWNvbnRlbnRfX2JvZHkgPiBwID4gaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogY2FsYygoMTAwdncgLSAzcmVtIC0gMnJlbSkgKiAwLjU2MjUpO1xuICBtYXgtaGVpZ2h0OiA0Mi4xODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTI5MzE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ0Ljc1ZW0pIHtcbiAgLnRzbnotY29udGVudF9fYm9keSA+IGlmcmFtZSxcbiAgLnRzbnotY29udGVudF9fYm9keSA+IHAgPiBpZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygoNDguMTI1cmVtIC0gMi44NzVyZW0pICogMC41NjI1KTtcbiAgfVxufVxuLnRzbnotY29udGVudF9fZm9ybSAudHNuei1mb3JtX19mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMmVtIDAgMWVtO1xufVxuLnRzbnotY29udGVudC0tdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNvbnRlbnQtLXRleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtLXRleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1jb250ZW50LS10ZXh0IC50c256LWNvbnRlbnRfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotY29udGVudC0tdGV4dCAudHNuei1jb250ZW50X193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4udHNuei1jb250ZW50LS10ZXh0IC50c256LWNvbnRlbnRfX2JvZHkge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotY29udGVudC0tdGV4dCAudHNuei1jb250ZW50X19ib2R5IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC0tdGV4dCAudHNuei1jb250ZW50X19idXR0b25zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNvbnRlbnQtLXRleHQgLnRzbnotY29udGVudF9fYnV0dG9ucyB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxcmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IDIuNzVyZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtLWZ1bGwtd2lkdGgge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1jb250ZW50LS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC0tZnVsbC13aWR0aCAudHNuei1jb250ZW50X193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNvbnRlbnQtLWZ1bGwtd2lkdGggLnRzbnotY29udGVudF9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLnRzbnotY29udGVudC0tZnVsbC13aWR0aCAudHNuei1jb250ZW50X19ib2R5LFxuLnRzbnotY29udGVudC0tZnVsbC13aWR0aCAudHNuei1jb250ZW50X19idXR0b25zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLnRzbnotY2xhZGRpbmdfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNsYWRkaW5nX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNsYWRkaW5nX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1jbGFkZGluZ19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4udHNuei1jbGFkZGluZ19fY29udGVudCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNsYWRkaW5nX19jb250ZW50IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi50c256LWNsYWRkaW5nX19jb250ZW50LWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNsYWRkaW5nX19jb250ZW50LWlubmVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1jbGFkZGluZ19fY29udGVudC1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLnRzbnotY2xhZGRpbmdfX2JyYW5kcyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LWNsYWRkaW5nX19icmFuZHMgbGkge1xuICBvdXRsaW5lOiAwO1xufVxuLnRzbnotY2xhZGRpbmdfX2JyYW5kcyBhLFxuLnRzbnotY2xhZGRpbmdfX2JyYW5kcyAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbTtcbn1cbi50c256LWNsYWRkaW5nX19icmFuZHMgaW5wdXQsXG4udHNuei1jbGFkZGluZ19fYnJhbmRzIHNlbGVjdCxcbi50c256LWNsYWRkaW5nX19icmFuZHMgYSxcbi50c256LWNsYWRkaW5nX19icmFuZHMgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWNsYWRkaW5nX19icmFuZHMgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udHNuei1jbGFkZGluZ19fYnJhbmRzIGxpIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbi50c256LWNsYWRkaW5nX19icmFuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMTUyOTMxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udHNuei1jbGFkZGluZ19fYnJhbmRbaHJlZl0sXG4udHNuei1jbGFkZGluZ19fYnJhbmQgYSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1jbGFkZGluZ19fYnJhbmRbaHJlZl06aG92ZXIsXG4udHNuei1jbGFkZGluZ19fYnJhbmQgYTpob3ZlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LWNsYWRkaW5nX19icmFuZCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMi43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbn1cbi50c256LWNsYWRkaW5nX19icmFuZC5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM5Ljg1LCAyMzkuODUsIDIzOS44NSk7XG59XG4udHNuei1jbGFkZGluZ19fYnJhbmQtbGluayB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5bZGF0YS13aGF0aW50ZW50PW1vdXNlXSAudHNuei1jbGFkZGluZ19fYnJhbmQtbGluaywgW2RhdGEtd2hhdGludGVudD10b3VjaF0gLnRzbnotY2xhZGRpbmdfX2JyYW5kLWxpbmsge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRzbnotY2xhZGRpbmdfX2JyYW5kLW5hbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cbi50c256LWNsYWRkaW5nX19icmFuZC1kZXNjcmlwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotY2xhZGRpbmdfX2JyYW5kLWRlc2NyaXB0aW9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuLnRzbnotY2xhZGRpbmdfX3RhYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotY2xhZGRpbmdfX3RhYmxlW2FyaWEtaGlkZGVuPWZhbHNlXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBjdXN0b20tNTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpO1xufVxuLnRzbnotY2xhZGRpbmdfX3RhYmxlW2FyaWEtaGlkZGVuPXRydWVdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50c256LWNsYWRkaW5nX19jb2xvci1yb3cgdGQsXG4udHNuei1jbGFkZGluZ19fY29sb3Itcm93IHRoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTMuNSU7XG4gIG1pbi13aWR0aDogM2VtO1xuICBoZWlnaHQ6IDRyZW07XG4gIGJvcmRlci13aWR0aDogNXB4IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotY2xhZGRpbmdfX2NvbG9yLXJvdyB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50c256LWNsYWRkaW5nX19jb2xvci1yb3cgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRzbnotY2xhZGRpbmdfX2NvbG91ciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50c256LWNsYWRkaW5nX19jb2xvdXI6YWZ0ZXIge1xuICB3aWR0aDogMC43NXJlbTtcbiAgaGVpZ2h0OiAwLjc1cmVtO1xuICBtYXJnaW46IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotY2xhZGRpbmdfX2NvbG91ci0tYXZhaWxhYmxlOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuLnRzbnotY2xhZGRpbmdfX3ZpZXctc3dhdGNoIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbi50c256LWNsYWRkaW5nX192aWV3LXN3YXRjaCBzdmcge1xuICBtYXJnaW46IGF1dG87XG59XG4udHNuei1jbGFkZGluZ19fY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuLnRzbnotY2xhZGRpbmdfX29wdGlvbi1sYWJlbHMge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzkuODUsIDIzOS44NSwgMjM5Ljg1KTtcbn1cbi50c256LWNsYWRkaW5nX19vcHRpb24tbGFiZWxzIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDguNzVyZW07XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuLnRzbnotY2xhZGRpbmdfX29wdGlvbi1sYWJlbHMgdGgsXG4udHNuei1jbGFkZGluZ19fb3B0aW9uLWxhYmVscyB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNTUuOCwgMTU1LjgsIDE1NS44KTtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi50c256LWNsYWRkaW5nX19vcHRpb24tbGFiZWxzIHRoOmZpcnN0LWNoaWxkLFxuLnRzbnotY2xhZGRpbmdfX29wdGlvbi1sYWJlbHMgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWNsYWRkaW5nX19vcHRpb24tbGFiZWxzIHRoOmxhc3QtY2hpbGQsXG4udHNuei1jbGFkZGluZ19fb3B0aW9uLWxhYmVscyB0ZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotY2xhZGRpbmdfX29wdGlvbi1sYWJlbHMgW3Jvd3NwYW49XCIyXCJdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi50c256LWNsYWRkaW5nX19vcHRpb24tc2l6ZXMgdGQsXG4udHNuei1jbGFkZGluZ19fb3B0aW9uLXNpemVzIHRoIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRzbnotY2xhZGRpbmdfX2Rpc2NsYWltZXIge1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1jbGFkZGluZ19fZGlzY2xhaW1lciB0ZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC1zaXplOiA4MS4yNSU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi50c256LW9wdGlvbi1pdGVtIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnRzbnotb3B0aW9uLWl0ZW1fX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuLnRzbnotb3B0aW9uLWl0ZW1fX2ltYWdlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzQuMzc1ZW0pIHtcbiAgLnRzbnotb3B0aW9uLWl0ZW1fX2ltYWdlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA0cmVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1vcHRpb24taXRlbV9faW1hZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDRyZW0pO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICB9XG59XG4udHNuei1vcHRpb24taXRlbV9fY29udGVudCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM0LjM3NWVtKSB7XG4gIC50c256LW9wdGlvbi1pdGVtX19jb250ZW50IHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW9wdGlvbi1pdGVtX19jb250ZW50IHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG4udHNuei1vcHRpb24taXRlbV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udHNuei1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1wYWdpbmF0aW9uIGEge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuLnRzbnotcGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotcGFnaW5hdGlvbiBhOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYigyNDkuOSwgMjQ5LjksIDI0OS45KTtcbn1cbi50c256LXBhZ2luYXRpb25fX3ByZXZpb3VzIHNwYW4sXG4udHNuei1wYWdpbmF0aW9uX19wcmV2aW91cyBhLCAudHNuei1wYWdpbmF0aW9uX19uZXh0IHNwYW4sXG4udHNuei1wYWdpbmF0aW9uX19uZXh0IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4xODc1cmVtIDFyZW07XG4gIGJvcmRlcjogc29saWQgMnB4ICNmZmNiMDU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LXBhZ2luYXRpb25fX3ByZXZpb3VzIHNwYW46aG92ZXIsXG4udHNuei1wYWdpbmF0aW9uX19wcmV2aW91cyBhOmhvdmVyLCAudHNuei1wYWdpbmF0aW9uX19uZXh0IHNwYW46aG92ZXIsXG4udHNuei1wYWdpbmF0aW9uX19uZXh0IGE6aG92ZXIge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LXBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi50c256LXBhZ2luYXRpb24gLmRpc2FibGVkIHNwYW4ge1xuICBvcGFjaXR5OiAwLjI7XG4gIGJvcmRlci1jb2xvcjogI2E0YTRhNDtcbn1cblxuLnRzbnotaGlnaGxpZ2h0c19fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaGlnaGxpZ2h0c19fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oaWdobGlnaHRzX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1oaWdobGlnaHRzX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi50c256LWhpZ2hsaWdodHNfX2RldGFpbCwgLnRzbnotaGlnaGxpZ2h0c19faW1hZ2UsIC50c256LWhpZ2hsaWdodHNfX2Nhc2Utc3R1ZGllcywgLnRzbnotaGlnaGxpZ2h0c19faGlnaGxpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaGlnaGxpZ2h0c19fZGV0YWlsLCAudHNuei1oaWdobGlnaHRzX19pbWFnZSwgLnRzbnotaGlnaGxpZ2h0c19fY2FzZS1zdHVkaWVzLCAudHNuei1oaWdobGlnaHRzX19oaWdobGlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLnRzbnotaGlnaGxpZ2h0c19faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi50c256LWhpZ2hsaWdodHNfX2hpZ2hsaWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWhpZ2hsaWdodHNfX2hpZ2hsaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oaWdobGlnaHRzX19jYXNlLXN0dWRpZXMge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1oaWdobGlnaHRzX19jYXNlLXN0dWRpZXMgYmxvY2txdW90ZTpudGgtY2hpbGQobiszKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWhpZ2hsaWdodHNfX2Nhc2Utc3R1ZGllcyBibG9ja3F1b3RlOm50aC1jaGlsZChuKzMpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnRzbnotaGlnaGxpZ2h0c19faGlnaGxpZ2h0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oaWdobGlnaHRzX19oaWdobGlnaHQtd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gIH1cbn1cbi50c256LWhpZ2hsaWdodHNfX2Rlc2NyaXB0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgaGVpZ2h0OiA0LjJyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG59XG4udHNuei1oaWdobGlnaHRzX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oaWdobGlnaHRzX19pbWFnZSB7XG4gICAgd2lkdGg6IGNhbGMoNTcuMTQyODU3MTQyOSUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1oaWdobGlnaHRzX19kZXRhaWwge1xuICAgIHdpZHRoOiBjYWxjKDQyLjg1NzE0Mjg1NzElIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1oaWdobGlnaHRzX19oZWFkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBoZWlnaHQ6IDMuNnJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnRzbnotaGlnaGxpZ2h0c19fc3VidGl0bGUge1xuICBjb2xvcjogI2E0YTRhNDtcbn1cblxuLnRzbnotaW1hZ2UtbWVudV9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaW1hZ2UtbWVudV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1pbWFnZS1tZW51X19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1pbWFnZS1tZW51X193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi50c256LWltYWdlLW1lbnVfX2lubmVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaW1hZ2UtbWVudV9faW5uZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cblxuLnRzbnotaW1hZ2UtbWVudV9faW5uZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1pbWFnZS1tZW51X19pbm5lci13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuLnRzbnotaW1hZ2UtbWVudV9faW5uZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1pbWFnZS1tZW51X19pbm5lci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4udHNuei1pbWFnZS1tZW51X19oZWFkaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaW1hZ2UtbWVudV9faGVhZGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi50c256LWltYWdlLW1lbnVfX2JvZHlbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LWltYWdlLW1lbnVfX2JvZHlbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHdoaXRlIDEwMCUpO1xufVxuLnRzbnotaW1hZ2UtbWVudV9fYm9keSA+IGgyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnRzbnotaW1hZ2UtbWVudV9fYm9keSA+IGgzOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnRzbnotaW1hZ2UtbWVudV9fYm9keSA+IGg0Om5vdCg6Zmlyc3QtY2hpbGQpLFxuLnRzbnotaW1hZ2UtbWVudV9fYm9keSA+IGg1Om5vdCg6Zmlyc3QtY2hpbGQpLFxuLnRzbnotaW1hZ2UtbWVudV9fYm9keSA+IGg2Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWltYWdlLW1lbnVfX2hlYWRpbmctbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1pbWFnZS1tZW51X19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWltYWdlLW1lbnVfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAudHNuei1pbWFnZS1tZW51X19jb250ZW50IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjVlbTtcbiAgfVxufVxuLnRzbnotaW1hZ2UtbWVudV9fYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG59XG4udHNuei1pbWFnZS1tZW51X19tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWltYWdlLW1lbnVfX21lbnUge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbi50c256LWltYWdlLW1lbnVfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaW1hZ2UtbWVudV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaW1hZ2UtbWVudV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gIH1cbn1cbi50c256LWltYWdlLW1lbnVfX2l0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWltYWdlLW1lbnVfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbi50c256LWltYWdlLW1lbnVfX2xpbms6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgNDEsIDQ5LCAwLjMpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50c256LWltYWdlLW1lbnVfX2xpbmtbaHJlZl06aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi50c256LWltYWdlLW1lbnVfX2xpbmtbaHJlZl06YWN0aXZlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQ7XG59XG4udHNuei1pbWFnZS1tZW51X19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTQuMDU0MDU0MDU0MSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi50c256LWltYWdlLW1lbnVfX2xpbmstbGFiZWwge1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWltYWdlLW1lbnVfX2xpbmstbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjAzLCA1LCAwLjkpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4udHNuei1wYXRod2F5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1wYXRod2F5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXBhdGh3YXkge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXBhdGh3YXkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yZW07XG4gIH1cbn1cbi50c256LXBhdGh3YXlfX2ltYWdlLCAudHNuei1wYXRod2F5X19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotcGF0aHdheV9faW1hZ2UsIC50c256LXBhdGh3YXlfX2NvbnRlbnQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbi50c256LXBhdGh3YXlfX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0OTUyO1xufVxuQHN1cHBvcnRzIChiYWNrZ3JvdW5kLWltYWdlOiBjb25pYy1ncmFkaWVudChmcm9tIDEwMGRlZywgcmdiKDU2LjkwMjcwMjcwMjcsIDYyLjkzNzgzNzgzNzgsIDcwLjY5NzI5NzI5NzMpLCAjNDI0OTUyKSkge1xuICAudHNuei1wYXRod2F5X19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBjb25pYy1ncmFkaWVudChmcm9tIDEwMGRlZywgcmdiKDU2LjkwMjcwMjcwMjcsIDYyLjkzNzgzNzgzNzgsIDcwLjY5NzI5NzI5NzMpLCAjNDI0OTUyKTtcbiAgfVxufVxuLnRzbnotcGF0aHdheV9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDIxLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXBhdGh3YXlfX2ltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAyOC43NXJlbTtcbiAgfVxufVxuLnRzbnotcGF0aHdheV9faW1hZ2UgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3ZlclwiO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi50c256LXBhdGh3YXlfX3BsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IDVyZW07XG59XG4udHNuei1wYXRod2F5X19ib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LXBhdGh3YXlfX2JvZHlbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LXBhdGh3YXlfX2JvZHlbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNjYsIDczLCA4MiwgMCkgMCUsICM0MjQ5NTIgMTAwJSk7XG59XG4udHNuei1wYXRod2F5X19ib2R5IGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi50c256LXBhdGh3YXlfX2JvZHkgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnRzbnotcGF0aHdheV9fYm9keSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cbn1cbi50c256LXBhdGh3YXlfX2JvZHkgcDpmaXJzdC1jaGlsZCB7XG4gIGZvbnQtc2l6ZTogMTEyLjUlO1xufVxuLnRzbnotcGF0aHdheV9fYm9keS13cmFwcGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1wYXRod2F5X19ib2R5LXdyYXBwZXIgYnV0dG9uOmFjdGl2ZSwgLnRzbnotcGF0aHdheV9fYm9keS13cmFwcGVyIGJ1dHRvbjpmb2N1cywgLnRzbnotcGF0aHdheV9fYm9keS13cmFwcGVyIGJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LXBhdGh3YXlfX2NvbnRlbnQtd3JhcHBlciB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy10b3A6IDIuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wYXRod2F5X19jb250ZW50LXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXBhdGh3YXlfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMzcuNXJlbTtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICB9XG59XG4udHNuei1wYXRod2F5X19oZWFkaW5nIHtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1wYXRod2F5X19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNTVlbSAxLjI1ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjZmZjYjA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXdpZHRoOiAwLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjEyNWVtO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudHNuei1wYXRod2F5X19saW5rIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LXBhdGh3YXlfX2xpbms6aG92ZXIsIC50c256LXBhdGh3YXlfX2xpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LXBhdGh3YXlfX2xpbms6aG92ZXIsIC50c256LXBhdGh3YXlfX2xpbms6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNmZmNiMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LXBhdGh3YXlfX2xpbms6YWN0aXZlLCAudHNuei1wYXRod2F5X19saW5rLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjA5LCAxNjUuNTI4LCAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2IoMjA5LCAxNjUuNTI4LCAwKTtcbn1cbi50c256LXBhdGh3YXlfX2xpbmtbZGlzYWJsZWRdLCAudHNuei1wYXRod2F5X19saW5rLmRpc2FibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjZmNmY2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xuICBjb2xvcjogI2U0ZTRlNDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4udHNuei1wYXRod2F5X19saW5rOmZvY3VzLCAudHNuei1wYXRod2F5X19saW5rOmFjdGl2ZSwgLnRzbnotcGF0aHdheV9fbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXBhdGh3YXktLWNvbnRlbnQtbGVmdCAudHNuei1wYXRod2F5X193cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1wYXRod2F5LS1jb250ZW50LWxlZnQgLnRzbnotcGF0aHdheV9faW1hZ2Uge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1wYXRod2F5LS1jb250ZW50LWxlZnQgLnRzbnotcGF0aHdheV9fY29udGVudCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRzbnotcGF0aHdheS0tY29udGVudC1sZWZ0IC50c256LXBhdGh3YXlfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIDQ1cmVtKTtcbiAgfVxufVxuXG4udHNuei1tYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRzbnotbWFwX191aS13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi50c256LW1hcF9fdWktdG9wIHtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMzQ2ZDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbWFwX191aS10b3Age1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbn1cblxuLnRzbnotbWFwX191aS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW1hcF9fdWktY29udGVudCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgfVxufVxuXG4udHNuei1tYXBfX2hlYWRpbmcge1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LW1hcF9faGVhZGluZzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnRzbnotbWFwX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRzbnotbWFwX19nbWFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxOC43NXJlbSArIDE5LjUzMTI1dncpO1xuICBtaW4taGVpZ2h0OiAxOC43NXJlbTtcbiAgbWF4LWhlaWdodDogMTAwdmg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1icm93c2VyLWFkZHJlc3MtYmFyLCAwcHgpKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbWFwX19nbWFwIHtcbiAgICBoZWlnaHQ6IGNhbGMoMzEuMjVyZW0gKyA1MC4zNDcyMjIyMjIydncpO1xuICAgIG1heC1oZWlnaHQ6IDcwLjYyNXJlbTtcbiAgfVxufVxuLnRzbnotbWFwX19iYWNrLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMTUyOTMxO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG4udHNuei1tYXBfX2JhY2stYnV0dG9uW2hyZWZdLFxuLnRzbnotbWFwX19iYWNrLWJ1dHRvbiBhIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LW1hcF9fYmFjay1idXR0b25baHJlZl06aG92ZXIsXG4udHNuei1tYXBfX2JhY2stYnV0dG9uIGE6aG92ZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei1tYXBfX3VpIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW1hcF9fdWkge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWF4LXdpZHRoOiAyNWVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRzbnotbWFwX191aSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIG1heC13aWR0aDogMzIuNWVtO1xuICAgIG1hcmdpbi10b3A6IDhyZW07XG4gIH1cbn1cbi50c256LW1hcF9fZ21hcCAudHNuei1tYXBfX3VpIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS0xO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG59XG4udHNuei1tYXBfX3VpLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDAuMzEyNXJlbSBzb2xpZCAjZmZjYjA1O1xuICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMS4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udHNuei1tYXBfX3VpLXRvcCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW1hcF9fdWktdG9wIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG59XG4udHNuei1tYXBfX3VpLXRvcCA+IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotbWFwX19oZWFkaW5nLCAudHNuei1tYXBfX3NlbGVjdC1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbn1cbi50c256LW1hcF9faGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnRzbnotbWFwX19sb2FkaW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbWFwX19sb2FkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgfVxufVxuLnRzbnotbWFwX19zdGF0ZS1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHNuei1tYXBfX21lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotbWFwX19tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LW1hcF9fbWVudSBhLFxuLnRzbnotbWFwX19tZW51IC5idXR0b24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xufVxuLnRzbnotbWFwX19tZW51IGlucHV0LFxuLnRzbnotbWFwX19tZW51IHNlbGVjdCxcbi50c256LW1hcF9fbWVudSBhLFxuLnRzbnotbWFwX19tZW51IGJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1tYXBfX21lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udHNuei1tYXBfX21lbnUgYSB7XG4gIHBhZGRpbmc6IDAuNzVlbSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAzNGVhMjtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotbWFwX19tZW51LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHNuei1tYXBfX21lbnUtbGluazphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjklMjIgaGVpZ2h0PSUyMjE2JTIyIHZpZXdCb3g9JTIyMCAwIDkgMTYlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTTguNjggOC44bC02LjggNi44N2ExLjEgMS4xIDAgMCAxLTEuNTYgMCAxLjEzIDEuMTMgMCAwIDEgMC0xLjU4TDYuMzMgOGwtNi02LjA5YTEuMTMgMS4xMyAwIDAgMSAwLTEuNTggMS4xIDEuMSAwIDAgMSAxLjU2IDBMOC42OCA3LjJhMS4xMiAxLjEyIDAgMCAxIDAgMS41OHolMjIgZmlsbD0lMjIlMjNGRkNCMDUlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG59XG4udHNuei1tYXAgLnRzbnotbWFwX191aS1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogNDRlbTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMS41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1tYXAgLnRzbnotbWFwX191aS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG59XG4udHNuei1tYXBfX3NlbGVjdC1oZWFkaW5nLCAudHNuei1tYXBfX3NlbGVjdC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG4udHNuei1tYXAtLWxvYWRpbmcgLnRzbnotbWFwX19sb2FkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC50c256LW1hcC0taW4tc3RhdGUgLnRzbnotbWFwX191aSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02ZW0pO1xuICB9XG59XG4udHNuei1tYXAtLWluLXN0YXRlIC50c256LW1hcF9fZGVzY3JpcHRpb24sXG4udHNuei1tYXAtLWluLXN0YXRlIC50c256LW1hcF9fc2VsZWN0LWhlYWRpbmcsXG4udHNuei1tYXAtLWluLXN0YXRlIC50c256LW1hcF9fc2VsZWN0LWRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRzbnotbWFwLS1pbi1zdGF0ZSAudHNuei1tYXBfX3NlbGVjdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAudHNuei1tYXAtLWluLXN0YXRlIC50c256LW1hcF9fdWktY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gIH1cbn1cbi50c256LW1hcC0taW4tc3RhdGUgLnRzbnotbWFwX19tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnRzbnotbWFwLS1pbi1zdGF0ZSAudHNuei1tYXBfX21lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4udHNuei1tYXAtLWluLXN0YXRlIC50c256LW1hcF9fc3RhdGUtZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keS5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtYWN0aXZlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZmFuY3lib3gtaXMtaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbiAgbWFyZ2luOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mYW5jeWJveC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4uZmFuY3lib3gtY29udGFpbmVyICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZmFuY3lib3gtb3V0ZXIsXG4uZmFuY3lib3gtaW5uZXIsXG4uZmFuY3lib3gtYmcsXG4uZmFuY3lib3gtc3RhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZmFuY3lib3gtYmcge1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2IoMzAsIDMwLCAzMCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7XG59XG5cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTtcbn1cblxuLmZhbmN5Ym94LWluZm9iYXIsXG4uZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1jYXB0aW9uLFxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5OTc7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLCB2aXNpYmlsaXR5IDBzIGVhc2UgMC4yNXM7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24sXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZSAwcywgdmlzaWJpbGl0eSAwcyBlYXNlIDBzO1xufVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGNvbG9yOiAjY2NjO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi5mYW5jeWJveC10b29sYmFyIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbn1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgei1pbmRleDogOTk5OTQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuXG4uZmFuY3lib3gtaXMtb3BlbiAuZmFuY3lib3gtc3RhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQ0cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIFVzaW5nIHdpdGhvdXQgcHJlZml4IHdvdWxkIGJyZWFrIElFMTEgKi9cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsXG4uZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzLFxuLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICBwYWRkaW5nOiA0NHB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2U6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taHRtbCB7XG4gIHBhZGRpbmc6IDZweDtcbn1cblxuLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0NHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTU7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAsIDAuMTQsIDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiB6b29tLW91dDtcbn1cblxuLmZhbmN5Ym94LWNhbi16b29tSW4gLmZhbmN5Ym94LWNvbnRlbnQge1xuICBjdXJzb3I6IHpvb20taW47XG59XG5cbi5mYW5jeWJveC1jYW4tc3dpcGUgLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtY2FuLXBhbiAuZmFuY3lib3gtY29udGVudCB7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZhbmN5Ym94LWlzLWdyYWJiaW5nIC5mYW5jeWJveC1jb250ZW50IHtcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciBbZGF0YS1zZWxlY3RhYmxlPXRydWVdIHtcbiAgY3Vyc29yOiB0ZXh0O1xufVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0tcGRmIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2U1ZTNkZjtcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtdmlkZW8sXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRml4IGlPUyAqL1xuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uZmFuY3lib3gtZXJyb3Ige1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi8qIEJ1dHRvbnMgKi9cbi5mYW5jeWJveC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICB2aXNpYmlsaXR5OiBpbmhlcml0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uLFxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcbiAgY29sb3I6ICNjY2M7XG59XG5cbi5mYW5jeWJveC1idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1idXR0b24uZmFuY3lib3gtZm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXSxcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICM4ODg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogRml4IElFMTEgKi9cbi5mYW5jeWJveC1idXR0b24gZGl2IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnOm50aC1jaGlsZCgyKSxcbi5mYW5jeWJveC1idXR0b24tLWZzZW50ZXIgc3ZnOm50aC1jaGlsZCgyKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXBhdXNlIHN2ZzpudGgtY2hpbGQoMSksXG4uZmFuY3lib3gtYnV0dG9uLS1mc2V4aXQgc3ZnOm50aC1jaGlsZCgxKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogOTk5OTg7XG4gIGhlaWdodDogMnB4O1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgYmFja2dyb3VuZDogI2ZmNTI2ODtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4vKiBDbG9zZSBidXR0b24gb24gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgaHRtbCBjb250ZW50ICovXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQ0cHg7XG4gIHJpZ2h0OiAtMTJweDtcbiAgei1pbmRleDogNDAxO1xuICBwYWRkaW5nOiA4cHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taHRtbCAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY2xvc2Utc21hbGwsXG4uZmFuY3lib3gtaXMtem9vbWFibGUuZmFuY3lib3gtY2FuLXBhbiAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbn1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiBkaXYge1xuICBwYWRkaW5nOiA3cHg7XG59XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQge1xuICBsZWZ0OiAwO1xuICBsZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBwYWRkaW5nOiAzMXB4IDI2cHggMzFweCA2cHg7XG59XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIHJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgcGFkZGluZzogMzFweCA2cHggMzFweCAyNnB4O1xufVxuXG4vKiBDYXB0aW9uICovXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk2O1xuICBwYWRkaW5nOiA3NXB4IDQ0cHggMjVweCA0NHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuODUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMykgNTAlLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDY1JSwgcmdiYSgwLCAwLCAwLCAwLjA3NSkgNzUuNSUsIHJnYmEoMCwgMCwgMCwgMC4wMzcpIDgyLjg1JSwgcmdiYSgwLCAwLCAwLCAwLjAxOSkgODglLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZWVlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5Ac3VwcG9ydHMgKHBhZGRpbmc6IG1heCgwcHgpKSB7XG4gIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiA3NXB4IG1heCg0NHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgbWF4KDI1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSkgbWF4KDQ0cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuICB9XG59XG4uZmFuY3lib3gtY2FwdGlvbi0tc2VwYXJhdGUge1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbn1cblxuLmZhbmN5Ym94LWNhcHRpb25fX2JvZHkge1xuICBtYXgtaGVpZ2h0OiA1MHZoO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmZhbmN5Ym94LWNhcHRpb24gYSxcbi5mYW5jeWJveC1jYXB0aW9uIGE6bGluayxcbi5mYW5jeWJveC1jYXB0aW9uIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjY2NjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mYW5jeWJveC1jYXB0aW9uIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXG4uZmFuY3lib3gtbG9hZGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogOTk5OTk7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogLTI1cHggMCAwIC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwLjc7XG4gIGJvcmRlcjogNHB4IHNvbGlkICM4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBUcmFuc2l0aW9uIGVmZmVjdHMgKi9cbi5mYW5jeWJveC1hbmltYXRlZCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7XG59XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHNsaWRlICovXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGZhZGUgKi9cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbn1cblxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiB6b29tLWluLW91dCAqL1xuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbn1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xufVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG59XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHJvdGF0ZSAqL1xuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbn1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG59XG5cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogdHViZSAqL1xuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7XG59XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpO1xufVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XG59XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LWhlaWdodDogNTc2cHgpIHtcbiAgLmZhbmN5Ym94LXNsaWRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gIH1cbiAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSB7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gIH1cbiAgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICByaWdodDogLTZweDtcbiAgfVxuICAuZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBwYWRkaW5nOiA2cHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kOiAjNGU0ZTRlO1xuICAgIGNvbG9yOiAjZjJmNGY2O1xuICB9XG4gIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgfVxuICBAc3VwcG9ydHMgKHBhZGRpbmc6IG1heCgwcHgpKSB7XG4gICAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogbWF4KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAgIHBhZGRpbmctbGVmdDogbWF4KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuICAgIH1cbiAgfVxufVxuLyogU2hhcmUgKi9cbi5mYW5jeWJveC1zaGFyZSB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZhbmN5Ym94LXNoYXJlIGgxIHtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG4uZmFuY3lib3gtc2hhcmUgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDAgNXB4IDEwcHggNXB4O1xuICBtaW4td2lkdGg6IDEzMHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LXNoYXJlX19idXR0b246bGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcbiAgYmFja2dyb3VuZDogIzNiNTk5ODtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM0NGU4Njtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0IHtcbiAgYmFja2dyb3VuZDogI2JkMDgxZDtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2FhMDcxOTtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3IHtcbiAgYmFja2dyb3VuZDogIzFkYTFmMjtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzBkOTVlODtcbn1cblxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyNXB4O1xufVxuXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XG4gIGZpbGw6ICNmZmY7XG59XG5cbi5mYW5jeWJveC1zaGFyZV9faW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICM1ZDViNWI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBGdWxsc2NyZWVuICAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTFweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA3cHgpO1xuICB0b3A6IGNhbGMoNTAlIC0gNnB4KTtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIFNsaWRlc2hvdyBidXR0b24gKi9cbi5mYW5jeWJveC1idXR0b24tLXBsYXk6OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b24tLXBhdXNlOjpiZWZvcmUge1xuICB0b3A6IGNhbGMoNTAlIC0gNnB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSA0cHgpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXBhdXNlOjpiZWZvcmUge1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAycHggMCAycHg7XG59XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LXRodW1icyB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBwYWRkaW5nOiAycHggMnB4IDRweCAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjEycHg7XG4gIHotaW5kZXg6IDk5OTk1O1xufVxuXG4uZmFuY3lib3gtdGh1bWJzLXgge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICByaWdodDogMjEycHg7XG59XG5cbi5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xuICBmb250LXNpemU6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZhbmN5Ym94LXRodW1icy14IC5mYW5jeWJveC10aHVtYnNfX2xpc3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogN3B4O1xufVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLmZhbmN5Ym94LXRodW1icy15IC5mYW5jeWJveC10aHVtYnNfX2xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogIzJhMmEyYTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogNzVweDtcbiAgbWFyZ2luOiAycHg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSA0cHgpO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhOjpiZWZvcmUge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZmY1MjY4O1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICB6LWluZGV4OiA5OTk5MTtcbn1cblxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhOmZvY3VzOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5mYW5jeWJveC10aHVtYnNfX2xpc3QgYS5mYW5jeWJveC10aHVtYnMtYWN0aXZlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgd2lkdGg6IDExMHB4O1xuICB9XG4gIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICAgIHJpZ2h0OiAxMTBweDtcbiAgfVxuICAuZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG4gIH1cbn1cbi5mYW5jeWJveC1pcy1vcGVuIC5mYW5jeWJveC1iZyB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cblxuLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gIHRvcDogMXJlbTtcbiAgcmlnaHQ6IDFyZW07XG4gIHdpZHRoOiAzLjM3NXJlbTtcbiAgaGVpZ2h0OiAzLjM3NXJlbTtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gICAgdG9wOiAyLjA2MjVyZW07XG4gIH1cbn1cbi5mYW5jeWJveC1idXR0b24tLWNsb3NlOmhvdmVyLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMS44LCA0Ni44LCA5Ny4yKTtcbn1cbi5mYW5jeWJveC1idXR0b24tLWNsb3NlIC50c256LWxpZ2h0Ym94X19jbG9zZS1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSAudHNuei1saWdodGJveF9fY2xvc2UtaWNvbiBwYXRoIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG4gIHN0cm9rZS13aWR0aDogMy4xNTtcbn1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIHdpZHRoOiAyLjg3NXJlbTtcbiAgaGVpZ2h0OiAyLjg3NXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogY2FsYyg1MCUgLSAxLjQzNzVyZW0pO1xufVxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIuODc1cmVtO1xuICBoZWlnaHQ6IDIuODc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjQ2JTIyIGhlaWdodD0lMjI0NiUyMiB2aWV3Qm94PSUyMjAgMCA0NiA0NiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNMjUuODc1IDguNjI1TDIzLjgxOTQgMTAuNjI3NEwzNC43MTU2IDIxLjU2MjVINS43NVYyNC40Mzc1SDM0LjcxNTZMMjMuODE5NCAzNS4zMjM3TDI1Ljg3NSAzNy4zNzVMNDAuMjUgMjNMMjUuODc1IDguNjI1WiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0IHtcbiAgbGVmdDogMC42ODc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfbGVmdCB7XG4gICAgbGVmdDogMS40Mzc1cmVtO1xuICB9XG59XG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uLS1hcnJvd19sZWZ0OjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbn1cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgcmlnaHQ6IDAuNjg3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgICByaWdodDogMS40Mzc1cmVtO1xuICB9XG59XG5cbi5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWltYWdlIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNTYuNzVyZW07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mYW5jeWJveC1zbGlkZSAuZmFuY3lib3gtY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmFuY3lib3gtc2xpZGUudHNuei1saWdodGJveC15b3V0dWJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZmFuY3lib3gtc2xpZGUudHNuei1saWdodGJveC15b3V0dWJlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZhbmN5Ym94LXNsaWRlLnRzbnotbGlnaHRib3gteW91dHViZSAuZmFuY3lib3gtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHJlbSk7XG4gIG1heC13aWR0aDogNTYuNzVyZW07XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLmZhbmN5Ym94LXNsaWRlLnRzbnotbGlnaHRib3gteW91dHViZSAudHNuei15b3V0dWJlLXBsYXllciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MjkzMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mYW5jeWJveC1zbGlkZS50c256LWxpZ2h0Ym94LXlvdXR1YmUgLmZhbmN5Ym94LWlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZmFuY3lib3gtc2xpZGUudHNuei1saWdodGJveC15b3V0dWJlIC5mYW5jeWJveC1jdXN0b20tY2FwdGlvbixcbi5mYW5jeWJveC1zbGlkZS50c256LWxpZ2h0Ym94LXlvdXR1YmUgLmZhbmN5Ym94LWN1c3RvbS1jYXB0aW9uLWlubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1jYXB0aW9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmFuY3lib3gtY3VzdG9tLWNhcHRpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG5cbi5mYW5jeWJveC1jdXN0b20tY2FwdGlvbi1pbm5lciB7XG4gIG1heC13aWR0aDogNTYuNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxLjVyZW0gMCAwO1xufVxuXG4udHNuei1saWdodGJveC1jYXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWxpZ2h0Ym94LWNhcHRpb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAxLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG4udHNuei1saWdodGJveC1jYXB0aW9uX190ZXh0IHtcbiAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG59XG4udHNuei1saWdodGJveC1jYXB0aW9uX190aXRsZSwgLnRzbnotbGlnaHRib3gtY2FwdGlvbl9fdGV4dCBzdHJvbmcge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi50c256LWxpZ2h0Ym94LWNhcHRpb25fX2Rlc2Mge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotbGlnaHRib3gtY2FwdGlvbl9fZW5xdWlyZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NDg3NWVtKSB7XG4gIC5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICB9XG4gIC5mYW5jeWJveC1zbGlkZS50c256LWxpZ2h0Ym94LXlvdXR1YmUge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuICB9XG4gIC5mYW5jeWJveC1zbGlkZS50c256LWxpZ2h0Ym94LXlvdXR1YmUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDNyZW07XG4gIH1cbiAgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfbGVmdCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNC42MjVyZW07XG4gIH1cbiAgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfcmlnaHQge1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG59XG4udHNuei1saWdodGJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogem9vbS1pbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LWxpZ2h0Ym94LS12aWRlbyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi50c256LWxpZ2h0Ym94X19vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50c256LWxpZ2h0Ym94X19vdmVybGF5LS12aWRlbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMywgNzgsIDE2MiwgMC4xOCk7XG4gIG9wYWNpdHk6IDE7XG59XG4udHNuei1saWdodGJveDpob3ZlciAudHNuei1saWdodGJveF9fb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDE7XG59XG4udHNuei1saWdodGJveDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMwMzRlYTI7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4udHNuei1saWdodGJveF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDMuNXJlbTtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1saWdodGJveF9faWNvbi0tdmlkZW8ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWxpZ2h0Ym94X19pY29uIC5zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5cbi50c256LWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotZm9ybV9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZm9ybV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb3JtX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1mb3JtX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbi50c256LWZvcm1fX2Zvcm0ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb3JtX19mb3JtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi50c256LWZvcm0gbGVnZW5kIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LWZvcm0gcCB7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotZm9ybSAuZm9ybS1lcnJvciB7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotZm9ybV9fZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LWZvcm1fX3Bvc3Qtc3VibWl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tbmFtZTogY3VzdG9tLTU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG4udHNuei1mb3JtX19yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb3JtX19yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICB9XG59XG4udHNuei1mb3JtX19oYWxmLXJvdyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZvcm1fX2hhbGYtcm93IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWZvcm1fX3R3by10aGlyZHMtcm93IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWZvcm1fX3R3by10aGlyZHMtcm93IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDFyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZm9ybV9fdHdvLXRoaXJkcy1yb3cge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1mb3JtX19vbmUtdGhpcmQtcm93IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWZvcm1fX29uZS10aGlyZC1yb3cge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb3JtX19vbmUtdGhpcmQtcm93IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDJyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuLnRzbnotZm9ybV9fYXV0by1jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZm9ybV9fYXV0by1jZWxsIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuLnRzbnotZm9ybV9fc2hyaW5rLWNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mb3JtX19zaHJpbmstY2VsbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4udHNuei1mb3JtX193cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udHNuei1mb3JtX19idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWZvcm1fX2J1dHRvbi1ncm91cDo6YmVmb3JlLCAudHNuei1mb3JtX19idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi50c256LWZvcm1fX2J1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi50c256LWZvcm1fX2J1dHRvbi1ncm91cCAudHNuei1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMC4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgZmxleDogMCAwIGF1dG87XG59XG4udHNuei1mb3JtX19idXR0b24tZ3JvdXAgLnRzbnotYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udHNuei1mb3JtX19idXR0b24tZ3JvdXAgLnRzbnotYnV0dG9uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG4udHNuei1mb3JtX19idXR0b24tZ3JvdXAgLnRzbnotYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotZm9ybV9fbG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cbi50c256LWZvcm1fX2FjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbn1cbi50c256LWZvcm1fX21hcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG59XG4udHNuei1mb3JtX19tYXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRzbnotZm9ybV9fbWFwLWFzc2lzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS0xO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuLnRzbnotZm9ybV9fbWFwLWxvYWRpbmcsIC50c256LWZvcm1fX21hcC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuLnRzbnotZm9ybV9fbWFwLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogY29sdW1uIHwgcm93ICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmZjYjA1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udHNuei1mb3JtX19tYXAtbG9hZGluZyB7XG4gIGhlaWdodDogMi41ZW07XG4gIG1hcmdpbjogYXV0bztcbn1cbi50c256LWZvcm1fX21hcC1oZWFkaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnRzbnotZm9ybV9fbWFwLWhlYWRpbmctbGVmdCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi50c256LWZvcm1fX21hcC1oZWFkaW5nLXJpZ2h0IHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi50c256LWZvcm1fX2NvdmVyLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbWFyZ2luOiAtMS43NXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSksIHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbn1cbi50c256LWZvcm0tLW1hcC1hY3RpdmUgLnRzbnotZm9ybV9fbWFwLWFzc2lzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRzbnotZm9ybS0tbWFwLWxvYWRlZCAudHNuei1mb3JtX19tYXAtbG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHNuei1mb3JtLS1tYXAtc3VjY2VzcyAudHNuei1mb3JtX19tYXAtZmVlZGJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRzbnotZm9ybS0tY2FyZC1zdHlsZSAudHNuei1mb3JtX19mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjNDI0OTUyO1xuICBtYXgtd2lkdGg6IDQ4LjEyNXJlbTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotZm9ybS0tY2FyZC1zdHlsZSAudHNuei1mb3JtX19mb3JtID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1mb3JtLS1jYXJkLXN0eWxlIC50c256LWZvcm1fX2Zvcm0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi50c256LWZvcm0tLXdpZGUgLnRzbnotZm9ybV9fZm9ybSB7XG4gIG1heC13aWR0aDogNjguNzVyZW07XG59XG4udHNuei1mb3JtLS1sb2FkaW5nIC50c256LWZvcm1fX2FjdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotZm9ybS0tbG9hZGluZyAudHNuei1mb3JtX19sb2FkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udHNuei1mb3JtLS1jb21wbGV0ZSAudHNuei1mb3JtX19wcmUtc3VibWl0LFxuLnRzbnotZm9ybS0tY29tcGxldGUgLnRzbnotZm9ybV9fbG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHNuei1mb3JtLS1jb21wbGV0ZSAudHNuei1mb3JtX19wb3N0LXN1Ym1pdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRzbnotZm9ybS0tbmV3c2xldHRlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotZm9ybS0tbmV3c2xldHRlciAudHNuei1mb3JtX19mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgbGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mb3JtLS1uZXdzbGV0dGVyIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbn1cbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgW3R5cGU9c3VibWl0XSB7XG4gIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbn1cbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgLnRzbnotZm9ybV9fcG9zdC1zdWJtaXQtbWVzc2FnZSBoMixcbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgLnRzbnotZm9ybV9fcG9zdC1zdWJtaXQtbWVzc2FnZSBoMyxcbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgLnRzbnotZm9ybV9fcG9zdC1zdWJtaXQtbWVzc2FnZSBoNCxcbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgLnRzbnotZm9ybV9fcG9zdC1zdWJtaXQtbWVzc2FnZSBoNSxcbi50c256LWZvcm0tLW5ld3NsZXR0ZXIgLnRzbnotZm9ybV9fcG9zdC1zdWJtaXQtbWVzc2FnZSBoNiB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1mb3JtLS1jb250YWN0IC50c256LWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi50c256LWZvcm0tLWNvbnRhY3QtbnogLnRzbnotZm9ybV9fZm9ybSB7XG4gIG1heC13aWR0aDogNjByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4udHNuei1mb3JtLS1jb250YWN0LW56IC50c256LWZvcm1fX3ByZS1zdWJtaXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuNXJlbTtcbn1cbi50c256LWZvcm0tLWNvbnRhY3QtbnogLnRzbnotaW5wdXQsXG4udHNuei1mb3JtLS1jb250YWN0LW56IC50c256LXNlbGVjdCxcbi50c256LWZvcm0tLWNvbnRhY3QtbnogLnRzbnotdGV4dGFyZWEsXG4udHNuei1mb3JtLS1jb250YWN0LW56IC50c256LWNoZWNrYm94LWdyb3VwLFxuLnRzbnotZm9ybS0tY29udGFjdC1ueiAudHNuei1mb3JtX19hY3Rpb25zIHtcbiAgbWFyZ2luOiAwO1xufVxuLnRzbnotZm9ybS0tY29udGFjdC1ueiBpbnB1dCxcbi50c256LWZvcm0tLWNvbnRhY3Qtbnogc2VsZWN0LFxuLnRzbnotZm9ybS0tY29udGFjdC1ueiB0ZXh0YXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1mb3JtLS1jb250YWN0LW56IC50c256LWZvcm1fX3JvdyB7XG4gIHJvdy1nYXA6IDEuNXJlbTtcbn1cbi50c256LWZvcm0tLWNvbnRhY3QtbnogLnRzbnotZm9ybV9fYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZm9ybS0tY29udGFjdC1ueiAudHNuei1zZWxlY3Qge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mb3JtLS1jb250YWN0LW56IC50c256LWZvcm1fX2FjdGlvbnMgLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi50c256LWZvcm0tLWNvbnRhY3QtbnogW2RhdGEtYWJpZGUtZXJyb3JdLmNhbGxvdXQge1xuICBib3JkZXItY29sb3I6ICNlZDFjMjQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM3LCAyOCwgMzYsIDAuMDgpO1xuICBjb2xvcjogI2VkMWMyNDtcbn1cbi50c256LWZvcm0tLWFuc3dlci1zZXJ2aWNlcyAudHNuei1mb3JtX19wcmUtc3VibWl0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjVyZW07XG59XG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgLnZlci1mb3JtX19jb250ZW50LWxlZ2VuZC1jb250YWluZXIsXG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgLnZlci1mb3JtX19mcmFuY2hpc2UtZGlzcGxheSxcbi50c256LWZvcm0tLWFuc3dlci1zZXJ2aWNlcyAudHNuei1pbnB1dCxcbi50c256LWZvcm0tLWFuc3dlci1zZXJ2aWNlcyAudHNuei1zZWxlY3QsXG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgLnRzbnotdGV4dGFyZWEsXG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgLnRzbnotY2hlY2tib3gtZ3JvdXAsXG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgLnRzbnotYnV0dG9uLWdyb3VwLFxuLnRzbnotZm9ybS0tYW5zd2VyLXNlcnZpY2VzIC50c256LWZvcm1fX2FjdGlvbnMge1xuICBtYXJnaW46IDA7XG59XG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgaW5wdXQsXG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgc2VsZWN0LFxuLnRzbnotZm9ybS0tYW5zd2VyLXNlcnZpY2VzIHRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50c256LWZvcm0tLWFuc3dlci1zZXJ2aWNlcyBpbnB1dDo6cGxhY2Vob2xkZXIsXG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNhNGE0YTQ7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi50c256LWZvcm0tLWFuc3dlci1zZXJ2aWNlcyAudHNuei1mb3JtX19yb3cge1xuICByb3ctZ2FwOiAxLjVyZW07XG59XG4udHNuei1mb3JtLS1hbnN3ZXItc2VydmljZXMgLnRzbnotZm9ybV9fYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbi50c256LWZvcm0tLWVudHJ5IC50c256LWZvcm1fX3ByZS1zdWJtaXQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG59XG4udHNuei1mb3JtLS1jb3ZlcmVkIC50c256LWZvcm1fX3ByZS1zdWJtaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50c256LWZvcm0tLWNvdmVyZWQgLnRzbnotZm9ybV9fY292ZXItaW1hZ2Uge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4udmVyLWlubmVyLXBhZ2UtLWFuc3dlci1zZXJ2aWNlcy1mb3JtIC50c256LWJsb2NrX19jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG59XG4udmVyLWlubmVyLXBhZ2UtLWFuc3dlci1zZXJ2aWNlcy1mb3JtIC50c256LWJsb2NrX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA2OC43NXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwLjYyNWVtKSB7XG4gIC52ZXItaW5uZXItcGFnZS0tYW5zd2VyLXNlcnZpY2VzLWZvcm0gLnRzbnotYmxvY2tfX2NvbnRlbnQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSAudHNuei1wcmVmb290ZXIsXG4udmVyLWlubmVyLXBhZ2UtLWFuc3dlci1zZXJ2aWNlcy1mb3JtIC50c256LWZvb3Rlcixcbi52ZXItaW5uZXItcGFnZS0tYW5zd2VyLXNlcnZpY2VzLWZvcm0gLnRzbnotYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSAudmVyLWZvcm1fX2NvbnRlbnQtbGVnZW5kLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSAudHNuei1pbnB1dC0tYW5zd2VyLXNlcnZpY2VzLWVtYWlsIC50c256LWlucHV0X19sYWJlbCB7XG4gIG1heC13aWR0aDogY2FsYygoMTAwJSAtIDJyZW0pIC8gMS4xMjUpO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi52ZXItaW5uZXItcGFnZS0tYW5zd2VyLXNlcnZpY2VzLWZvcm0gLnRzbnotaW5wdXQtLWFuc3dlci1zZXJ2aWNlcy1lbWFpbC50c256LWlucHV0LS11c2VkIC50c256LWlucHV0X19sYWJlbCwgLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSAudHNuei1pbnB1dC0tYW5zd2VyLXNlcnZpY2VzLWVtYWlsLnRzbnotaW5wdXQtLWZvY3VzZWQgLnRzbnotaW5wdXRfX2xhYmVsIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbn1cbi52ZXItaW5uZXItcGFnZS0tYW5zd2VyLXNlcnZpY2VzLWZvcm0gLnRzbnotaW5wdXQtLWJ1aWxkLWxvY2F0aW9uIC50c256LWlucHV0X19sYWJlbCB7XG4gIG1heC13aWR0aDogY2FsYygoMTAwJSAtIDJyZW0pIC8gMS4xMjUpO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi52ZXItaW5uZXItcGFnZS0tYW5zd2VyLXNlcnZpY2VzLWZvcm0gLnRzbnotaW5wdXQtLWJ1aWxkLWxvY2F0aW9uLnRzbnotaW5wdXQtLXVzZWQgLnRzbnotaW5wdXRfX2xhYmVsLCAudmVyLWlubmVyLXBhZ2UtLWFuc3dlci1zZXJ2aWNlcy1mb3JtIC50c256LWlucHV0LS1idWlsZC1sb2NhdGlvbi50c256LWlucHV0LS1mb2N1c2VkIC50c256LWlucHV0X19sYWJlbCB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG59XG4udmVyLWlubmVyLXBhZ2UtLWFuc3dlci1zZXJ2aWNlcy1mb3JtIC52ZXItZm9ybV9fZnJhbmNoaXNlLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmMmYyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSAudmVyLWZvcm1fX2ZyYW5jaGlzZS1kaXNwbGF5IC52ZXItZm9ybV9fZnJhbmNoaXNlLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSAudmVyLWZvcm1fX2ZyYW5jaGlzZS1kaXNwbGF5IC52ZXItZm9ybV9fZnJhbmNoaXNlLW5hbWUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuXG4udHNuei1jb250YWN0LWZvcm1fX2hlYWRlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotY29udGFjdC1mb3JtX19oZWFkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRhY3QtZm9ybV9faGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotY29udGFjdC1mb3JtX19oZWFkaW5nIHtcbiAgbWF4LXdpZHRoOiA2MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi50c256LWZyYW5jaGlzZS1vcHBvcnR1bml0eS1mb3JtX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mcmFuY2hpc2Utb3Bwb3J0dW5pdHktZm9ybV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1mcmFuY2hpc2Utb3Bwb3J0dW5pdHktZm9ybV9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLW9wcG9ydHVuaXR5LWZvcm1fX2hlYWRpbmcsXG4udHNuei1mcmFuY2hpc2Utb3Bwb3J0dW5pdHktZm9ybSAudHNuei1odWJzcG90LWZvcm0ge1xuICBtYXgtd2lkdGg6IDYwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnRzbnotZnJhbmNoaXNlLW9wcG9ydHVuaXR5LWZvcm1fX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi50c256LXByZWZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHBhZGRpbmctYmxvY2s6IDNyZW07XG59XG4udHNuei1wcmVmb290ZXJbaHJlZl0sXG4udHNuei1wcmVmb290ZXIgYSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1wcmVmb290ZXJbaHJlZl06aG92ZXIsXG4udHNuei1wcmVmb290ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJlZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJsb2NrOiA1cmVtO1xuICB9XG59XG4udHNuei1wcmVmb290ZXJfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDcwcmVtO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBwYWRkaW5nLWlubGluZTogMS41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1wcmVmb290ZXJfX2NvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnRzbnotcHJlZm9vdGVyX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LXByZWZvb3Rlcl9faXRlbTpob3ZlciAudHNuei1wcmVmb290ZXJfX2xhYmVsIHtcbiAgY29sb3I6IHJnYigxLjgsIDQ2LjgsIDk3LjIpO1xufVxuLnRzbnotcHJlZm9vdGVyX19pY29uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiA2cmVtO1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LXByZWZvb3Rlcl9faWNvbiAudHNuei1zeW1ib2wge1xuICB3aWR0aDogMy40Mzc1cmVtO1xuICBoZWlnaHQ6IDMuNDM3NXJlbTtcbn1cbi50c256LXByZWZvb3Rlcl9fdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC4ycmVtO1xufVxuLnRzbnotcHJlZm9vdGVyX190YWdsaW5lIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4udHNuei1wcmVmb290ZXJfX2xhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotcHJlZm9vdGVyX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLnRzbnotbmV3c2xldHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmU4ZWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuLnRzbnotbmV3c2xldHRlcltocmVmXSxcbi50c256LW5ld3NsZXR0ZXIgYSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1uZXdzbGV0dGVyW2hyZWZdOmhvdmVyLFxuLnRzbnotbmV3c2xldHRlciBhOmhvdmVyIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotbmV3c2xldHRlcl9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotbmV3c2xldHRlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1uZXdzbGV0dGVyX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtO1xuICB9XG59XG4udHNuei1uZXdzbGV0dGVyX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbmV3c2xldHRlcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW5ld3NsZXR0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG59XG4udHNuei1uZXdzbGV0dGVyX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotbmV3c2xldHRlcl9fY29udGVudCB7XG4gICAgZ2FwOiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyg5LjM3NXJlbSArIDJyZW0pO1xuICB9XG59XG4udHNuei1uZXdzbGV0dGVyX19oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW5ld3NsZXR0ZXJfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB9XG59XG4udHNuei1uZXdzbGV0dGVyX19mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udHNuei1uZXdzbGV0dGVyX19zYW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudHNuei1uZXdzbGV0dGVyX19zYW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi50c256LW5ld3NsZXR0ZXJfX3NhbS1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogOS4zNzVyZW07XG4gIGhlaWdodDogMTUuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHJpZ2h0OiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotbmV3c2xldHRlcl9fc2FtLWltYWdlIHtcbiAgICByaWdodDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1uZXdzbGV0dGVyX19zYW0taW1hZ2Uge1xuICAgIHJpZ2h0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LW5ld3NsZXR0ZXJfX3NhbS1pbWFnZSB7XG4gICAgcmlnaHQ6IDEwcmVtO1xuICB9XG59XG5cbi50c256LXNpdGVtYXAge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRzbnotc2l0ZW1hcF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zaXRlbWFwX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1zaXRlbWFwX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4udHNuei1zaXRlbWFwX19saXN0LCAudHNuei1zaXRlbWFwX19jaGlsZC1saXN0LCAudHNuei1zaXRlbWFwX19ncmFuZGNoaWxkLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRzbnotc2l0ZW1hcF9fbGlzdCBsaSwgW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudHNuei1zaXRlbWFwX19jaGlsZC1saXN0IGxpLCBbZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50c256LXNpdGVtYXBfX2dyYW5kY2hpbGQtbGlzdCBsaSB7XG4gIG91dGxpbmU6IDA7XG59XG4udHNuei1zaXRlbWFwX19saXN0IGEsXG4udHNuei1zaXRlbWFwX19saXN0IC5idXR0b24sIC50c256LXNpdGVtYXBfX2NoaWxkLWxpc3QgYSxcbi50c256LXNpdGVtYXBfX2NoaWxkLWxpc3QgLmJ1dHRvbiwgLnRzbnotc2l0ZW1hcF9fZ3JhbmRjaGlsZC1saXN0IGEsXG4udHNuei1zaXRlbWFwX19ncmFuZGNoaWxkLWxpc3QgLmJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG59XG4udHNuei1zaXRlbWFwX19saXN0IGlucHV0LFxuLnRzbnotc2l0ZW1hcF9fbGlzdCBzZWxlY3QsXG4udHNuei1zaXRlbWFwX19saXN0IGEsXG4udHNuei1zaXRlbWFwX19saXN0IGJ1dHRvbiwgLnRzbnotc2l0ZW1hcF9fY2hpbGQtbGlzdCBpbnB1dCxcbi50c256LXNpdGVtYXBfX2NoaWxkLWxpc3Qgc2VsZWN0LFxuLnRzbnotc2l0ZW1hcF9fY2hpbGQtbGlzdCBhLFxuLnRzbnotc2l0ZW1hcF9fY2hpbGQtbGlzdCBidXR0b24sIC50c256LXNpdGVtYXBfX2dyYW5kY2hpbGQtbGlzdCBpbnB1dCxcbi50c256LXNpdGVtYXBfX2dyYW5kY2hpbGQtbGlzdCBzZWxlY3QsXG4udHNuei1zaXRlbWFwX19ncmFuZGNoaWxkLWxpc3QgYSxcbi50c256LXNpdGVtYXBfX2dyYW5kY2hpbGQtbGlzdCBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotc2l0ZW1hcF9fbGlzdCBpbnB1dCwgLnRzbnotc2l0ZW1hcF9fY2hpbGQtbGlzdCBpbnB1dCwgLnRzbnotc2l0ZW1hcF9fZ3JhbmRjaGlsZC1saXN0IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnRzbnotc2l0ZW1hcF9fY2hpbGQtbGlzdCwgLnRzbnotc2l0ZW1hcF9fZ3JhbmRjaGlsZC1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi50c256LXNpdGVtYXBfX2xpbmsudHNuei1zaXRlbWFwX19saW5rIHtcbiAgcGFkZGluZzogMCAwIDAuNWVtO1xufVxuLnRzbnotc2l0ZW1hcF9fY2hpbGQtbGluay50c256LXNpdGVtYXBfX2NoaWxkLWxpbmsge1xuICBwYWRkaW5nOiAwIDAgMC41ZW07XG59XG4udHNuei1zaXRlbWFwX19ncmFuZGNoaWxkLWxpbmsudHNuei1zaXRlbWFwX19ncmFuZGNoaWxkLWxpbmsge1xuICBwYWRkaW5nOiAwIDAgMC41ZW07XG59XG5cbi50c256LXNlYXJjaC1yZXN1bHRzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50c256LXNlYXJjaC1yZXN1bHRzX193cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNlYXJjaC1yZXN1bHRzX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1zZWFyY2gtcmVzdWx0c19fd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vKiBWZW5kb3IgKi9cbi50c256LXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4udHNuei1zbGlkZXIgKiB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG4udHNuei1zbGlkZXJfX3RyYWNrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LXNsaWRlcl9fc2xpZGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0b3VjaC1hY3Rpb246IHBhbi1ZO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuLnRzbnotc2xpZGVyX19zbGlkZXMtLWRyYWdnaW5nIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei1zbGlkZXJfX3NsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udHNuei1zbGlkZXJfX3NsaWRlIGEge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbn1cbi50c256LXNsaWRlcl9fYXJyb3dzIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi50c256LXNsaWRlcl9fYnVsbGV0cyB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei1zbGlkZXItLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4udHNuei1zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMHJlbTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuLnRzbnotc2xpZGVyX19jdGEtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4udHNuei1zbGlkZXJfX2N0YS10b3Age1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIzNDZkO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zbGlkZXJfX2N0YS10b3Age1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbn1cblxuLnRzbnotc2xpZGVyX19jdGEtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zbGlkZXJfX2N0YS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICB9XG59XG5cbi50c256LXNsaWRlcl9fY3RhLWhlYWRpbmcge1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LXNsaWRlcl9fY3RhLWhlYWRpbmc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50c256LXNsaWRlcl9fY3RhLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMy43NWVtKSB7XG4gIC50c256LXNsaWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgfVxufVxuLnRzbnotc2xpZGVyX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi50c256LXNsaWRlcl9fc2xpZGVzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udHNuei1zbGlkZXJfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ4LjQzNzV2dztcbiAgbWF4LWhlaWdodDogMzVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVyX19zbGlkZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMC4zNSk7XG4gIH1cbn1cbi50c256LXNsaWRlcl9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlO1xufVxuLmxhenlsb2FkZWQgPiAudHNuei1zbGlkZXJfX2ltYWdlIHtcbiAgb3BhY2l0eTogMDtcbn1cbi50c256LXNsaWRlcl9fY29udGVudHMtb3V0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zbGlkZXJfX2NvbnRlbnRzLW91dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3N2VtKSB7XG4gIC50c256LXNsaWRlcl9fY29udGVudHMtb3V0ZXIge1xuICAgIHJpZ2h0OiBjYWxjKDUwdncgLSA0NXJlbSk7XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRzbnotc2xpZGVyX19jb250ZW50cy1vdXRlciB7XG4gICAgcmlnaHQ6IDVyZW07XG4gIH1cbn1cbi50c256LXNsaWRlcl9fY29udGVudHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDAgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVyX19jb250ZW50cyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA0cmVtKSAqIDAuNjY2NjY2NjY2NyArIDEuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC50c256LXNsaWRlcl9fY29udGVudHMge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSkgKiAwLjY2NjY2NjY2NjcpO1xuICB9XG59XG4udHNuei1zbGlkZXJfX2N0YSB+IC50c256LXNsaWRlcl9fY3RhIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50c256LXNsaWRlcl9fY3RhLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NvcnJ1Z2F0ZS5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMzRlYTIsICMwMjM0NmQpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1zbGlkZXJfX2N0YS13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXNsaWRlcl9fY3RhLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuLnRzbnotc2xpZGVyX19jdGEtZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDQ4LjEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zbGlkZXJfX2N0YS1jb250ZW50IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgfVxufVxuLnRzbnotc2xpZGVyX19idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnRzbnotc2xpZGVyX19idXR0b25zOjpiZWZvcmUsIC50c256LXNsaWRlcl9fYnV0dG9uczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRzbnotc2xpZGVyX19idXR0b25zOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnRzbnotc2xpZGVyX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLnRzbnotc2xpZGVyX19idXR0b25zIC50c256LWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnRzbnotc2xpZGVyX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuLnRzbnotc2xpZGVyX19idXR0b25zIC50c256LWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXNsaWRlcl9fYnV0dG9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1heC13aWR0aDogMzguNDM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLnRzbnotc2xpZGVyX19idXR0b25zOjpiZWZvcmUsIC50c256LXNsaWRlcl9fYnV0dG9uczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnRzbnotc2xpZGVyX19idXR0b25zOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnRzbnotc2xpZGVyX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC50c256LXNsaWRlcl9fYnV0dG9ucyAudHNuei1idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC50c256LXNsaWRlcl9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnRzbnotc2xpZGVyX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLnRzbnotc2xpZGVyX19hcnJvd3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotc2xpZGVyX19hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDIuODEyNXJlbTtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIG9wYWNpdHk6IDAuOTtcbiAgYm9yZGVyLXJhZGl1czogNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtc2l6ZTogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVyX19hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogY2FsYyg1MCUgLSAyMnB4KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnRzbnotc2xpZGVyX19hcnJvdzpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4udHNuei1zbGlkZXJfX2Fycm93OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDksIDE2NS41MjgsIDApO1xufVxuLnRzbnotc2xpZGVyX19hcnJvdzpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDA7XG59XG4udHNuei1zbGlkZXJfX2Fycm93OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjU2MjVyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4udHNuei1zbGlkZXJfX2Fycm93LS1sZWZ0IHtcbiAgbGVmdDogLTEuMzc1cmVtO1xufVxuLnRzbnotc2xpZGVyX19hcnJvdy0tbGVmdDphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNLjMyIDcuMkw3LjEyLjM0YTEuMSAxLjEgMCAwIDEgMS41NiAwYy40My40NC40MyAxLjE1IDAgMS41OEwyLjY3IDhsNiA2LjA5Yy40NC40My40NCAxLjE0IDAgMS41OGExLjEgMS4xIDAgMCAxLTEuNTYgMEwuMzIgOC44YTEuMTIgMS4xMiAwIDAgMSAwLTEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4udHNuei1zbGlkZXJfX2Fycm93LS1yaWdodCB7XG4gIHJpZ2h0OiAtMS4zNzVyZW07XG59XG4udHNuei1zbGlkZXJfX2Fycm93LS1yaWdodDphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNOC42OCA4LjhsLTYuOCA2Ljg3YTEuMSAxLjEgMCAwIDEtMS41NiAwIDEuMTMgMS4xMyAwIDAgMSAwLTEuNThMNi4zMyA4bC02LTYuMDlhMS4xMyAxLjEzIDAgMCAxIDAtMS41OCAxLjEgMS4xIDAgMCAxIDEuNTYgMEw4LjY4IDcuMmExLjEyIDEuMTIgMCAwIDEgMCAxLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLnRzbnotc2xpZGVyX19idWxsZXRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDJlbTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udHNuei1zbGlkZXJfX2J1bGxldCB7XG4gIHdpZHRoOiAwLjc1ZW07XG4gIGhlaWdodDogMC43NWVtO1xuICBtYXJnaW46IDAgMC4yNWVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAwLjI1ZW0gMC41ZW0gMCByZ2JhKDIxLCA0MSwgNDksIDAuMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBsaW5lLWhlaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRzbnotc2xpZGVyX19idWxsZXQ6aG92ZXIsIC50c256LXNsaWRlcl9fYnVsbGV0OmZvY3VzIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAzNGVhMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzLCA3OCwgMTYyLCAwLjUpO1xufVxuLnRzbnotc2xpZGVyX19idWxsZXQtLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei1zbGlkZXJfX3NhbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFyZW07XG4gIGJvdHRvbTogMTAwJTtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IGNhbGMoMi42NDIwNDU0NTQ1cmVtICsgMTMuOTc3MjcyNzI3M3Z3KTtcbiAgbWF4LXdpZHRoOiAxMy4xMjVyZW07XG4gIGhlaWdodDogY2FsYyg0LjU3OTU0NTQ1NDVyZW0gKyAyMy45NzcyNzI3MjczdncpO1xuICBtYXgtaGVpZ2h0OiAyMi41NjI1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlcl9fc2FtIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogLTQ1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAudHNuei1zbGlkZXJfX3NhbSB7XG4gICAgcmlnaHQ6IDEyMCU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi50c256LXNsaWRlcl9fYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBmb250LXNpemU6IGNhbGMoNS43NDAyNTk3NDAzcmVtICsgMi4wMTI5ODcwMTN2dyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlcl9fYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjllbTtcbiAgfVxufVxuLnRzbnotc2xpZGVyX19oZWFkaW5nLCAudHNuei1zbGlkZXJfX2xpdmUtcmVnaW9uLCAudHNuei1zbGlkZXJfX2J1bGxldC10ZXh0LCAudHNuei1zbGlkZXJfX2N1cnJlbnQtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuLnRzbnotc2xpZGVyLS1zd2lwZWFibGUge1xuICBjdXJzb3I6IGdyYWI7XG59XG4udHNuei1zbGlkZXItLWRyYWdnaW5nIHtcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVyLS13aXRoLWJhZGdlIC50c256LXNsaWRlcl9fc2xpZGUtaGVhZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4udHNuei1zbGlkZXItLXNsaWRlciAudHNuei1zbGlkZXJfX2J1bGxldHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVyLS1zbGlkZXIgLnRzbnotc2xpZGVyX19idWxsZXRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4udHNuei1zbGlkZXItLXNsaWRlciAudHNuei1zbGlkZXJfX2Fycm93cyB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG4udHNuei1zbGlkZXItLXNsaWRlciAudHNuei1zbGlkZXJfX2N0YSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnRzbnotc2xpZGVyLS1zbGlkZXIgLnRzbnotc2xpZGVyX19jdGFbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotc2xpZGVyLS1zbGlkZXIgLnRzbnotc2xpZGVyX19jdGEtd3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAzZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlci0tc2xpZGVyIC50c256LXNsaWRlcl9fY3RhLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gIH1cbn1cblxuLyogVmVuZG9yICovXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLnN3aXBlci1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbn1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG5cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCwgLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsIC5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG5cbi50c256LWNhcm91c2VsX19jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi50c256LWNhcm91c2VsX19hcnJvdyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDUwJTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyLjgxMjVyZW07XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBvcGFjaXR5OiAwLjk7XG4gIGJvcmRlci1yYWRpdXM6IDRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNiMDU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICBmb250LXNpemU6IDA7XG59XG4udHNuei1jYXJvdXNlbF9fYXJyb3c6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnRzbnotY2Fyb3VzZWxfX2Fycm93OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDksIDE2NS41MjgsIDApO1xufVxuLnRzbnotY2Fyb3VzZWxfX2Fycm93OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMC41NjI1cmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4udHNuei1jYXJvdXNlbF9fYXJyb3ctLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMDtcbn1cbi50c256LWNhcm91c2VsX19hcnJvdy0tZGlzYWJsZWQ6aG92ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuLnRzbnotY2Fyb3VzZWxfX2Fycm93LWxlZnQge1xuICBsZWZ0OiAwLjM3NXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY2Fyb3VzZWxfX2Fycm93LWxlZnQge1xuICAgIGxlZnQ6IDEuMzc1cmVtO1xuICB9XG59XG4udHNuei1jYXJvdXNlbF9fYXJyb3ctbGVmdDphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNLjMyIDcuMkw3LjEyLjM0YTEuMSAxLjEgMCAwIDEgMS41NiAwYy40My40NC40MyAxLjE1IDAgMS41OEwyLjY3IDhsNiA2LjA5Yy40NC40My40NCAxLjE0IDAgMS41OGExLjEgMS4xIDAgMCAxLTEuNTYgMEwuMzIgOC44YTEuMTIgMS4xMiAwIDAgMSAwLTEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4udHNuei1jYXJvdXNlbF9fYXJyb3ctcmlnaHQge1xuICByaWdodDogMC4zNzVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNhcm91c2VsX19hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDEuMzc1cmVtO1xuICB9XG59XG4udHNuei1jYXJvdXNlbF9fYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjklMjIgaGVpZ2h0PSUyMjE2JTIyIHZpZXdCb3g9JTIyMCAwIDkgMTYlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTTguNjggOC44bC02LjggNi44N2ExLjEgMS4xIDAgMCAxLTEuNTYgMCAxLjEzIDEuMTMgMCAwIDEgMC0xLjU4TDYuMzMgOGwtNi02LjA5YTEuMTMgMS4xMyAwIDAgMSAwLTEuNTggMS4xIDEuMSAwIDAgMSAxLjU2IDBMOC42OCA3LjJhMS4xMiAxLjEyIDAgMCAxIDAgMS41OHolMjIgZmlsbD0lMjIlMjMwMzRFQTIlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi50c256LWNhcm91c2VsX190aHVtYm5haWwtY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG4udHNuei1jYXJvdXNlbF9fdGh1bWJuYWlsLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjQ7XG59XG4udHNuei1jYXJvdXNlbF9fdGh1bWJuYWlsLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4udHNuei1jYXJvdXNlbC0tY2FyZC1zdHlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzQyNDk1MjtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LWNhcm91c2VsLS1jYXJkLXN0eWxlID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1jYXJvdXNlbC0tY2FyZC1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jYXJvdXNlbC0tY2FyZC1zdHlsZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi50c256LWNhcm91c2VsLS1jYXJkLXN0eWxlLS1mcmFuY2hpc2Uge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuMzEyNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTU2MjVyZW07XG4gIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDBweDtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY2Fyb3VzZWwtLWNhcmQtc3R5bGUtLWZyYW5jaGlzZSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnRzbnotdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHNuei12aWRlb19fY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlb19fY29udGVudCB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICB9XG59XG5cbi50c256LXZpZGVvX193cmFwcGVyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLnRzbnotdmlkZW9fX3dyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzE1MjkzMTtcbn1cbi50c256LXZpZGVvX193cmFwcGVyW2hyZWZdLFxuLnRzbnotdmlkZW9fX3dyYXBwZXIgYSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei12aWRlb19fd3JhcHBlcltocmVmXTpob3Zlcixcbi50c256LXZpZGVvX193cmFwcGVyIGE6aG92ZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei12aWRlb19faGVhZGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDMuMzc1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbi50c256LXZpZGVvX19jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBoZWlnaHQ6IDdyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotdmlkZW9fX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50c256LXZpZGVvX19pbWFnZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxLCA0MSwgNDksIDAuMyk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnRzbnotdmlkZW9fX2ltYWdlW2hyZWZdOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjg7XG59XG4udHNuei12aWRlb19faW1hZ2VbaHJlZl06YWN0aXZlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQ7XG59XG4udHNuei12aWRlb19fcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBtYXJnaW46IGF1dG87XG4gIGZvbnQtc2l6ZTogNXJlbTtcbn1cbi50c256LXZpZGVvLS1mZWF0dXJlZCAudHNuei12aWRlb19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby0tZmVhdHVyZWQgLnRzbnotdmlkZW9fX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgfVxufVxuXG4udHNuei12aWRlby0tZmVhdHVyZWQgLnRzbnotdmlkZW9fX3dyYXBwZXIge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy43NWVtKSB7XG4gIC50c256LXZpZGVvLS1mZWF0dXJlZCAudHNuei12aWRlb19fd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLnRzbnotdmlkZW8tLWZlYXR1cmVkIC50c256LXZpZGVvX19jb250ZW50IHtcbiAgcGFkZGluZzogMDtcbn1cbi50c256LXZpZGVvLS1mZWF0dXJlZCAudHNuei12aWRlb19faGVhZGluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cbi50c256LXZpZGVvLS1mZWF0dXJlZCAudHNuei12aWRlb19fY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG59XG4udHNuei12aWRlby0tZmVhdHVyZWQgLnRzbnotdmlkZW9fX2ltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4vKiBWZW5kb3IgKi9cbi50c256LWF3YXJkcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4udHNuei1hd2FyZHMgKiB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG4udHNuei1hd2FyZHNfX3RyYWNrIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LWF3YXJkc19fc2xpZGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0b3VjaC1hY3Rpb246IHBhbi1ZO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuLnRzbnotYXdhcmRzX19zbGlkZXMtLWRyYWdnaW5nIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei1hd2FyZHNfX3NsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udHNuei1hd2FyZHNfX3NsaWRlIGEge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbn1cbi50c256LWF3YXJkc19fYXJyb3dzIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi50c256LWF3YXJkc19fYnVsbGV0cyB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei1hd2FyZHMtLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4udHNuei1hd2FyZHMge1xuICB3aWR0aDogODAlO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMzBweCAwcHg7XG59XG4udHNuei1hd2FyZHMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTMycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnRzbnotYXdhcmRzX193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDIgKiAxcmVtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50c256LWF3YXJkc19fY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbn1cbi50c256LWF3YXJkc19fc2xpZGVzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWF3YXJkc19fc2xpZGUge1xuICAgIHdpZHRoOiA4Ljc1cmVtO1xuICB9XG59XG4udHNuei1hd2FyZHMtLWRpc2FibGVkIC50c256LWF3YXJkc19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnRzbnotYXdhcmRzX19hd2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udHNuei1hd2FyZHNfX2Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMi44MTI1cmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtc2l6ZTogMDtcbiAgb3BhY2l0eTogMC45O1xuICBzY2FsZTogMC44O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYyg1MCUgLSAyMnB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udHNuei1hd2FyZHNfX2Fycm93OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjU2MjVyZW07XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLnRzbnotYXdhcmRzX19hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IC0xMyU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1hd2FyZHNfX2Fycm93LS1sZWZ0IHtcbiAgICBsZWZ0OiAtMTIlO1xuICAgIHNjYWxlOiAxO1xuICB9XG59XG4udHNuei1hd2FyZHNfX2Fycm93LS1sZWZ0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk0uMzIgNy4yTDcuMTIuMzRhMS4xIDEuMSAwIDAgMSAxLjU2IDBjLjQzLjQ0LjQzIDEuMTUgMCAxLjU4TDIuNjcgOGw2IDYuMDljLjQ0LjQzLjQ0IDEuMTQgMCAxLjU4YTEuMSAxLjEgMCAwIDEtMS41NiAwTC4zMiA4LjhhMS4xMiAxLjEyIDAgMCAxIDAtMS41OHolMjIgZmlsbD0lMjIlMjMwMzRFQTIlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi50c256LWF3YXJkc19fYXJyb3ctLXJpZ2h0IHtcbiAgcmlnaHQ6IC0xMyU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1hd2FyZHNfX2Fycm93LS1yaWdodCB7XG4gICAgc2NhbGU6IDE7XG4gICAgcmlnaHQ6IC0xMiU7XG4gIH1cbn1cbi50c256LWF3YXJkc19fYXJyb3ctLXJpZ2h0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk04LjY4IDguOGwtNi44IDYuODdhMS4xIDEuMSAwIDAgMS0xLjU2IDAgMS4xMyAxLjEzIDAgMCAxIDAtMS41OEw2LjMzIDhsLTYtNi4wOWExLjEzIDEuMTMgMCAwIDEgMC0xLjU4IDEuMSAxLjEgMCAwIDEgMS41NiAwTDguNjggNy4yYTEuMTIgMS4xMiAwIDAgMSAwIDEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4udHNuei1hd2FyZHMgLmdsaWRlX19hcnJvdy0tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG59XG4udHNuei1hd2FyZHMtLXNsaWRlciAudHNuei1hd2FyZHNfX2Fycm93IHtcbiAgb3BhY2l0eTogMC45O1xuICBzY2FsZTogMC44O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotYXdhcmRzLS1zbGlkZXIgLnRzbnotYXdhcmRzX19hcnJvdyB7XG4gICAgc2NhbGU6IDE7XG4gIH1cbn1cbi50c256LWF3YXJkcy0tc2xpZGVyIC50c256LWF3YXJkc19fYXJyb3c6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnRzbnotYXdhcmRzLS1zbGlkZXIgLnRzbnotYXdhcmRzX19hcnJvdzphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA5LCAxNjUuNTI4LCAwKTtcbn1cbi50c256LWF3YXJkcy0tc2xpZGVyIC50c256LWF3YXJkc19fYXJyb3c6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG59XG4udHNuei1hd2FyZHMtLXNsaWRlciAudHNuei1hd2FyZHNfX2Fycm93OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjU2MjVyZW07XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLnRzbnotYXdhcmRzLS1kaXNhYmxlZCAudHNuei1hd2FyZHNfX2Fycm93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRzbnotYXdhcmRzOm5vdCgudHNuei1hd2FyZHMtLWx0cikgLnRzbnotYXdhcmRzX19zbGlkZXMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnRzbnotYXdhcmRzLW1hcnF1ZWUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjByZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4udHNuei1hd2FyZHMtbWFycXVlZV9fdmlld3BvcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRzbnotYXdhcmRzLW1hcnF1ZWVfX3RyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIGFuaW1hdGlvbjogdHNuei1hd2FyZHMtbWFycXVlZS1zY3JvbGwgbGluZWFyIGluZmluaXRlO1xufVxuLnRzbnotYXdhcmRzLW1hcnF1ZWU6aG92ZXIgLnRzbnotYXdhcmRzLW1hcnF1ZWVfX3RyYWNrIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cbi50c256LWF3YXJkcy1tYXJxdWVlX19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAxNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuLnRzbnotYXdhcmRzLW1hcnF1ZWVfX2l0ZW0gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEzMnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnRzbnotYXdhcmRzLW1hcnF1ZWUtLXN0YXRpYyAudHNuei1hd2FyZHMtbWFycXVlZV9fdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLnRzbnotYXdhcmRzLW1hcnF1ZWUtLXN0YXRpYyAudHNuei1hd2FyZHMtbWFycXVlZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnRzbnotYXdhcmRzLW1hcnF1ZWUgLnRzbnotYXdhcmRzLW1hcnF1ZWVfX3RyYWNrIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0c256LWF3YXJkcy1tYXJxdWVlLXNjcm9sbCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG4udHNuei1jdXN0b21pc2VfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY3VzdG9taXNlX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjMuNzVlbSkge1xuICAudHNuei1jdXN0b21pc2VfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi50c256LWN1c3RvbWlzZV9fYm9keSBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi50c256LWN1c3RvbWlzZV9fb3B0aW9ucy1saXN0IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cbi50c256LWN1c3RvbWlzZV9fY2Fyb3VzZWwge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAycmVtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjc1ZW0pIHtcbiAgLnRzbnotY3VzdG9taXNlX19jYXJvdXNlbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNHJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnRzbnotc2xpZGUsIC50c256LWhlYWRlcl9fYWN0aW9ucywgLnRzbnotZm9vdGVyLCAudHNuei1uYXYsIC50c256LW1hc3RoZWFkX19pbWFnZS1vdXRlciwgLnRzbnotYnJlYWRjcnVtYnMsIC50c256LXByZWZvb3RlciwgLnRzbnotbmV3c2xldHRlciwgLnRzbnotc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVmVuZG9yICovXG4udHNuei10aWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnRzbnotdGlja2VyICoge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuLnRzbnotdGlja2VyX190cmFjayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei10aWNrZXJfX3NsaWRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbi50c256LXRpY2tlcl9fc2xpZGVzLS1kcmFnZ2luZyB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnRzbnotdGlja2VyX19zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRzbnotdGlja2VyX19zbGlkZSBhIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei10aWNrZXJfX2Fycm93cyB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei10aWNrZXJfX2J1bGxldHMge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnRzbnotdGlja2VyLS1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLnRzbnotdGlja2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMxNTI5MzE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRzbnotdGlja2VyW2hyZWZdLFxuLnRzbnotdGlja2VyIGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotdGlja2VyW2hyZWZdOmhvdmVyLFxuLnRzbnotdGlja2VyIGE6aG92ZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC50c256LXRpY2tlciB7XG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei10aWNrZXJfX3NsaWRlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLnRzbnotdGlja2VyX19zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotdGlja2VyX19zbGlkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLnRzbnotdGlja2VyX19zbGlkZSArIC50c256LXRpY2tlcl9fc2xpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotdGlja2VyX19zbGlkZSArIC50c256LXRpY2tlcl9fc2xpZGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnRzbnotdGlja2VyLS1jYXJvdXNlbCAudHNuei10aWNrZXJfX3NsaWRlICsgLnRzbnotdGlja2VyX19zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotdGlja2VyX19zbGlkZSArIC50c256LXRpY2tlcl9fc2xpZGU6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEuM2VtO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cbi50c256LXRpY2tlcl9fY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC41cmVtO1xuICByaWdodDogMC42cmVtO1xuICBib3R0b206IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC40MjVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRzbnotdGlja2VyX19jbG9zZSBidXR0b24ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnRzbnotdGlja2VyLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LXRpY2tlci0tcHJpbWFyeVtocmVmXSxcbi50c256LXRpY2tlci0tcHJpbWFyeSBhIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LXRpY2tlci0tcHJpbWFyeVtocmVmXTpob3Zlcixcbi50c256LXRpY2tlci0tcHJpbWFyeSBhOmhvdmVyIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRzbnotdGlja2VyLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotdGlja2VyLS1zZWNvbmRhcnlbaHJlZl0sXG4udHNuei10aWNrZXItLXNlY29uZGFyeSBhIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LXRpY2tlci0tc2Vjb25kYXJ5W2hyZWZdOmhvdmVyLFxuLnRzbnotdGlja2VyLS1zZWNvbmRhcnkgYTpob3ZlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LXRpY2tlci0tdGVydGlhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEwLCAyOS42MjUsIDM3LjYyNSk7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei10aWNrZXItLXRlcnRpYXJ5W2hyZWZdLFxuLnRzbnotdGlja2VyLS10ZXJ0aWFyeSBhIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi50c256LXRpY2tlci0tdGVydGlhcnlbaHJlZl06aG92ZXIsXG4udHNuei10aWNrZXItLXRlcnRpYXJ5IGE6aG92ZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udHNuei10aWNrZXItLWNsb3NlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50c256LXNsaWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRzbnotc2xpZGVfX2N0YS13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi50c256LXNsaWRlX19jdGEtdG9wIHtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMzQ2ZDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVfX2N0YS10b3Age1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbn1cblxuLnRzbnotc2xpZGVfX2N0YS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlX19jdGEtY29udGVudCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgfVxufVxuXG4udHNuei1zbGlkZV9fY3RhLWhlYWRpbmcge1xuICBjb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LXNsaWRlX19jdGEtaGVhZGluZzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnRzbnotc2xpZGVfX2N0YS1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRzbnotc2xpZGVfX3BpY3R1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMC45MDQ3NjE5MDQ4KTtcbiAgbWF4LWhlaWdodDogMzVyZW07XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI2LjMxMjVlbSkge1xuICAudHNuei1zbGlkZV9fcGljdHVyZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMC40ODQzNzUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlX19waWN0dXJlIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAwLjM1KTtcbiAgfVxufVxuLmxhenlsb2FkZWQgPiAudHNuei1zbGlkZV9fcGljdHVyZSB7XG4gIG9wYWNpdHk6IDA7XG59XG4udHNuei1zbGlkZV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLXRvcDogY2FsYygxMDB2dyAqIDAuOTA0NzYxOTA0OCAtIDIuNXJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyNi4zMTI1ZW0pIHtcbiAgLnRzbnotc2xpZGVfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAwdncgKiAwLjQ4NDM3NSAtIDIuNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTAwdncgKiAwLjM1IC0gMi41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50c256LXNsaWRlX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDM1cmVtIC0gMi41cmVtKTtcbiAgfVxufVxuLnRzbnotc2xpZGVfX2N0YS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jb3JydWdhdGUuc3ZnXCIpLCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDM0ZWEyLCAjMDIzNDZkKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhcjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotc2xpZGVfX2N0YS13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVfX2N0YS13cmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cbn1cbi5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkIC50c256LXNsaWRlX19jdGEtd3JhcHBlciB7XG4gIG9wYWNpdHk6IDA7XG59XG4uc3dpcGVyLXNsaWRlLWFjdGl2ZSAudHNuei1zbGlkZV9fY3RhLXdyYXBwZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xufVxuLnRzbnotc2xpZGVfX2N0YS1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA0NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udHNuei1zbGlkZV9fYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnRzbnotc2xpZGVfX2J1dHRvbjo6YmVmb3JlLCAudHNuei1zbGlkZV9fYnV0dG9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4udHNuei1zbGlkZV9fYnV0dG9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnRzbnotc2xpZGVfX2J1dHRvbiAudHNuei1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi50c256LXNsaWRlX19idXR0b24gLnRzbnotYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udHNuei1zbGlkZV9fYnV0dG9uIC50c256LWJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuLnRzbnotc2xpZGVfX2J1dHRvbiAudHNuei1idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udHNuei1zbGlkZV9fYnV0dG9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi50c256LXNsaWRlX19idXR0b25zOjpiZWZvcmUsIC50c256LXNsaWRlX19idXR0b25zOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4udHNuei1zbGlkZV9fYnV0dG9uczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi50c256LXNsaWRlX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLnRzbnotc2xpZGVfX2J1dHRvbnMgLnRzbnotYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udHNuei1zbGlkZV9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICBmbGV4OiAwIDAgMTAwJTtcbn1cbi50c256LXNsaWRlX19idXR0b25zIC50c256LWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXNsaWRlX19idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWF4LXdpZHRoOiAzOC40Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAudHNuei1zbGlkZV9fYnV0dG9uczo6YmVmb3JlLCAudHNuei1zbGlkZV9fYnV0dG9uczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnRzbnotc2xpZGVfX2J1dHRvbnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAudHNuei1zbGlkZV9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAudHNuei1zbGlkZV9fYnV0dG9ucyAudHNuei1idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC50c256LXNsaWRlX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudHNuei1zbGlkZV9fYnV0dG9ucyAudHNuei1idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbi50c256LXNsaWRlX19zYW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICBib3R0b206IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAyLjFlbTtcbiAgaGVpZ2h0OiAzLjZlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBmb250LXNpemU6IGNhbGMoMS42MjMzNzY2MjM0cmVtICsgNi4xNjg4MzExNjg4dncpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zbGlkZV9fc2FtIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAudHNuei1zbGlkZV9fc2FtIHtcbiAgICBmb250LXNpemU6IDYuMjVyZW07XG4gIH1cbn1cbi50c256LXNsaWRlX19iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogY2FsYyg1Ljc0MDI1OTc0MDNyZW0gKyAyLjAxMjk4NzAxM3Z3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGVfX2JhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbTtcbiAgfVxufVxuLnRzbnotc2xpZGUtLW5vLWNvbnRlbnQgLnRzbnotc2xpZGVfX2JhY2tncm91bmQge1xuICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAwLjkwNDc2MTkwNDgpO1xuICBtYXgtaGVpZ2h0OiAzNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI2LjMxMjVlbSkge1xuICAudHNuei1zbGlkZS0tbm8tY29udGVudCAudHNuei1zbGlkZV9fYmFja2dyb3VuZCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMC40ODQzNzUpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1uby1jb250ZW50IC50c256LXNsaWRlX19iYWNrZ3JvdW5kIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAwLjM1KTtcbiAgfVxufVxuXG4udHNuei1mcmFuY2hpc2VTbGlkZSAudHNuei1zbGlkZV9fY3RhLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDUzcmVtO1xufVxuLnRzbnotZnJhbmNoaXNlU2xpZGUgLnRzbnotc2xpZGVfX2J1dHRvbnMgLnRzbnotYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLnRzbnotZnJhbmNoaXNlU2xpZGUgLnRzbnotc2xpZGVfX2J1dHRvbnMgLnRzbnotYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWZyYW5jaGlzZVNsaWRlIC50c256LXNsaWRlX19idXR0b25zIC50c256LWJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mcmFuY2hpc2VTbGlkZSAudHNuei1mcmFuY2hpc2VTbGlkZV9fY3RhLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMnJlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlU2xpZGUgLnRzbnotZnJhbmNoaXNlU2xpZGVfX2N0YS1jb250ZW50IC50c256LXNsaWRlX19jdGEtZGVzY3JpcHRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlU2xpZGUgLnRzbnotZnJhbmNoaXNlU2xpZGVfX2N0YS1jb250ZW50IC50c256LXNsaWRlX19jdGEtZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZVNsaWRlIC50c256LWZyYW5jaGlzZVNsaWRlX19jdGEtY29udGVudCAudHNuei1zbGlkZV9fbG9jYXRpb25fX2NvbnRhY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRzbnotZnJhbmNoaXNlU2xpZGUgLnRzbnotZnJhbmNoaXNlU2xpZGVfX2N0YS1jb250ZW50IC50c256LXNsaWRlX19sb2NhdGlvbl9fbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mcmFuY2hpc2VTbGlkZSAudHNuei1mcmFuY2hpc2VTbGlkZV9fY3RhLWNvbnRlbnQgLnRzbnotc2xpZGVfX2xvY2F0aW9uX19tZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZVNsaWRlIC50c256LWZyYW5jaGlzZVNsaWRlX19jdGEtY29udGVudCAudHNuei1zbGlkZV9fbG9jYXRpb25fX21ldGEgZHQge1xuICBtaW4td2lkdGg6IDExMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlU2xpZGUgLnRzbnotZnJhbmNoaXNlU2xpZGVfX2N0YS1jb250ZW50IC50c256LXNsaWRlX19sb2NhdGlvbl9fbWV0YSBkZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG4udHNuei1mcmFuY2hpc2VTbGlkZSAudHNuei1mcmFuY2hpc2VTbGlkZV9fY3RhLWNvbnRlbnQgLnRzbnotc2xpZGVfX2xvY2F0aW9uX19tZXRhIGRkIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi50c256LWZyYW5jaGlzZVNsaWRlIC50c256LXNsaWRlX19idXR0b25zIGEge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1mcmFuY2hpc2VTbGlkZSAudHNuei1zbGlkZV9fYnV0dG9ucyBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8qIC0tLSAyLjAgbWFzdGhlYWQgc2xpZGUgKHN0YW5kYXJkLCBub24tZnJhbmNoaXNlKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVGhlIHJlZnJlc2hlZCBzbGlkZTogZnVsbC13aWR0aCBpbWFnZSwgYW4gb3B0aW9uYWwgaGVhZGluZyBvdmVyIGl0LCBhbmQgYSBibHVlIGNvbnRlbnRcbiAgIGJhbmQgYmVsb3cgKG5ldmVyIG92ZXJsYXBwaW5nKSB3aXRoIFNhbSBvdmVyZmxvd2luZyB0aGUgYmFuZCB0b3AuIFRocmVlIGNvbnRlbnQgbGF5b3V0c1xuICAg4oCUIHN0YWNrZWQgLyBzcGxpdCAvIGlubGluZSDigJQgZHJpdmVuIGJ5IHRoZSBwZXItc2xpZGUgQ29udGVudExheW91dCBmaWVsZC5cblxuICAgU2NvcGVkIHRvIC50c256LXNsaWRlLS1yZWZyZXNoIHNvIGl0IG92ZXJyaWRlcyB0aGUgbGVnYWN5IC50c256LXNsaWRlIHJ1bGVzIGFib3ZlXG4gICB3aXRob3V0IHRvdWNoaW5nIHRoZSBmcmFuY2hpc2Ugc2xpZGUsIHdoaWNoIHN0aWxsIGRlcGVuZHMgb24gdGhlbS4gVGhlIHdob2xlIGxlZ2FjeVxuICAgYmxvY2sgYWJvdmUgY2FuIGJlIGRlbGV0ZWQgb25jZSB0aGUgZnJhbmNoaXNlIHNsaWRlciBwYXRoIGlzIHJldGlyZWQuICovXG4udHNuei1zbGlkZS0tcmVmcmVzaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19waWN0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHotaW5kZXg6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIGFzcGVjdC1yYXRpbzogMzkwLzMwMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19waWN0dXJlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2MDAvNTYwO1xuICB9XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaC50c256LXNsaWRlLS1vdmVybGF5LTIwIHtcbiAgLS10c256LXNsaWRlLWltYWdlLW92ZXJsYXk6IDAuNDtcbn1cbi50c256LXNsaWRlLS1yZWZyZXNoLnRzbnotc2xpZGUtLW92ZXJsYXktNTAge1xuICAtLXRzbnotc2xpZGUtaW1hZ2Utb3ZlcmxheTogMC42O1xufVxuLnRzbnotc2xpZGUtLXJlZnJlc2gudHNuei1zbGlkZS0tb3ZlcmxheS0yMCAudHNuei1zbGlkZV9fcGljdHVyZTo6YWZ0ZXIsIC50c256LXNsaWRlLS1yZWZyZXNoLnRzbnotc2xpZGUtLW92ZXJsYXktNTAgLnRzbnotc2xpZGVfX3BpY3R1cmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MjkzMTtcbiAgb3BhY2l0eTogdmFyKC0tdHNuei1zbGlkZS1pbWFnZS1vdmVybGF5KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fb3ZlcmxheSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX292ZXJsYXkge1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICB9XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fb3ZlcmxheS1oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXgtd2lkdGg6IDU1LjEyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fY3RhLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmY2IwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItaW5pdGlhbGl6ZWQgLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX2N0YS13cmFwcGVyLCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAudHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fY3RhLXdyYXBwZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX2N0YS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAxMi42ODc1cmVtO1xuICB9XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fY3RhLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19jdGEtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX2N0YS1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19jdGEtaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19jdGEtaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19jdGEtaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg2cmVtICsgMTAuNjI1cmVtICsgMnJlbSk7XG4gIH1cbn1cbi50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19jdGEtaGVhZGluZyB7XG4gIGdyaWQtYXJlYTogaGVhZGluZztcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19jdGEtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTY3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB9XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9faGlnaGxpZ2h0IHtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG4udHNuei1zbGlkZS0tcmVmcmVzaCAudHNuei1zbGlkZV9fY3RhLWJvZHkge1xuICBncmlkLWFyZWE6IGJvZHk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX2N0YS1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cbi50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19idXR0b25zIHtcbiAgZ3JpZC1hcmVhOiBjdGE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX2J1dHRvbnM6OmJlZm9yZSwgLnRzbnotc2xpZGUtLXJlZnJlc2ggLnRzbnotc2xpZGVfX2J1dHRvbnM6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cbi50c256LXNsaWRlLS1yZWZyZXNoIC50c256LXNsaWRlX19iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiA3LjI1cmVtO1xuICBoZWlnaHQ6IDcuMjVyZW07XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1zcGxpdCAudHNuei1zbGlkZV9fY3RhLWlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImhlYWRpbmcgY3RhXCIgXCJib2R5ICAgIGN0YVwiO1xuICAgIGNvbHVtbi1nYXA6IDNyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1zcGxpdCAudHNuei1zbGlkZV9fY3RhLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1pbmxpbmUgLnRzbnotc2xpZGVfX2N0YS1pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMi41cmVtLCAxOC43NXJlbSkgbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImhlYWRpbmcgYm9keSBjdGFcIjtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zbGlkZS0taW5saW5lIC50c256LXNsaWRlX19jdGEtYm9keSB7XG4gICAgbWF4LXdpZHRoOiAyNy43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1zdGFja2VkIC50c256LXNsaWRlX19jdGEtaW5uZXIsXG4gIC50c256LXNsaWRlLS1zcGxpdCAudHNuei1zbGlkZV9fY3RhLWlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNnJlbSArIDEwLjYyNXJlbSArIDNyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotc2xpZGUtLXN0YWNrZWQgLnRzbnotc2xpZGVfX2N0YS1ib2R5LFxuICAudHNuei1zbGlkZS0tc3BsaXQgLnRzbnotc2xpZGVfX2N0YS1ib2R5IHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1pbmxpbmUgLnRzbnotc2xpZGVfX2N0YS1oZWFkaW5nIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXNsaWRlLS1pbmxpbmUgLnRzbnotc2xpZGVfX2J1dHRvbnMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cblxuLnRzbnotc3BlY2lhbF9fY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1zcGVjaWFsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gIH1cbn1cblxuLnRzbnotc3BlY2lhbF9fd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzLjc1ZW0pIHtcbiAgLnRzbnotc3BlY2lhbCBoNCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4udHNuei1zcGVjaWFsX193cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzE1MjkzMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi50c256LXNwZWNpYWxfX3dyYXBwZXJbaHJlZl0sXG4udHNuei1zcGVjaWFsX193cmFwcGVyIGEge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotc3BlY2lhbF9fd3JhcHBlcltocmVmXTpob3Zlcixcbi50c256LXNwZWNpYWxfX3dyYXBwZXIgYTpob3ZlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi50c256LXNwZWNpYWxfX3dyYXBwZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgNDEsIDQ5LCAwLjA1KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udHNuei1zcGVjaWFsX193cmFwcGVyW2hyZWZdOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLnRzbnotc3BlY2lhbF9faGVhZGluZyB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotc3BlY2lhbF9fZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIGhlaWdodDogMi44cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuLnRzbnotc3BlY2lhbF9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjU1ZW0gMS4yNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgY29sb3I6ICMwMzRlYTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAudHNuei1zcGVjaWFsX19saW5rIHtcbiAgb3V0bGluZTogMDtcbn1cbi50c256LXNwZWNpYWxfX2xpbms6aG92ZXIsIC50c256LXNwZWNpYWxfX2xpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LXNwZWNpYWxfX2xpbms6aG92ZXIsIC50c256LXNwZWNpYWxfX2xpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE1LjI1LCAyMTUuMjUsIDIxNS4yNSk7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotc3BlY2lhbF9fbGluazpmb2N1cywgLnRzbnotc3BlY2lhbF9fbGluazphY3RpdmUsIC50c256LXNwZWNpYWxfX2xpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogcmdiKDIxNS4yNSwgMjE1LjI1LCAyMTUuMjUpO1xufVxuLnRzbnotc3BlY2lhbF9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHNuei1zcGVjaWFsX19pbWFnZSBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAyZW0pO1xuICByaWdodDogY2FsYyg1MCUgLSAyZW0pO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRlbTtcbiAgaGVpZ2h0OiA0ZW07XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4udHNuei1zcGVjaWFsX19iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGVhMjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udHNuei1zcGVjaWFsX19zYXZpbmdzIHtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMjFlMjY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udHNuei1zcGVjaWFsX19wcmljZSB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZWQxYzI0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnRzbnotc3BlY2lhbF9fcHJpY2Ugc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi50c256LXNwZWNpYWxfX3Rlcm1zIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udHNuei1iYW5uZXJfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWJhbm5lcl9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1iYW5uZXJfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi50c256LWJhbm5lcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4udHNuei1iYW5uZXJfX2Jhbm5lciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWJhbm5lcl9fYmFubmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi50c256LWJhbm5lcl9fYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRzbnotYmFubmVyX19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogVmVuZG9yICovXG4udHNuei10ZXN0aW1vbmlhbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnRzbnotdGVzdGltb25pYWxzICoge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuLnRzbnotdGVzdGltb25pYWxzX190cmFjayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX3NsaWRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cbi50c256LXRlc3RpbW9uaWFsc19fc2xpZGVzLS1kcmFnZ2luZyB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnRzbnotdGVzdGltb25pYWxzX19zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRzbnotdGVzdGltb25pYWxzX19zbGlkZSBhIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX2Fycm93cyB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX2J1bGxldHMge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnRzbnotdGVzdGltb25pYWxzLS1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLnRzbnotdGVzdGltb25pYWxzIHtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMwcHggMHB4O1xufVxuLnRzbnotdGVzdGltb25pYWxzIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEzMnB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi50c256LXRlc3RpbW9uaWFsc19fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyICogMXJlbSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwdnc7XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX3NsaWRlcyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX3Rlc3Rpb21pbmFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi50c256LXRlc3RpbW9uaWFsc19fYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyLjgxMjVyZW07XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYjA1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgZm9udC1zaXplOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYyg1MCUgLSAyMnB4KTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX2Fycm93OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjU2MjVyZW07XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLnRzbnotdGVzdGltb25pYWxzX19hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IC0xMyU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei10ZXN0aW1vbmlhbHNfX2Fycm93LS1sZWZ0IHtcbiAgICBsZWZ0OiAtMTIlO1xuICB9XG59XG4udHNuei10ZXN0aW1vbmlhbHNfX2Fycm93LS1sZWZ0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk0uMzIgNy4yTDcuMTIuMzRhMS4xIDEuMSAwIDAgMSAxLjU2IDBjLjQzLjQ0LjQzIDEuMTUgMCAxLjU4TDIuNjcgOGw2IDYuMDljLjQ0LjQzLjQ0IDEuMTQgMCAxLjU4YTEuMSAxLjEgMCAwIDEtMS41NiAwTC4zMiA4LjhhMS4xMiAxLjEyIDAgMCAxIDAtMS41OHolMjIgZmlsbD0lMjIlMjMwMzRFQTIlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi50c256LXRlc3RpbW9uaWFsc19fYXJyb3ctLXJpZ2h0IHtcbiAgcmlnaHQ6IC0xMyU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei10ZXN0aW1vbmlhbHNfX2Fycm93LS1yaWdodCB7XG4gICAgcmlnaHQ6IC0xMiU7XG4gIH1cbn1cbi50c256LXRlc3RpbW9uaWFsc19fYXJyb3ctLXJpZ2h0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk04LjY4IDguOGwtNi44IDYuODdhMS4xIDEuMSAwIDAgMS0xLjU2IDAgMS4xMyAxLjEzIDAgMCAxIDAtMS41OEw2LjMzIDhsLTYtNi4wOWExLjEzIDEuMTMgMCAwIDEgMC0xLjU4IDEuMSAxLjEgMCAwIDEgMS41NiAwTDguNjggNy4yYTEuMTIgMS4xMiAwIDAgMSAwIDEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0VcIik7XG59XG4udHNuei10ZXN0aW1vbmlhbHMtLWx0ciAudHNuei10ZXN0aW1vbmlhbHNfX2Fycm93IHtcbiAgb3BhY2l0eTogMC45O1xuICBzY2FsZTogMC44O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotdGVzdGltb25pYWxzLS1sdHIgLnRzbnotdGVzdGltb25pYWxzX19hcnJvdyB7XG4gICAgc2NhbGU6IDE7XG4gIH1cbn1cbi50c256LXRlc3RpbW9uaWFscy0tbHRyIC50c256LXRlc3RpbW9uaWFsc19fYXJyb3c6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLnRzbnotdGVzdGltb25pYWxzLS1sdHIgLnRzbnotdGVzdGltb25pYWxzX19hcnJvdzphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA5LCAxNjUuNTI4LCAwKTtcbn1cbi50c256LXRlc3RpbW9uaWFscy0tbHRyIC50c256LXRlc3RpbW9uaWFsc19fYXJyb3c6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG59XG4udHNuei10ZXN0aW1vbmlhbHMtLWx0ciAudHNuei10ZXN0aW1vbmlhbHNfX2Fycm93OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwLjU2MjVyZW07XG4gIGhlaWdodDogMi44MTI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLnRzbnotdGVzdGltb25pYWxzLS1kaXNhYmxlZCAudHNuei10ZXN0aW1vbmlhbHNfX2Fycm93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRzbnotdGVzdGltb25pYWxzLnRzbnotdGVzdGltb25pYWxzLS1sdHIgLnRzbnotdGVzdGltb25pYWxzX19zbGlkZSB7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xufVxuLnRzbnotdGVzdGltb25pYWxzLnRzbnotdGVzdGltb25pYWxzLS1sdHIgLnRzbnotdGVzdGltb25pYWxzX19zbGlkZS0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi50c256LXRlc3RpbW9uaWFscy50c256LXRlc3RpbW9uaWFscy0tbHRyIC50c256LXRlc3RpbW9uaWFsc19fc2xpZGUuZ2xpZGVfX3NsaWRlLS1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4udHNuei10ZXN0aW1vbmlhbHMtZ3JpZF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotdGVzdGltb25pYWxzLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotdGVzdGltb25pYWxzLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbi50c256LXRlc3RpbW9uaWFscy1ncmlkX19pdGVtcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IDEuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LXRlc3RpbW9uaWFscy1ncmlkX19pdGVtcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXRlc3RpbW9uaWFscy1ncmlkX19pdGVtcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG4udHNuei10ZXN0aW1vbmlhbHMtZ3JpZF9faXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgyMSwgNDEsIDQ5LCAwLjA2KTtcbiAgcGFkZGluZzogMS41cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbi50c256LXRlc3RpbW9uaWFscy1ncmlkX19pbml0aWFscyB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMy41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFN0YyRkY7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnRzbnotdGVzdGltb25pYWxzLWdyaWRfX2JsdXJiIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjMDAyRTY0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udHNuei10ZXN0aW1vbmlhbHMtZ3JpZF9fYmx1cmIgcCB7XG4gIG1hcmdpbjogMDtcbn1cbi50c256LXRlc3RpbW9uaWFscy1ncmlkX19wZXJzb24ge1xuICBtYXJnaW46IGF1dG8gMCAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBjb2xvcjogI0Q0QTgxMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbn1cblxuLnRzbnotdmlkZW8tdGVzdGltb25pYWwge1xuICBjb2xvcjogIzQyNDk1Mjtcbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIH1cbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19sYXlvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuMjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19sYXlvdXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNTYwZnIpIG1pbm1heCgwLCA2OTJmcik7XG4gICAgcm93LWdhcDogMDtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtO1xuICB9XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9fc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fc2xpZGVyIHtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX3NsaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19zbGlkZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCA1NjBmcikgbWlubWF4KDAsIDY5MmZyKTtcbiAgICByb3ctZ2FwOiAwO1xuICAgIGNvbHVtbi1nYXA6IDNyZW07XG4gIH1cbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fbWVkaWEge1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICB9XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9fZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2JvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuMjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19ib2R5IHtcbiAgICBnYXA6IDA7XG4gIH1cbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19ib2R5LWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fYm9keS1pbm5lciB7XG4gICAgZmxleDogMTtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9faGVhZGluZy1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2hlYWRpbmctYmxvY2sge1xuICAgIGdhcDogMC4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19oZWFkaW5nLWJsb2NrLS1jaHJvbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2hlYWRpbmctYmxvY2stLWNocm9tZSB7XG4gICAgei1pbmRleDogMjtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9faGVhZGluZy1ibG9jay0tZWNobyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIH1cbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsLS1oZWFkaW5nLXNtYWxsIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9fcnVsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19xdW90ZS1tYXJrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19xdW90ZS1tYXJrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX3F1b3RlLW1hcmsgLnN2Zy1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzcmVtO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2JsdXJiIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19ibHVyYiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIH1cbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19hdHRyaWJ1dGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICMwMzRlYTI7XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2NvbnRyb2xzIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgfVxufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2NvbnRyb2xzLWVjaG8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udHJvbHMtZWNobyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgfVxufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX3BhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9fYnVsbGV0IHtcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFkNmRiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2J1bGxldC0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19hcnJvd3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fYXJyb3dzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI2ZmY2IwNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2Fycm93OmhvdmVyLCAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fYXJyb3c6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzAzNGVhMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19hcnJvdyAuc3ZnLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2Fycm93LS1wcmV2IC5zdmctaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4udHNuei12aWRlby10ZXN0aW1vbmlhbF9fYXJyb3ctLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsX19hcnJvdy0taGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50c256LXZpZGVvLXRlc3RpbW9uaWFsLS1kaXNhYmxlZCAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udHJvbHMsXG4udHNuei12aWRlby10ZXN0aW1vbmlhbC0tZGlzYWJsZWQgLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2NvbnRyb2xzLWVjaG8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzIHtcbiAgY29sb3I6ICM0MjQ5NTI7XG59XG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19faGVhZGluZy1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19faGVhZGluZy1ibG9jayB7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gIH1cbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU2O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICB9XG59XG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19ydWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fc2xpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuMjVyZW07XG4gIGhlaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fc2xpZGUge1xuICAgIGdhcDogMS41cmVtO1xuICB9XG59XG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19xdW90ZS1tYXJrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICNmZmNiMDU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX3F1b3RlLW1hcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19xdW90ZS1tYXJrIC5zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogM3JlbTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX3F1b3RlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX3F1b3RlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fYXR0cmlidXRpb24ge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjMDM0ZWEyO1xufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogM3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fY29udHJvbHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2J1bGxldCB7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMC41cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZDZkYjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2J1bGxldC0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2Fycm93cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2Fycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI2ZmY2IwNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fYXJyb3c6aG92ZXIsIC50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzAzNGVhMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2Fycm93IC5zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG4udHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzX19hcnJvdy0tcHJldiAuc3ZnLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fYXJyb3ctLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2Fycm93LS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFscy0tZGlzYWJsZWQgLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFsc19fY29udHJvbHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udHNuei1pbWFnZS1jYXJvdXNlbCB7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQzLjc0ODc1ZW0pIHtcbiAgLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICB9XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjVyZW07XG4gIG1heC13aWR0aDogNjAuNDM3NXJlbTtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19pbnRybyBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX3NsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDQvMykge1xuICAudHNuei1pbWFnZS1jYXJvdXNlbF9fbWVkaWEge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICB9XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWltYWdlLWNhcm91c2VsX19jb250cm9scyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fcGFnaW5hdGlvbiB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDAuNzVyZW07XG4gIG1hcmdpbjogMCAwLjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjRzIGVhc2UsIGxlZnQgMC40cyBlYXNlO1xufVxuLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2J1bGxldC0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19idWxsZXQtLWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19idWxsZXQtLWFjdGl2ZS1wcmV2LCAudHNuei1pbWFnZS1jYXJvdXNlbF9fYnVsbGV0LS1hY3RpdmUtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fYnVsbGV0LS1hY3RpdmUtcHJldi1wcmV2LCAudHNuei1pbWFnZS1jYXJvdXNlbF9fYnVsbGV0LS1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19hcnJvd3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2Fycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fYXJyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICNmZmNiMDU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19hcnJvdzpob3ZlciwgLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19hcnJvdzpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICMwMzRlYTI7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fYXJyb3cgLnN2Zy1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbn1cbi50c256LWltYWdlLWNhcm91c2VsX19hcnJvdy0tcHJldiAuc3ZnLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX2Fycm93LS1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udHNuei1pbWFnZS1jYXJvdXNlbF9fYXJyb3ctLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50c256LWNvbnRlbnQtY2Fyb3VzZWwge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotY29udGVudC1jYXJvdXNlbC0tc3VyZmFjZS1saWdodC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWwtLXN1cmZhY2UtZGFyay1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZThlZjtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0My43NWVtKSB7XG4gIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNnJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDMuNzQ4NzVlbSkge1xuICAudHNuei1jb250ZW50LWNhcm91c2VsX19jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fbGF5b3V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWNhcm91c2VsX19sYXlvdXQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgNjUwZnIpIG1pbm1heCgwLCA2MDJmcik7XG4gICAgcm93LWdhcDogMDtcbiAgICBjb2x1bW4tZ2FwOiAzcmVtO1xuICB9XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX19zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX3NsaWRlciB7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxLjI1cmVtO1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDY1MGZyKSBtaW5tYXgoMCwgNjAyZnIpO1xuICAgIHJvdy1nYXA6IDA7XG4gICAgY29sdW1uLWdhcDogM3JlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFzcGVjdC1yYXRpbzogNS8zO1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiA1LzMpIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fbWVkaWEge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX21lZGlhIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBhc3BlY3QtcmF0aW86IDEwLzc7XG4gIH1cbiAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxMC83KSB7XG4gICAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fbWVkaWEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwJTtcbiAgICB9XG4gIH1cbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fYm9keSB7XG4gICAgZ2FwOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMS4yNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udGVudCB7XG4gICAgZ2FwOiAxLjVyZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX3RhZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMC41cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250ZW50LWNhcm91c2VsX190YWcge1xuICAgIGdhcDogMC4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICB9XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX190YWdsaW5lIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX3J1bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX19oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX3RleHQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIH1cbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2J1dHRvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udHJvbHMge1xuICAgIHotaW5kZXg6IDI7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICB9XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX19jb250cm9scy1lY2hvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udHJvbHMtZWNobyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgfVxufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2J1bGxldCB7XG4gIHdpZHRoOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhNGE0YTQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX19idWxsZXQtLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogI2ZmY2IwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2IwNTtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2Fycm93cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2Fycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX19hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI2ZmY2IwNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fYXJyb3c6aG92ZXIsIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzAzNGVhMjtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2Fycm93OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgIzAzNGVhMjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2Fycm93IC5zdmctaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG4udHNuei1jb250ZW50LWNhcm91c2VsX19hcnJvdy0tcHJldiAuc3ZnLWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLnRzbnotY29udGVudC1jYXJvdXNlbF9fYXJyb3ctLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2Fycm93LS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotY29udGVudC1jYXJvdXNlbC0tZGlzYWJsZWQgLnRzbnotY29udGVudC1jYXJvdXNlbF9fY29udHJvbHMsXG4udHNuei1jb250ZW50LWNhcm91c2VsLS1kaXNhYmxlZCAudHNuei1jb250ZW50LWNhcm91c2VsX19jb250cm9scy1lY2hvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRzbnotaW1hZ2UtY2Fyb3VzZWxfX21lZGlhLS1idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4udHNuei1odWJzcG90LWZvcm0ge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cbi50c256LWh1YnNwb3QtZm9ybSBsZWdlbmQge1xuICBjb2xvcjogIzAzNGVhMjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG4udHNuei1odWJzcG90LWZvcm0gaDMge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLnRzbnotaHVic3BvdC1mb3JtIC5zdWJtaXR0ZWQtbWVzc2FnZSBoMyB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudHNuei1odWJzcG90LWZvcm0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG59XG4udHNuei1odWJzcG90LWZvcm0gLmhic3B0LWZvcm0gZmllbGRzZXQge1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG59XG4udHNuei1odWJzcG90LWZvcm0gLmhic3B0LWZvcm0gZmllbGRzZXQgLmlucHV0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4udHNuei1odWJzcG90LWZvcm0gLmhic3B0LWZvcm0gZmllbGRzZXQgLmlucHV0IHNlbGVjdCB7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnRzbnotaHVic3BvdC1mb3JtIC5oYnNwdC1mb3JtIGZpZWxkc2V0IGlucHV0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybSAuaGJzcHQtZm9ybSBmaWVsZHNldCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnRzbnotaHVic3BvdC1mb3JtIC5oYnNwdC1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAycmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRzbnotaHVic3BvdC1mb3JtIC5oYnNwdC1mb3JtIGZpZWxkc2V0LmZvcm0tY29sdW1ucy0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwcmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudHNuei1odWJzcG90LWZvcm0gLmhic3B0LWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTIgLmhzLWZvcm0tZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4udHNuei1odWJzcG90LWZvcm0gLmhic3B0LWZvcm0gbGFiZWwuaHMtZXJyb3ItbXNnLFxuLnRzbnotaHVic3BvdC1mb3JtIC5oYnNwdC1mb3JtIC5ocy1lcnJvci1tc2dzIC5ocy1tYWluLWZvbnQtZWxlbWVudCB7XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnRzbnotaHVic3BvdC1mb3JtIC5oYnNwdC1mb3JtIC5ocy1lcnJvci1tc2dzIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4udHNuei1odWJzcG90LWZvcm0gLmhic3B0LWZvcm0gLmhzLWlucHV0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtLFxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5ocy1mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgZm9ybS5ocy1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIGZvcm0uaHMtZm9ybSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwLjVyZW07XG4gIH1cbn1cbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMSxcbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMiB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIC5ocy1mb3JtLWZpZWxkIHtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gLmhzLWZvcm0tZmllbGQge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDE2LjI1cmVtO1xuICB9XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gLmhzLWZvcm0tZmllbGQgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gLmlucHV0IHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gaW5wdXQuaHMtaW5wdXQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMSwgNDEsIDQ5LCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDM0ZWEyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYTRhNGE0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIGlucHV0LmhzLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDM0ZWEyO1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIC5oc19zdWJtaXQsXG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCAuYWN0aW9ucyB7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIC5oc19zdWJtaXQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gaW5wdXQuaHMtYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYzI0O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSBpbnB1dC5ocy1idXR0b246aG92ZXIsIC50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSBpbnB1dC5ocy1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA3LjcyODE2MzI2NTMsIDE2LjQ3MTgzNjczNDcsIDIzLjc5MjY1MzA2MTIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIGlucHV0LmhzLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSAuaHNfcmVjYXB0Y2hhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gaW5wdXQuaHMtaW5wdXQuaW52YWxpZCxcbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dC5lcnJvciB7XG4gIGJvcmRlci1jb2xvcjogI2VkMWMyNDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tbmV3c2xldHRlciAuaGJzcHQtZm9ybSAuaHMtZXJyb3ItbXNncyB7XG4gIG1hcmdpbjogMC4yNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udHNuei1odWJzcG90LWZvcm0tLW5ld3NsZXR0ZXIgLmhic3B0LWZvcm0gLmhzLWVycm9yLW1zZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2VkMWMyNDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1uZXdzbGV0dGVyIC5oYnNwdC1mb3JtIC5oc19lcnJvcl9yb2xsdXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyBpbnB1dC5oc2ZjLVRleHRJbnB1dCxcbi50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgc2VsZWN0LmhzZmMtRHJvcGRvd25JbnB1dF9fSW5wdXQsXG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLURyb3Bkb3duSW5wdXQsXG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLVBob25lSW5wdXRfX0ZsYWdBbmRDYXJldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjYgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDI0OTUyICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgaW5wdXQuaHNmYy1UZXh0SW5wdXQ6Zm9jdXMsXG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIHNlbGVjdC5oc2ZjLURyb3Bkb3duSW5wdXRfX0lucHV0OmZvY3VzLFxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1Ecm9wZG93bklucHV0OmZvY3VzLFxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1QaG9uZUlucHV0X19GbGFnQW5kQ2FyZXQ6Zm9jdXMsIC50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgaW5wdXQuaHNmYy1UZXh0SW5wdXQ6aG92ZXIsXG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIHNlbGVjdC5oc2ZjLURyb3Bkb3duSW5wdXRfX0lucHV0OmhvdmVyLFxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1Ecm9wZG93bklucHV0OmhvdmVyLFxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1QaG9uZUlucHV0X19GbGFnQW5kQ2FyZXQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwMzRlYTIgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1SZW5kZXJlciBpbnB1dCwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1SZW5kZXJlciBzZWxlY3QsIC50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgLmhzZmMtUmVuZGVyZXIgcCwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1SZW5kZXJlciBzcGFuLCAudHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLVJlbmRlcmVyIGxhYmVsLCAudHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLVJlbmRlcmVyIGRpdiwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1SZW5kZXJlciBidXR0b24ge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIGlucHV0LmhzZmMtVGV4dElucHV0OjpwbGFjZWhvbGRlciwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyBpbnB1dC5oc2ZjLVRleHRJbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyBpbnB1dC5oc2ZjLVRleHRJbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyBpbnB1dC5oc2ZjLVRleHRJbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgaW5wdXQuaHNmYy1UZXh0SW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNDI0OTUyO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1Ecm9wZG93bklucHV0X19DYXJldCB7XG4gIGhlaWdodDogNDNweCAhaW1wb3J0YW50O1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1QaG9uZUlucHV0IHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgLmhzZmMtUGhvbmVJbnB1dF9fRmxhZ0FuZENhcmV0IHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgLmhzZmMtUmljaFRleHQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1TdGVwIC5oc2ZjLVN0ZXBfX0NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEuNXJlbTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1TdGVwX19CYW5uZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLVJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICBnYXA6IDE1cHggIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyOXB4KSB7XG4gIC50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgLmhzZmMtUm93IHtcbiAgICBnYXA6IDEuNXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLVRleHRJbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgLmhzZmMtTmF2aWdhdGlvblJvd19fQnV0dG9ucyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1OYXZpZ2F0aW9uUm93X19CdXR0b25zIC5oc2ZjLUJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjgxMjVyZW0gMS4yNXJlbSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM0ZWEyICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1OYXZpZ2F0aW9uUm93X19CdXR0b25zIC5oc2ZjLUJ1dHRvbjpob3ZlciwgLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1OYXZpZ2F0aW9uUm93X19CdXR0b25zIC5oc2ZjLUJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxLjgsIDQ2LjgsIDk3LjIpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi50c256LWh1YnNwb3QtZm9ybS0tZnJhbmNoaXNlLW9wcG9ydHVuaXRpZXMgLmhzZmMtUm93IC5oc2ZjLUZpZWxkTGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRzbnotaHVic3BvdC1mb3JtLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyAuaHNmYy1FcnJvckFsZXJ0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2VkMWMyNCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG4udHNuei1odWJzcG90LWZvcm0tLWZyYW5jaGlzZS1vcHBvcnR1bml0aWVzIC5oc2ZjLU5hdmlnYXRpb25Sb3cge1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogTXVzdCBzdGF5IGxhc3Qg4oCUIHNlZSB0aGUgaGVhZGVyIG9mIF9jb250YWluZXItaW5zZXQuc2Nzcy4gSXQgb3ZlcnJpZGVzIGNvbXBvbmVudFxuICogY29udGFpbmVyIHBhZGRpbmcgYnkgc291cmNlIG9yZGVyLCBub3Qgc3BlY2lmaWNpdHkuXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRzbnotY29udGFpbmVyLS1pbnNldCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDhyZW07XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudHNuei1jb250YWluZXItLWluc2V0LWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogOHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50c256LWNvbnRhaW5lci0taW5zZXQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDhyZW07XG4gIH1cbn0iLCJAY2hhcnNldCAndXRmLTgnO1xuXG4vKiBPdXIgTWl4aW5zLCBubyBEZXBlbmRhbmNpZXMgKi9cbkBpbXBvcnQgJ2hlbHBlcnMvdXRpbGl0eS1taXhpbnMnO1xuXG4vKiBCcmFuZCBDb2xvdXJzIGFzIFZhcnMgKi9cbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8qIFNwYWNpbmcgc2NhbGUgKyBzcGFjZSgpIOKAlCBtdXN0IHByZWNlZGUgc2V0dGluZ3MsIHdoaWNoIHVzZXMgaXQgKi9cbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG4vKipcbiAqICBDb3JlIGZvdW5kYXRpb25cbiAqL1xuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3Nlcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8vIEhhbWJ1cmdlci4gU2VlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzLyNzYXNzXG4vLyAyLjAgTWVudSBpY29uIChoZWFkZXIgbmF2LXRvZ2dsZSk6IDI4w5cyMSwgdGhyZWUgM3B4IHBpbGwgYmFycywgNnB4IGdhcHMsIGJyYW5kIGJsdWUuXG4kaGFtYnVyZ2VyLXBhZGRpbmcteDogMDtcbiRoYW1idXJnZXItcGFkZGluZy15OiAwO1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygxLjUpO1xuJGhhbWJ1cmdlci1sYXllci13aWR0aDogcmVtLWNhbGMoMjgpO1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ6IHJlbS1jYWxjKDMpO1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nOiByZW0tY2FsYyg2KTtcbiRoYW1idXJnZXItbGF5ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5OiAxO1xuJGhhbWJ1cmdlci10eXBlczogKHNsaWRlci1yKTtcbkBpbXBvcnQgJ2hhbWJ1cmdlcnMnO1xuXG4vKipcbiAqIEhlbHBlcnMgYW5kIEFkZGl0aW9uYWwgVHlwb2dyYXBoeVxuICovXG5AaW1wb3J0ICdoZWxwZXJzL3V0aWxpdHktY2xhc3Nlcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcblxuLyoqXG4gKiBFbGVtZW50c1xuICovXG5AaW1wb3J0ICdlbGVtZW50cy9idXR0b24nO1xuQGltcG9ydCAnZWxlbWVudHMvYWN0aW9uLWJ1dHRvbic7XG5AaW1wb3J0ICdlbGVtZW50cy9saW5rLWJ1dHRvbic7XG5AaW1wb3J0ICdlbGVtZW50cy9zeW1ib2wnO1xuQGltcG9ydCAnZWxlbWVudHMvaW5wdXQnO1xuQGltcG9ydCAnZWxlbWVudHMvc2VsZWN0JztcbkBpbXBvcnQgJ2VsZW1lbnRzL3RleHRhcmVhJztcbkBpbXBvcnQgJ2VsZW1lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdlbGVtZW50cy9jaGVja2JveC1ncm91cCc7XG5AaW1wb3J0ICdlbGVtZW50cy9sb2dvJztcbkBpbXBvcnQgJ2VsZW1lbnRzL2xvYWRpbmcnO1xuQGltcG9ydCAnZWxlbWVudHMvYmxvY2txdW90ZSc7XG5cbi8qKlxuICogIENvbXBvbmVudHNcbiAqL1xuQGltcG9ydCAnY29tcG9uZW50cy9ncmlkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmxvY2snO1xuQGltcG9ydCAnY29tcG9uZW50cy9ibG9jay1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQtZ3JpZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtaW1hZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LWJsb2NrJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1ibG9jay1zZWNvbmRhcnknO1xuLy8gQ2FzZSBTdHVkeSBEZXRhaWwg4oCUIHNoYXJlZCBtZWFzdXJlL2NvbnRhaW5lci9oZWFkZXIgZmlyc3QsIHRoZW4gdGhlIGZvdXIgc2NvcGVkIGJsb2Nrcy5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FzZS1zdHVkeSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NzLWNvbnRlbnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jcy12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NzLWltYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY3MtcXVvdGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYXJ0bmVycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2VtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJpbWFyeS1jdGEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pY29uLWdyaWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mZWF0dXJlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmVhdHVyZS1zZWNvbmRhcnknO1xuQGltcG9ydCAnY29tcG9uZW50cy90d28tY29sdW1uLWZlYXR1cmUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tYmxvY2snO1xuQGltcG9ydCAnY29tcG9uZW50cy9jdGEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9uYXYnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWdhLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWdhLW1lbnUtcGFuZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pbWFnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21hc3RoZWFkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9kdWN0LWRldGFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xvY2F0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZnJhbmNoaXNlLWNvbnRhY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mcmFuY2hpc2UtYWJvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xhZGRpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcHRpb25zLWxpc3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcHRpb24taXRlbSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9oaWdobGlnaHRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW1hZ2UtbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhdGh3YXknO1xuQGltcG9ydCAnY29tcG9uZW50cy9tYXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mYW5jeWJveCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpZ2h0Ym94JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhY3QtZm9ybSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZyYW5jaGlzZS1vcHBvcnR1bml0eS1mb3JtJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJlZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3c2xldHRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NpdGVtYXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nhcm91c2VsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hd2FyZHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hd2FyZHMtbWFycXVlZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2N1c3RvbWlzZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGlja2VyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zcGVjaWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFubmVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVzdGltb25pYWxzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVzdGltb25pYWxzLWdyaWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aWRlby10ZXN0aW1vbmlhbC1zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9mcmFuY2hpc2UtdGVzdGltb25pYWxzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaW1hZ2UtY2Fyb3VzZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LWNhcm91c2VsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZnJhbmNoaXNlLWNhcm91c2VsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaHVic3BvdC1mb3Jtcyc7XG5cbi8qKlxuICogTXVzdCBzdGF5IGxhc3Qg4oCUIHNlZSB0aGUgaGVhZGVyIG9mIF9jb250YWluZXItaW5zZXQuc2Nzcy4gSXQgb3ZlcnJpZGVzIGNvbXBvbmVudFxuICogY29udGFpbmVyIHBhZGRpbmcgYnkgc291cmNlIG9yZGVyLCBub3Qgc3BlY2lmaWNpdHkuXG4gKi9cbkBpbXBvcnQgJ2hlbHBlcnMvY29udGFpbmVyLWluc2V0JztcbiIsIi8qKlxuKiBTdHJpbmcgUmVwbGFjZVxuKi9cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgICAkc3RyaW5nOiBpbnNwZWN0KCRzdHJpbmcpO1xuICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gICAgQGlmICRpbmRleCB7XG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBmdW5jdGlvbiBzdHItc3BsaXQoJHN0cmluZywgJHNlcGFyYXRvcikge1xuICAgIC8vIGVtcHR5IGFycmF5L2xpc3RcbiAgICAkc3BsaXQtYXJyOiAoKTtcbiAgICAvLyBmaXJzdCBpbmRleCBvZiBzZXBhcmF0b3IgaW4gc3RyaW5nXG4gICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xuICAgIC8vIGxvb3AgdGhyb3VnaCBzdHJpbmdcbiAgICBAd2hpbGUgJGluZGV4ICE9IG51bGwge1xuICAgICAgICAvLyBnZXQgdGhlIHN1YnN0cmluZyBmcm9tIHRoZSBmaXJzdCBjaGFyYWN0ZXIgdG8gdGhlIHNlcGFyYXRvclxuICAgICAgICAkaXRlbTogc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpO1xuICAgICAgICAvLyBwdXNoIGl0ZW0gdG8gYXJyYXlcbiAgICAgICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRpdGVtKTtcbiAgICAgICAgLy8gcmVtb3ZlIGl0ZW0gYW5kIHNlcGFyYXRvciBmcm9tIHN0cmluZ1xuICAgICAgICAkc3RyaW5nOiBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgMSk7XG4gICAgICAgIC8vIGZpbmQgbmV3IGluZGV4IG9mIHNlcGFyYXRvclxuICAgICAgICAkaW5kZXggOiBzdHItaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XG4gICAgfVxuICAgIC8vIGFkZCB0aGUgcmVtYWluaW5nIHN0cmluZyB0byBsaXN0ICh0aGUgbGFzdCBpdGVtKVxuICAgICRzcGxpdC1hcnI6IGFwcGVuZCgkc3BsaXQtYXJyLCAkc3RyaW5nKTtcblxuICAgIEByZXR1cm4gJHNwbGl0LWFycjtcbn1cblxuLyoqXG4qIEZvbnQgRmFjZTogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vam9uYXRoYW50bmVhbC9kMDQ2MGU1YzJkNWQ3ZjliYzVlNlxuKi9cbkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkd2VpZ2h0OiBudWxsLCAkc3R5bGU6IG51bGwsICRleHRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG4gICAgJHNyYzogbnVsbDtcbiAgICAkZXh0bW9kczogKCBlb3Q6ICc/Jywgc3ZnOiAnIycgKyBzdHItcmVwbGFjZSgkbmFtZSwgJyAnLCAnXycpICk7XG4gICAgJGZvcm1hdHM6ICggb3RmOiAnb3BlbnR5cGUnLCB0dGY6ICd0cnVldHlwZScgKTtcblxuICAgIEBlYWNoICRleHQgaW4gJGV4dHMge1xuICAgICAgICAkZXh0bW9kOiBpZihtYXAtaGFzLWtleSgkZXh0bW9kcywgJGV4dCksICRleHQgKyBtYXAtZ2V0KCRleHRtb2RzLCAkZXh0KSwgJGV4dCk7XG4gICAgICAgICRmb3JtYXQ6IGlmKG1hcC1oYXMta2V5KCRmb3JtYXRzLCAkZXh0KSwgbWFwLWdldCgkZm9ybWF0cywgJGV4dCksICRleHQpO1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgJy4nICsgJGV4dG1vZCkpIGZvcm1hdChxdW90ZSgkZm9ybWF0KSksIGNvbW1hKTtcbiAgICB9XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgICAgIHNyYzogJHNyYztcbiAgICB9XG59XG5cbi8qKlxuKiBwc2V1ZG8gRWxlbWVudCBIZWxwZXJcbiovXG5AbWl4aW4gcHNldWRvKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJywgJGZ1bGwtc2l6ZTogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zO1xuICAgIGRpc3BsYXk6ICRkaXNwbGF5O1xuICAgIGNvbnRlbnQ6ICRjb250ZW50O1xuXG4gICAgQGlmICRmdWxsLXNpemUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuXG4vKipcbiogUmVzZXRzIENvbXBvbmVudCBmb250c2l6ZSwgY29sb3IuXG4qL1xuQG1peGluIGNvbXBvbmVudC1yZXNldChcbiAgICAkY29sb3I6ICRibGFjayxcbiAgICAkZm9udC1zaXplOiAxcmVtLFxuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAkcmVzZXQtbGlua3M6IHRydWVcbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICBAaWYgJHJlc2V0LWxpbmtzIHtcbiAgICAgICAgJltocmVmXSxcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4qIFNpbmdsZSBMaW5lIHRydW5jYXRpb25cbiovXG5AbWl4aW4gdHJ1bmNhdGUoJHRydW5jYXRpb24tYm91bmRhcnk6IG5vbmUpIHtcbiAgICBtYXgtd2lkdGg6ICR0cnVuY2F0aW9uLWJvdW5kYXJ5O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyoqXG4qIFByb2R1Y2VzIGEgZ3JvdXAgb2YgY29sb3IgY2xhc3NlcyBhdCB2YXJpb3VzIHRpbnRzLCBnaXZlbiBhIGhleCBjb2RlXG4qL1xuQG1peGluIGNvbG9yLWNsYXNzZXMoJGJhc2UsICRuYW1lOiAncHJpbWFyeScpIHtcbiAgICAkc2NhbGVzOiAoODAlLCA2MCUsIDQwJSwgMjAlKTtcblxuICAgIC4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlO1xuICAgICAgICBAZWFjaCAkc2NhbGUgaW4gJHNjYWxlcyB7XG4gICAgICAgICAgICAmLS0je3N0ci1yZXBsYWNlKCRzY2FsZSwgJyUnLCAnJyl9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhc2UsICR3aGl0ZSwgJHNjYWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4qIEdlbmVyYXRlIGNsYXNzZXMgW2JyZWFrcG9pbnRdLVtwcm9wZXJ0eV0tW3ZhbHVlXS4gU2VlIEhlbHBlciBDbGFzc2VzIGZvciB1c2FnZVxuKiBlLmcuIC5zbWFsbC1wdC0ycmVtXG4qL1xuQG1peGluIG1ha2Utc3BhY2UoJHZhbHVlcywgJHByZWZpeGVzLCAkYnJlYWtwb2ludHMpIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludC1uYW1lLCAkYnJlYWtwb2ludC12YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICAvLyBpZiB4cyB2YWx1ZSA9IDAsIHNldCBpdCBnbG9iYWwgd2l0aG91dCBtZWRpYSBxdWVyaWVzXG4gICAgICAgIEBpZigkYnJlYWtwb2ludC12YWx1ZSA9PSAwKSB7XG4gICAgICAgICAgICBAZWFjaCAkYXR0ci1zaG9ydCwgJGF0dHItbG9uZyBpbiAkcHJlZml4ZXMge1xuICAgICAgICAgICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgICAgICAgICAgICAgICAgLiN7JGJyZWFrcG9pbnQtbmFtZSArICctJyArICRhdHRyLXNob3J0ICsgJy0nICsgc3RyLXJlcGxhY2UoJHZhbHVlLCAnLicsICcnKX0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgI3skYXR0ci1sb25nfTogI3skdmFsdWV9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHsgLy8gYnJlYWtwb2ludCB2YWx1ZXMgdGhhdCBub3QgZXF1YWwgdG8gMFxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgICAgICAgICBAZWFjaCAkYXR0ci1zaG9ydCwgJGF0dHItbG9uZyBpbiAkcHJlZml4ZXMge1xuICAgICAgICAgICAgICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuI3skYnJlYWtwb2ludC1uYW1lICsgJy0nICsgJGF0dHItc2hvcnQgKyAnLScgKyBzdHItcmVwbGFjZSgkdmFsdWUsICcuJywgJycpfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skYXR0ci1sb25nfTogI3skdmFsdWV9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiogQ29tcHV0ZXMgYSBDU1MgY2FsYyBmdW5jdGlvbiB0aGF0IGJldHdlZW5zIGEgdmFsdWUgZnJvbVxuKiBBIHRvIEIgb3ZlciB2aWV3cG9ydC13aWR0aCBBIHRvIHZpZXdwb3J0LXdpZHRoIEIuXG4qIFJlcXVpcmVzIGEgbWVkaWEgcXVlcnkgdG8gY2FwIHRoZSB2YWx1ZSBhdCBCLlxuKi9cbkBmdW5jdGlvbiBiZXR3ZWVuKCR0bywgJGZyb20sICR0by13aWR0aCwgJGZyb20td2lkdGgpIHtcbiAgICAkc2xvcGU6ICgkdG8gLSAkZnJvbSkgLyAoJHRvLXdpZHRoIC0gJGZyb20td2lkdGgpO1xuICAgICRiYXNlOiAkZnJvbSAtICRzbG9wZSAqICRmcm9tLXdpZHRoO1xuICAgIEByZXR1cm4gY2FsYygjeyRiYXNlfSArICN7MTAwdncgKiAkc2xvcGV9KTtcbn1cblxuQGZ1bmN0aW9uIHJlbS1iZXR3ZWVuKCR0bywgJGZyb20sICR0by13aWR0aCwgJGZyb20td2lkdGgpIHtcbiAgICAkc2xvcGU6IChzdHJpcC11bml0KCR0bykgLSBzdHJpcC11bml0KCRmcm9tKSkgLyAocmVtLWNhbGMoJHRvLXdpZHRoKSAtIHJlbS1jYWxjKCRmcm9tLXdpZHRoKSk7XG4gICAgJGJhc2U6ICRmcm9tIC0gJHNsb3BlICogcmVtLWNhbGMoJGZyb20td2lkdGgpO1xuICAgIEByZXR1cm4gY2FsYygjeyRiYXNlfSArICN7MTAwdncgKiBzdHJpcC11bml0KCRzbG9wZSl9KTtcbn1cblxuLyoqXG4qIEdlbmVyYXRlcyBtdWx0aWxpbmUgZWxsaXBzZWQgdGV4dFxuKi9cblxuLy8gRGVwcmVjYXRlZCA+IFBvbHlmaWxsaW5nXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBtaXhpbi1uYW1lLWZvcm1hdFxuQG1peGluIG11bHRpbGluZVRleHRXaXRoRWxsaXBzaXMgKCRmb250LXNpemU6IDFyZW0sICRsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0LCAkbGluZXMtdG8tc2hvdzogMikge1xuICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSAoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkbGluZXMtdG8tc2hvdylcbn1cbi8vIHNhc3MtbGludDplbmFibGUgbWl4aW4tbmFtZS1mb3JtYXRcblxuQG1peGluIG11bHRpbGluZS10cnVuY2F0ZSAoJGZvbnQtc2l6ZTogMXJlbSwgJGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQsICRsaW5lcy10by1zaG93OiAyKSB7XG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgbm8tdmVuZG9yLXByZWZpeGVzLCBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgaGVpZ2h0OiAkZm9udC1zaXplKiRsaW5lLWhlaWdodCokbGluZXMtdG8tc2hvdztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXMtdG8tc2hvdztcbn1cblxuQG1peGluIG11bHRpbGluZS10cnVuY2F0ZS1vZmYoJGRpc3BsYXk6IGJsb2NrKSB7XG4gICAgZGlzcGxheTogJGRpc3BsYXk7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiogUmVtb3ZlcyBtb3VzZSBmb2N1cyByaW5nIG9uIGVsZW1lbnRzXG4qL1xuQG1peGluIHJlbW92ZS1tb3VzZS1mb2N1cy1yaW5nKCkge1xuICAgIFtkYXRhLXdoYXRpbnRlbnQ9J21vdXNlJ10gJixcbiAgICBbZGF0YS13aGF0aW50ZW50PSd0b3VjaCddICYge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLyoqXG4qIFJlbW92ZXMgbW91c2UgZm9jdXMgcmluZyBvbiBlbGVtZW50c1xuKi9cbkBtaXhpbiBhZGQta2V5Ym9hcmQtZm9jdXMtcmluZygpIHtcbiAgICBbZGF0YS13aGF0aW50ZW50PSdrZXlib2FyZCddICYsXG4gICAgW2RhdGEtd2hhdGlucHV0PSdrZXlib2FyZCddICYge1xuICAgICAgICBvdXRsaW5lOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3IgYXV0byA1cHg7XG4gICAgfVxufVxuXG4vKipcbiogVHJ1bmNhdGVibGUgdGV4dFxuKi9cbkBtaXhpbiB0cnVuY2F0ZWQtdGV4dCgkYmFja2dyb3VuZDogJHdoaXRlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvKCRmdWxsLXNpemU6IGZhbHNlKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIGZhZGUtb3V0KCRiYWNrZ3JvdW5kLCAxKSAwJSwgZmFkZS1vdXQoJGJhY2tncm91bmQsIDApIDEwMCUpO1xuICAgIH1cbn1cblxuQG1peGluIHRleHQtdW5kZXJsaW5lLWNyb3AoJGJhY2tncm91bmQpIHtcbiAgICB0ZXh0LXNoYWRvdzpcbiAgICAwLjAzZW0gMCAkYmFja2dyb3VuZCxcbiAgICAtMC4wM2VtIDAgJGJhY2tncm91bmQsXG4gICAgMCAwLjAzZW0gJGJhY2tncm91bmQsXG4gICAgMCAtMC4wM2VtICRiYWNrZ3JvdW5kLFxuICAgIDAuMDZlbSAwICRiYWNrZ3JvdW5kLFxuICAgIC0wLjA2ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAwLjA5ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAtMC4wOWVtIDAgJGJhY2tncm91bmQsXG4gICAgMC4xMmVtIDAgJGJhY2tncm91bmQsXG4gICAgLTAuMTJlbSAwICRiYWNrZ3JvdW5kLFxuICAgIDAuMTVlbSAwICRiYWNrZ3JvdW5kLFxuICAgIC0wLjE1ZW0gMCAkYmFja2dyb3VuZDtcbn1cblxuQG1peGluIHRleHQtdW5kZXJsaW5lKCRjb2xvci1iZywgJGNvbG9yLXRleHQpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGNvbG9yLXRleHQsICRjb2xvci10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMXB4IDFweDtcbn1cblxuQG1peGluIHRleHQtc2VsZWN0aW9uKCRzZWxlY3Rpb24pIHtcbiAgICAmOjpzZWxlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXVuZGVybGluZS1jcm9wKCRzZWxlY3Rpb24pO1xuXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWxlY3Rpb247XG4gICAgfVxuXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXVuZGVybGluZS1jcm9wKCRzZWxlY3Rpb24pO1xuXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWxlY3Rpb247XG4gICAgfVxufVxuXG5AbWl4aW4gbGluay11bmRlcmxpbmUoJGJhY2tncm91bmQsICR0ZXh0LCAkc2VsZWN0aW9uKSB7XG4gICAgQGluY2x1ZGUgdGV4dC11bmRlcmxpbmUtY3JvcCgkYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgdGV4dC11bmRlcmxpbmUoJGJhY2tncm91bmQsICR0ZXh0KTtcbiAgICBAaW5jbHVkZSB0ZXh0LXNlbGVjdGlvbigkc2VsZWN0aW9uKTtcblxuICAgIGNvbG9yOiAkdGV4dDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAqLFxuICAgICo6YWZ0ZXIsXG4gICAgJjphZnRlcixcbiAgICAqOmJlZm9yZSxcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkdGV4dDtcbiAgICB9XG59XG5cbi8qKlxuKiBDb250YWluZXIgaW5zZXQg4oCUIGV4dHJhIGhvcml6b250YWwgcGFkZGluZyBvbiB0b3Agb2YgdGhlIHBhZ2UgZ3V0dGVyLCBmb3IgYmxvY2tzIHdob3NlXG4qIGNvbnRlbnQgaXMgbWVhbnQgdG8gc2l0IG5hcnJvd2VyIHRoYW4gdGhlIHN0YW5kYXJkIGNvbnRhaW5lci4gRGVza3RvcCBvbmx5OyBiZWxvd1xuKiBgbGFyZ2VgIHRoZSBwYWdlIGd1dHRlciBpcyBhbHJlYWR5IHRpZ2h0IGFuZCB0aGUgYmxvY2sgaXMgc3RhY2tlZC5cbipcbiogSW5zZXRzIG9uZSBlZGdlIG9yIGJvdGguIFRoZSBkZWZhdWx0IHN0ZXAgKDMyKSB5aWVsZHMgNnJlbSBvbiBhbiBpbnNldCBlZGdlIOKAlCB0aGUgNHJlbVxuKiBwYWdlIGd1dHRlciBwbHVzIDJyZW0g4oCUIHNvIGJvdGgtc2lkZXMgcHV0cyBjb250ZW50IGF0IDEyNDggb24gdGhlIDE0NDAgYXJ0Ym9hcmQsIGFuZCBhXG4qIHNpbmdsZS1zaWRlZCBpbnNldCBhdCAxMjgwLlxuKlxuKiBCbG9ja3Mgbm9ybWFsbHkgZ2V0IHRoaXMgdmlhIHRoZSBgLnRzbnotY29udGFpbmVyLS1pbnNldHstbGVmdCwtcmlnaHR9YCBjbGFzc2VzIChzZWVcbiogaGVscGVycy9fY29udGFpbmVyLWluc2V0LnNjc3MpOyBAaW5jbHVkZSBpdCBkaXJlY3RseSBvbmx5IGlmIHRoZSBibG9jayB3b3VsZCByYXRoZXIgbm90XG4qIGNhcnJ5IHRoZSBjbGFzcyBpbiBpdHMgdGVtcGxhdGUuXG4qXG4qIEBwYXJhbSB7U3RyaW5nfSAkc2lkZXMgLSBib3RoIHwgbGVmdCB8IHJpZ2h0XG4qIEBwYXJhbSB7TnVtYmVyfSAkc3RlcCAtIGEgc3RlcCBvZiAkdHNuei1zcGFjZS1zY2FsZSB0byBhZGQgcGVyIGluc2V0IGVkZ2VcbiovXG5AbWl4aW4gdHNuei1jb250YWluZXItaW5zZXQoJHNpZGVzOiBib3RoLCAkc3RlcDogMzIpIHtcbiAgICBAaWYgaW5kZXgoKGJvdGgsIGxlZnQsIHJpZ2h0KSwgJHNpZGVzKSA9PSBudWxsIHtcbiAgICAgICAgQGVycm9yICd0c256LWNvbnRhaW5lci1pbnNldCgpOiBgI3skc2lkZXN9YCBpcyBub3Qgb25lIG9mIGJvdGgsIGxlZnQsIHJpZ2h0Lic7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAvLyAkZ3JpZC1jb250YWluZXItcGFkZGluZyBob2xkcyBndXR0ZXIgVE9UQUxTIOKAlCBGb3VuZGF0aW9uJ3MgeHktZ3V0dGVycyBoYWx2ZXNcbiAgICAgICAgLy8gdGhlbSDigJQgc28gdGhlIHJlbmRlcmVkIHBhZ2UgZWRnZSBpcyBoYWxmIHRoZSBtYXAgdmFsdWUuIERlcml2ZWQgcmF0aGVyIHRoYW5cbiAgICAgICAgLy8gcmVzdGF0ZWQsIHNvIHRoaXMgZm9sbG93cyBhdXRvbWF0aWNhbGx5IGlmIHRoZSBwYWdlIGd1dHRlciBldmVyIG1vdmVzLlxuICAgICAgICAkZWRnZTogbWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbGFyZ2UpICogMC41O1xuICAgICAgICAkaW5zZXQ6ICRlZGdlICsgc3BhY2UoJHN0ZXApO1xuXG4gICAgICAgIEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gbGVmdCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc2lkZXMgPT0gYm90aCBvciAkc2lkZXMgPT0gcmlnaHQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGluc2V0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiogU2hhcmVkIHR3by1jb2x1bW4gZ3JpZCBmb3IgRnJhbmNoaXNlIERldGFpbCBwYWdlIHNlY3Rpb25zIChDb250YWN0ICsgQWJvdXQpLlxuKiBGaWdtYSBjb21wIGNvbHVtbiB3aWR0aHMgNTg0IC8gNjQ2LCBnYXAgNjIg4oaSIHNwYWNlKDQ4KSBvbi1zY2FsZS4gS2VlcHMgdGhlIGNvbnRhY3RcbiogaW1hZ2UgY29sdW1uIGFsaWduZWQgd2l0aCB0aGUgQWJvdXQgYmFuZCdzIHJpZ2h0IGNvbHVtbi5cbiovXG5AbWl4aW4gdHNuei1mcmFuY2hpc2UtZGV0YWlsLWNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiBzcGFjZSgxNik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDU4NGZyKSBtaW5tYXgoMCwgNjQ2ZnIpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIGdhcDogc3BhY2UoNDgpO1xuICAgIH1cbn1cblxuLyoqXG4qIEJyYW5kIHJhZGlhbCBncmFkaWVudCDigJQgdGhlIGJsdWUgYmFuZCBmaWxsIGZyb20gdGhlIEZpZ21hIFwiVG90YWxzcGFuIFJlZnJlc2hcIiBmaWxlLlxuKiBQYWludGVkIGJ5IHRocmVlIGNvbXBvbmVudHM6IEZlYXR1cmUgKDE6MTc2KSwgRmVhdHVyZSBTZWNvbmRhcnkgKDE5ODo1NjIpIGFuZCBQcmltYXJ5XG4qIENUQSAoMjA1OjIxODApLiBQcm9tb3RlZCB0byBhIG1peGluIHNvIHRoZSBkZWNsYXJhdGlvbiBoYXMgb25lIHNvdXJjZSBvZiB0cnV0aCByYXRoZXJcbiogdGhhbiBhIHRoaXJkIGhhbmQtY29waWVkIGxpdGVyYWwuXG4qXG4qIFRoZSBjZW50cmUgYW5kIHRoZSB0d28gYnJhbmQgc3RvcHMgYXJlIGZpeGVkOyBvbmx5IHRoZSBlbGxpcHNlIHNpemUgdmFyaWVzIHBlciBiYW5kLFxuKiBiZWNhdXNlIGVhY2ggYmFuZCBpcyBhIGRpZmZlcmVudCBhc3BlY3QuIFRoZSBleHBsaWNpdCA1MCUgbWlkcG9pbnQgaXMgdGhlIGV4YWN0IGxpbmVhclxuKiBpbnRlcnBvbGF0aW9uIGJldHdlZW4gdGhlIHR3byBicmFuZCBzdG9wcywgc28gYSB0d28tc3RvcCBiYW5kIChGZWF0dXJlKSByZW5kZXJzXG4qIGlkZW50aWNhbGx5IHdpdGggaXQgcHJlc2VudCDigJQgaXQganVzdCBtYWtlcyB0aGUgc2hhcmVkIGRlY2xhcmF0aW9uIG9uZSBzaGFwZS5cbipcbiogTk9URTogYF91dGlsaXR5LW1peGluc2AgaXMgaW1wb3J0ZWQgQkVGT1JFIGBfY29sb3JzYCwgeWV0IHRoaXMgcmVmZXJlbmNlcyAkdHNuei0qXG4qIGNvbG91ciB2YXJzLiBUaGF0IGlzIGZpbmU6IHdpdGggbGVnYWN5IGBAaW1wb3J0YCBldmVyeXRoaW5nIHNoYXJlcyBvbmUgZ2xvYmFsIHNjb3BlIGFuZFxuKiBhIG1peGluIGJvZHkgaXMgcmVzb2x2ZWQgYXQgYEBpbmNsdWRlYCB0aW1lLCBub3QgYXQgZGVmaW5pdGlvbiwgc28gdGhlIGNvbG91cnMgZXhpc3QgYnlcbiogdGhlIHRpbWUgYW55IGNvbXBvbmVudCBpbmNsdWRlcyB0aGlzLiBJdCBsb29rcyB3cm9uZyBhdCBhIGdsYW5jZTsgaXQgaXNuJ3QuXG4qXG4qIEBwYXJhbSB7TGlzdH0gJHNpemUgLSB0aGUgcmFkaWFsIGVsbGlwc2Ugc2l6ZSwgZS5nLiBgNjUuMDYlIDY3LjM2JWBcbiogQHBhcmFtIHtMaXN0fSAkcG9zaXRpb24gLSB0aGUgZWxsaXBzZSBjZW50cmUsIGUuZy4gYDM5Ljc5JSAxMi43NSVgXG4qL1xuQG1peGluIHRzbnotYnJhbmQtZ3JhZGllbnQoJHNpemU6IDY1LjA2JSA2Ny4zNiUsICRwb3NpdGlvbjogMzkuNzklIDEyLjc1JSkge1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgI3skc2l6ZX0gYXQgI3skcG9zaXRpb259LFxuICAgICAgICAkdHNuei1mZWF0dXJlLWdyYWRpZW50LXN0YXJ0IDAlLFxuICAgICAgICBtaXgoJHRzbnotYnJhbmQtYmx1ZSwgJHRzbnotZmVhdHVyZS1ncmFkaWVudC1zdGFydCwgNTAlKSA1MCUsXG4gICAgICAgICR0c256LWJyYW5kLWJsdWUgMTAwJVxuICAgICk7XG59XG4iLCIvLyBDdXN0b20gU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gMi4wIGJyYW5kIHR5cGUg4oCUIEludGVyIChJbnRlciA0LjEsIGZ1bGwgY2hhcnNldCBpbmNsLiB0ZSByZW8gbWFjcm9ucykuIHdvZmYyIG9ubHkuXG5AaW5jbHVkZSBmb250LWZhY2UoJ0ludGVyJywgJy4uL2ZvbnRzL0ludGVyLVJlZ3VsYXInLCA0MDAsIG5vcm1hbCwgd29mZjIpO1xuQGluY2x1ZGUgZm9udC1mYWNlKCdJbnRlcicsICcuLi9mb250cy9JbnRlci1JdGFsaWMnLCA0MDAsIGl0YWxpYywgd29mZjIpO1xuQGluY2x1ZGUgZm9udC1mYWNlKCdJbnRlcicsICcuLi9mb250cy9JbnRlci1Cb2xkJywgNzAwLCBub3JtYWwsIHdvZmYyKTtcbkBpbmNsdWRlIGZvbnQtZmFjZSgnSW50ZXInLCAnLi4vZm9udHMvSW50ZXItQm9sZEl0YWxpYycsIDcwMCwgaXRhbGljLCB3b2ZmMik7XG5AaW5jbHVkZSBmb250LWZhY2UoJ0ludGVyJywgJy4uL2ZvbnRzL0ludGVyLUV4dHJhQm9sZCcsIDgwMCwgbm9ybWFsLCB3b2ZmMik7XG5cbiRnbG9iYWwtZWFzZTogZWFzZTtcbiRnbG9iYWwtaWZyYW1lLWhlaWdodC1yYXRpbzogOSAvIDE2O1xuLy8gVmVuZG9yIFNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4vLyAyLjAgY29udGFpbmVyIG1vZGVsIOKAlCAxNDQwIGlzIHRoZSBvbmx5IHdpZHRoIHdlIGF1dGhvci4gQ29udGVudCBmYWxscyBvdXQgb2YgaXQ6XG4vLyAgIDE0NDAgLSAoMiB4IDY0IHBhZ2UgZ3V0dGVyKSA9IDEzMTIgbWF4IGNvbnRlbnQgd2lkdGguXG4vLyBEb3VibGVzIGFzIHRoZSBib2R5L21haW4gY2FwLiBTZWUgc2l0ZS1jb250ZXh0L2Rlc2lnbi10b2tlbnMubWQuXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxNDQwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuLy8gMi4wIHBhbGV0dGUg4oCUIHZhbHVlcyBjb21lIGZyb20gX2NvbG9ycy5zY3NzIChGaWdtYSB0b2tlbnMpLCBub3QgbGl0ZXJhbHMuXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICR0c256LWJyYW5kLWJsdWUsXG4gIHNlY29uZGFyeTogJHRzbnotYnJhbmQteWVsbG93LFxuICB0ZXJ0aWFyeTogJHRzbnotYnJhbmQtcmVkLFxuICBkYXJrLWJsdWU6ICMwMjM0NmQsXG4gIG1pZC1yZWQ6ICNkMjFlMjYsXG4gIGRhcmstcmVkOiAjYzUxMDE3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kdGVydGlhcnktY29sb3I6IGdldC1jb2xvcih0ZXJ0aWFyeSk7XG4kZGFyay1ibHVlOiBnZXQtY29sb3IoZGFyay1ibHVlKTtcbiRkYXJrLXJlZDogZ2V0LWNvbG9yKGRhcmstcmVkKTtcbiRtaWQtcmVkOiBnZXQtY29sb3IobWlkLXJlZCk7XG4kc2t5OiAkdHNuei1za3k7XG4kbGlnaHRlc3QtZ3JheTogJHRzbnotbGlnaHQtZ3JheTtcbiRsaWdodC1ncmF5OiAkdHNuei1ncmF5O1xuJGxpZ2h0LWdyYXktYWx0OiAkdHNuei1saWdodC1ncmF5O1xuJG1lZGl1bS1ncmF5OiAkdHNuei1tZWQtZ3JheTtcbiRkYXJrLWdyYXk6ICR0c256LWJvZHk7XG4kZGFyay1ncmF5LTIwYTogcmdiYSgkZGFyay1ncmF5LCAwLjIpO1xuJGJsYWNrOiAjMTUyOTMxO1xuJGJsYWNrLTQwYTogcmdiYSgkYmxhY2ssMC40KTtcbiR3aGl0ZTogJHRzbnotd2hpdGU7XG4kd2hpdGUtMGE6IHJnYmEoJHdoaXRlLDApO1xuJHdoaXRlLTkwYTogcmdiYSgkd2hpdGUsMC45KTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICR0c256LWJvZHk7XG4kYm9keS1mb250LWNvbG9yLW11dGVkOiAkdHNuei1ib2R5LW11dGVkO1xuJGJvZHktZm9udC1mYW1pbHk6ICdJbnRlcicsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IHNwYWNlKDE2KTtcbiRnbG9iYWwtcGFkZGluZzogc3BhY2UoMjQpOyAvLyB3YXMgMS43NXJlbSAoMjhweCkg4oCUIG5lYXJlc3QgdG9rZW5cbiRnbG9iYWwtcG9zaXRpb246IHNwYWNlKDE2KTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuLy8gMi4wIHJhZGl1cy4gTm90IGEgYm91bmQgRmlnbWEgdmFyaWFibGUsIGJ1dCBldmVyeSBidXR0b24gdmFyaWFudCBpbiB0aGUgQ29tcG9uZW50c1xuLy8gZnJhbWUgKG5vZGVzIDI6MTEyIC8gMjoxMTUgLyA1ODoxMzUgYW5kIHRoZWlyIExhcmdlIHNpYmxpbmdzKSBkcmF3cyBhIDEwcHggY29ybmVyLCBzb1xuLy8gaXQgaXMgYSByZWFsIGdsb2JhbCByYXRoZXIgdGhhbiBhIHBlci1ibG9jayBsaXRlcmFsLiBGb3VuZGF0aW9uJ3MgJGdsb2JhbC1yYWRpdXMgaXNcbi8vIGRlbGliZXJhdGVseSBsZWZ0IGF0IDAg4oCUIGZsaXBwaW5nIGl0IHdvdWxkIHJvdW5kIGNhbGxvdXRzLCBpbnB1dHMsIGNhcmRzIGFuZCByZXZlYWxzXG4vLyBzaXRlLXdpZGUsIHdoaWNoIGhhc24ndCBiZWVuIGRlc2lnbmVkIG9yIGV5ZWJhbGxlZC4gT3B0IGNvbXBvbmVudHMgaW4gb25lIGF0IGEgdGltZS5cbiR0c256LXJhZGl1czogcmVtLWNhbGMoMTApO1xuXG4vLyAyLjAgbW90aW9uLiBObyBGaWdtYSB2YXJpYWJsZSBhbmQgbm8gY29tcCBzcGVjaWZpZXMgYSBkdXJhdGlvbiwgc28gdGhpcyBwYWlyIGV4aXN0cyB0b1xuLy8gc3RvcCBlYWNoIGNvbXBvbmVudCBpbnZlbnRpbmcgaXRzIG93biDigJQgdHdvIGFscmVhZHkgaGFkICgwLjJzIG9uIHRoZSBsaW5rLWJ1dHRvbiBydWxlLFxuLy8gMC40cyBvbiB0aGUgY2FyZC1ncmlkIGltYWdlIHpvb20pLiBUaG9zZSB0d28gdmFsdWVzIGJlY29tZSB0aGUgc2NhbGUuXG4kdHNuei1kdXJhdGlvbi1mYXN0OiAwLjJzO1xuJHRzbnotZHVyYXRpb24tYmFzZTogMC40cztcbiR0c256LWVhc2luZzogZWFzZTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAxcmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG4kbWF4LWhlYWRlci13aWR0aDogMTYwMDtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDcwMHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBtZWRpdW07XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4vLyBMZWdhY3kgZmxvYXQgZ3JpZCDigJQgbm90IGluIHVzZSAoJHh5LWdyaWQ6IHRydWUpLiBUaGUgbGl2ZSBndXR0ZXJzIGFyZSB0aGUgWFkgZ3JpZFxuLy8gbWFwcyBpbiBzZWN0aW9uIDU2LlxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogc3BhY2UtcHgoMTYpLFxuICBtZWRpdW06IHNwYWNlLXB4KDMyKSxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAyLjAgdHlwZSBzY2FsZSDigJQgRmlnbWEgdG9rZW5zLCBzZWUgc2l0ZS1jb250ZXh0L2Rlc2lnbi10b2tlbnMubWQuXG4vLyBUcmFja2luZyBpcyBleHByZXNzZWQgYXMgYSAlIG9mIGZvbnQgc2l6ZSBpbiBGaWdtYTsgY29udmVydGVkIHRvIGVtIGhlcmUuXG4kdHNuei13ZWlnaHQtZXh0cmFib2xkOiA4MDA7XG4kdHNuei10cmFja2luZy10aWdodDogLTAuMDJlbTsgLy8gRmlnbWEgLTJcbiR0c256LXRyYWNraW5nLXNudWc6IC0wLjAxZW07ICAvLyBGaWdtYSAtMVxuJHRzbnotdHJhY2tpbmctc2xpZ2h0OiAwLjAyZW07IC8vIEZpZ21hICsyIChCdXR0b25zKVxuJHRzbnotdHJhY2tpbmctd2lkZTogMC4wNWVtOyAgIC8vIEZpZ21hICs1IChUYWdsaW5lKVxuJHRzbnotdHJhY2tpbmctd2lkZXI6IDAuMDhlbTsgIC8vIEZpZ21hICs4IChUYWdsaW5lIGJvbGQpXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogNzAwO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbi8vIGBsZXR0ZXItc3BhY2luZ2AgaXMgbm90IHBhcnQgb2YgRm91bmRhdGlvbidzICRoZWFkZXItc3R5bGVzIGNvbnRyYWN0IOKAlCBpdCBpcyBhcHBsaWVkXG4vLyBieSB0aGUgY29tcGFuaW9uIGxvb3AgaW4gX3R5cG9ncmFwaHkuc2Nzcywgd2hpY2ggYWxzbyByZS1lbWl0cyBmb250LXdlaWdodC5cbiRoZWFkZXItc3R5bGVzOiAoXG4gIC8vIE1vYmlsZSB0b2tlbnMgKEgxIE1vYmlsZSDigKYgSDYgTW9iaWxlKVxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogcmVtLWNhbGMoMzApLCAnZm9udC13ZWlnaHQnOiAkdHNuei13ZWlnaHQtZXh0cmFib2xkLCAnbGluZS1oZWlnaHQnOiAxLjIsICdsZXR0ZXItc3BhY2luZyc6ICR0c256LXRyYWNraW5nLXRpZ2h0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDI4KSwgJ2ZvbnQtd2VpZ2h0JzogJHRzbnotd2VpZ2h0LWV4dHJhYm9sZCwgJ2xpbmUtaGVpZ2h0JzogMS4yMTQsICdsZXR0ZXItc3BhY2luZyc6ICR0c256LXRyYWNraW5nLXRpZ2h0KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDI0KSwgJ2ZvbnQtd2VpZ2h0JzogJHRzbnotd2VpZ2h0LWV4dHJhYm9sZCwgJ2xpbmUtaGVpZ2h0JzogMS4yMDgsICdsZXR0ZXItc3BhY2luZyc6ICR0c256LXRyYWNraW5nLXRpZ2h0KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDIwKSwgJ2ZvbnQtd2VpZ2h0JzogJGdsb2JhbC13ZWlnaHQtYm9sZCwgJ2xpbmUtaGVpZ2h0JzogMS4zLCAnbGV0dGVyLXNwYWNpbmcnOiAkdHNuei10cmFja2luZy1zbnVnKSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDE4KSwgJ2ZvbnQtd2VpZ2h0JzogJGdsb2JhbC13ZWlnaHQtYm9sZCwgJ2xpbmUtaGVpZ2h0JzogMS4zMzMsICdsZXR0ZXItc3BhY2luZyc6ICR0c256LXRyYWNraW5nLXNudWcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogcmVtLWNhbGMoMTYpLCAnZm9udC13ZWlnaHQnOiAkZ2xvYmFsLXdlaWdodC1ib2xkLCAnbGluZS1oZWlnaHQnOiAxLjM3NSwgJ2xldHRlci1zcGFjaW5nJzogJHRzbnotdHJhY2tpbmctc251ZyksXG4gICksXG4gIC8vIERlc2t0b3AgdG9rZW5zIChIMSDigKYgSDUpLiBObyBkZXNrdG9wIEg2IGluIHRoZSBGaWdtYSBzZXQg4oCUIGludGVycG9sYXRlZCBiZXR3ZWVuXG4gIC8vIEg1ICgyMCkgYW5kIEg2IE1vYmlsZSAoMTYpOyBjb25maXJtIHdpdGggdGhlIGRlc2lnbmVyLlxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDQwKSwgJ2ZvbnQtd2VpZ2h0JzogJHRzbnotd2VpZ2h0LWV4dHJhYm9sZCwgJ2xpbmUtaGVpZ2h0JzogMS4xLCAnbGV0dGVyLXNwYWNpbmcnOiAkdHNuei10cmFja2luZy10aWdodCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiByZW0tY2FsYygzNiksICdmb250LXdlaWdodCc6ICR0c256LXdlaWdodC1leHRyYWJvbGQsICdsaW5lLWhlaWdodCc6IDEuMTY3LCAnbGV0dGVyLXNwYWNpbmcnOiAkdHNuei10cmFja2luZy10aWdodCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiByZW0tY2FsYygzMiksICdmb250LXdlaWdodCc6ICR0c256LXdlaWdodC1leHRyYWJvbGQsICdsaW5lLWhlaWdodCc6IDEuMTU2LCAnbGV0dGVyLXNwYWNpbmcnOiAkdHNuei10cmFja2luZy10aWdodCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiByZW0tY2FsYygyNCksICdmb250LXdlaWdodCc6ICRnbG9iYWwtd2VpZ2h0LWJvbGQsICdsaW5lLWhlaWdodCc6IDEuMjUsICdsZXR0ZXItc3BhY2luZyc6ICR0c256LXRyYWNraW5nLXRpZ2h0KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IHJlbS1jYWxjKDIwKSwgJ2ZvbnQtd2VpZ2h0JzogJGdsb2JhbC13ZWlnaHQtYm9sZCwgJ2xpbmUtaGVpZ2h0JzogMS4zNSwgJ2xldHRlci1zcGFjaW5nJzogJHRzbnotdHJhY2tpbmctc251ZyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiByZW0tY2FsYygxOCksICdmb250LXdlaWdodCc6ICRnbG9iYWwtd2VpZ2h0LWJvbGQsICdsaW5lLWhlaWdodCc6IDEuMzMzLCAnbGV0dGVyLXNwYWNpbmcnOiAkdHNuei10cmFja2luZy1zbnVnKSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MS4yNSU7IC8vIFNtYWxsIHRva2VuOiAxMyAvIDE2XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS41OyAvLyBQYXJhZ3JhcGggdG9rZW46IDI0IC8gMTZcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiB1bmRlcmxpbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRibGFjaztcbiRibG9ja3F1b3RlLXBhZGRpbmc6IDAgMCAwIDFlbTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRjaXRlLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJyc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4xMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6ICR0c256LWJyYW5kLXJlZDtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6ICR0c256LWJyYW5kLXJlZDtcbiRpbnB1dC1lcnJvci1jb2xvcjogJHRzbnotYnJhbmQtcmVkO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjEyNXJlbSAwO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMCAwIDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMC41cmVtIDAgMCAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IGZhbHNlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICd8JztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC41NWVtIDEuMjVlbTtcbiRidXR0b24tbWFyZ2luOiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJvcmRlcjogc29saWQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMik7XG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiRidXR0b24tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1yYWRpdXM6IHJlbS1jYWxjKDUpO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWJvcmRlci13aWR0aDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42ZW0sXG4gIHNtYWxsOiAwLjg3NWVtLFxuICBkZWZhdWx0OiAxZW0sXG4gIGxhcmdlOiAxLjI1ZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAoKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IDEwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogMCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6ICRnbG9iYWwtbWFyZ2luO1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLnRzbnotYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiAxMCU7XG4kY2FsbG91dC1ib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDA7XG4kY2FyZC1zaGFkb3c6IDAgM3B4IDZweCAwIHJnYmEoIzAwMCwgMC4wOCksIDAgM3B4IDZweCAwIHJnYmEoIzAwMCwgMC4xMik7XG4kY2FyZC1zaGFkb3ctZmFyOiAwIDEwcHggMTBweCAwIHJnYmEoIzAwMCwgMC4xMSksIDAgMTRweCAyOHB4IDAgcmdiYSgjMDAwLCAwLjE1KTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogMDtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogY3VycmVudENvbG9yO1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkd2hpdGU7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IGZhbHNlOyAvLyAyLjAgbW9iaWxlIG1lbnUgaGFuZC1yb2xscyBjaGV2cm9uIGNhcmV0cyAoc2VlIF9uYXYuc2NzcyAtLXZlcnRpY2FsKVxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogY3VycmVudENvbG9yOyAvLyB1bnVzZWQg4oCUIGFycm93cyBkaXNhYmxlZCBhYm92ZVxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRibGFjaztcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogZmFsc2U7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDI4MHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogbm9uZTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBjdXJyZW50Q29sb3I7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkbGlnaHRlc3QtZ3JheTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJHRzbnotcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkbGlnaHRlc3QtZ3JheTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkbGlnaHRlc3QtZ3JheTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbi8vIDIuMDogZmlsbGVkIGJveCB3aXRoIGEgc3VidGxlIGJvcmRlciArIDEwcHggcmFkaXVzIChyZXRva2VuaXNlZCBmcm9tIHRoZSB1bmRlcmxpbmUgbG9vaykuXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNjI1ICRmb3JtLXNwYWNpbmc7XG4kaW5wdXQtc2hhZG93OiBub25lO1xuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkdHNuei1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuLy8gVGhlIDIuMCBtb2JpbGUgbWVudSBsZWF2ZXMgYSBzdHJpcCBvZiBwYWdlIGNvbnRlbnQgdmlzaWJsZSBzbyBpdCBjYW4gYmUgdGFwcGVkIHRvIGNsb3NlIHRoZVxuLy8gZHJhd2VyIGFuZCB0aGUgaGVhZGVyJ3MgaGFtYnVyZ2VyIHJlbWFpbnMgb24tc2NyZWVuIGFzIGl0cyBhY3RpdmUgWCBzdGF0ZS4gRm91bmRhdGlvbiBkZXJpdmVzXG4vLyB0aGUgcGFuZWwgd2lkdGgsIGhpZGRlbiB0cmFuc2Zvcm0gYW5kIGNvbnRlbnQgcHVzaCBmcm9tIHRoaXMgdmFsdWUsIGtlZXBpbmcgYWxsIHRocmVlIGluIHN0ZXAuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIC8vIFVzZSBhIHZpZXdwb3J0IHVuaXQ6IHBlcmNlbnRhZ2UgdHJhbnNsYXRlWCB2YWx1ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBwYW5lbCBpdHNlbGYsXG4gIC8vIHNvIDgwJSB3b3VsZCBtb3ZlIGFuIDgwJS13aWRlIHBhbmVsIG9ubHkgNjR2dyBhbmQgbGVhdmUgaXQgdmlzaWJsZSB3aGlsZSBjbG9zZWQuXG4gIHNtYWxsOiA4MHZ3LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI4MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJG1haW5jb250ZW50LWNsYXNzOiAndHNuei1vZmZjYW52YXNfX2NvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6IHJlbS1jYWxjKDUpO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IGZhbHNlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICRsaWdodGVzdC1ncmF5O1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkbWVkaXVtLWdyYXksICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAwO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRhYi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAwO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbi8vIEd1dHRlcnMgKmJldHdlZW4gY2VsbHMqLiAyLjAgZG91YmxpbmcgZmFtaWx5OiAxNiAvIDMyLlxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IHNwYWNlKDE2KSxcbiAgbGFyZ2U6IHNwYWNlKDMyKVxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4vLyBQYWdlLWVkZ2UgcGFkZGluZywgZGVsaWJlcmF0ZWx5IE5PVCBhbGlhc2VkIHRvIHRoZSBjZWxsIGd1dHRlcnMg4oCUIHRoZSBjb250YWluZXIgZWRnZVxuLy8gaXMgNjQgYXQgbGFyZ2Ugd2hpbGUgY2VsbHMgc3RheSAzMi4gQWxpYXNpbmcgdGhlc2Ugd2FzIHdoYXQgZm9yY2VkIHRoZW0gdG8gbWF0Y2guXG4vL1xuLy8gTk9URTogRm91bmRhdGlvbiBoYWx2ZXMgZ3V0dGVyIHZhbHVlcyAoeHktZ3V0dGVyczogYCRndXR0ZXIgLyAyYCBwZXIgc2lkZSksIHNvIHRoZXNlXG4vLyBhcmUgVE9UQUxTIOKAlCBgc3BhY2UoNjQpICogMmAgcmVuZGVycyBhcyA2NHB4IG9mIHBhZGRpbmcgb24gZWFjaCBlZGdlLiBSZWFkIHRoZVxuLy8gbXVsdGlwbGllciBhcyBcInRoZSB0b2tlbiBJIGFjdHVhbGx5IHdhbnRcIiwgbm90IGFzIGFuIG9mZi1zY2FsZSB2YWx1ZS5cbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAoXG4gIHNtYWxsOiBzcGFjZSgxNikgKiAyLFxuICBtZWRpdW06IHNwYWNlKDMyKSAqIDIsXG4gIGxhcmdlOiBzcGFjZSg5NikgKiAyXG4pO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAuMDAxMjU7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2hvdWxkIE9ubHkgY29udGFpbiB2YXJzXG4vL1xuLy8gMi4wIGJyYW5kIHBhbGV0dGUg4oCUIHNvdXJjZTogRmlnbWEgXCJUb3RhbHNwYW4gUmVmcmVzaFwiIG5vZGUgMTI3NS0yMjQ0LlxuLy8gU2VlIHNpdGUtY29udGV4dC9kZXNpZ24tdG9rZW5zLm1kLiBDb25zdW1lZCBieSBfc2V0dGluZ3Muc2NzczsgZG9uJ3QgaGFyZC1jb2RlXG4vLyB0aGVzZSBoZXggdmFsdWVzIGFueXdoZXJlIGVsc2UuXG5cbiR0c256LWJyYW5kLWJsdWU6ICMwMzRlYTI7XG4kdHNuei1icmFuZC15ZWxsb3c6ICNmZmNiMDU7XG4kdHNuei1icmFuZC1yZWQ6ICNlZDFjMjQ7XG5cbiR0c256LWJvZHk6ICM0MjQ5NTI7XG4kdHNuei1ib2R5LW11dGVkOiByZ2JhKCR0c256LWJvZHksIDAuOCk7XG5cbiR0c256LXNreTogI2UyZThlZjtcbiR0c256LWxpZ2h0LWdyYXk6ICNmNmY2ZjY7XG4kdHNuei1ncmF5OiAjZTRlNGU0O1xuJHRzbnotbWVkLWdyYXk6ICNhNGE0YTQ7XG4kdHNuei13aGl0ZTogI2ZmZmZmZjtcblxuLy8gRmVhdHVyZSBCbG9jayBncmFkaWVudCDigJQgZXhhY3QgdW5ib3VuZCBmaWxsIGZyb20gRmlnbWEgbm9kZSAxOjE3Ni4gS2VlcCBpdCBuYW1lZCBoZXJlIHNvXG4vLyB0aGUgcmFkaWFsIGdyYWRpZW50IGhhcyBvbmUgc291cmNlIG9mIHRydXRoIGFuZCB0aGUgbGl0ZXJhbCBzdG9wIGRvZXMgbm90IGxlYWsgaW50byB0aGVcbi8vIGNvbXBvbmVudCBwYXJ0aWFsLlxuJHRzbnotZmVhdHVyZS1ncmFkaWVudC1zdGFydDogIzFmNjliYztcblxuLy8gQ01TIHN1cmZhY2UgbmFtZSBmcm9tIHRoZSByZWZyZXNoZWQgYmxvY2sgZGVzaWducy4gRmlnbWEgYmluZHMgdGhpcyBzdXJmYWNlIHRvIFNreTtcbi8vIGtlZXAgdGhlIGFsaWFzIGV4cGxpY2l0IHNvIGVkaXRvcnMgc2VlIOKAnERhcmsgR3JleeKAnSB3aXRob3V0IGNvbXBvbmVudHMgaW52ZW50aW5nIGEgaGV4LlxuJHRzbnotYmFja2dyb3VuZC1kYXJrLWdyYXk6ICR0c256LXNreTtcblxuLy8gMi4wIGludGVyYWN0aW9uXG4vLyBFdmVyeSBidXR0b24gdmFyaWFudCBzaGFyZXMgb25lIGhvdmVyIGZpbGw6IEZpZ21hIHBhaW50cyByZ2JhKDAsMCwwLDAuNCkgb3ZlciBCcmFuZFxuLy8gQmx1ZSAobm9kZXMgMjoxMTMgLyAyOjExNiAvIDU4OjEzOCBhbmQgdGhlaXIgTGFyZ2Ugc2libGluZ3MpLiBtaXgoKSByZXByb2R1Y2VzIHRoYXRcbi8vIGV4YWN0bHkgcmF0aGVyIHRoYW4gZXllYmFsbGluZyBhIG5ldyBoZXgg4oCUIDQwJSBibGFjaywgNjAlIGJsdWUuIE5vdCBhIGJvdW5kIHZhcmlhYmxlO1xuLy8gYSBjYW5kaWRhdGUgZm9yIHByb21vdGlvbiBpZiB0aGUgZGVzaWduZXIgZXZlciBuYW1lcyBpdC5cbiR0c256LWJyYW5kLWJsdWUtaG92ZXI6IG1peCgjMDAwMDAwLCAkdHNuei1icmFuZC1ibHVlLCA0MCUpO1xuXG4vLyAyLjAgYm9yZGVyc1xuLy8gTm90IGEgYm91bmQgRmlnbWEgdmFyaWFibGUg4oCUIHRoZSBjb21wcyB1c2UgYSBsaXRlcmFsIHJnYmEoMCwwLDAsMC4wOCkgb24gY2FyZCB0aWxlc1xuLy8gKG5vZGUgMTMyMzoyMzA1KS4gTmFtZWQgaGVyZSBzbyBpdCBpc24ndCByZS10eXBlZCBwZXIgY29tcG9uZW50LlxuJHRzbnotYm9yZGVyLXN1YnRsZTogcmdiYSgjMDAwMDAwLCAwLjA4KTtcblxuLy8gMi4wIGVsZXZhdGlvblxuJHRzbnotc2hhZG93LW1hZ2F6aW5lOiAwIDI1cHggNTBweCByZ2JhKCMwMDAwMDAsIDAuMTUpO1xuJHRzbnotc2hhZG93LWxvZ286IDAgMCA4cHggcmdiYSgjMTUyOTMxLCAwLjQpO1xuXG4kdG90YWxzcGFuLWxpZ2h0LWJsdWU6ICNDOEU3RkU7XG5cbi8vIFNvY2lhbCBJY29uIENvbG91cnNcbiR0d2l0dGVyOiAjMDBhY2VkO1xuJGZhY2Vib29rOiAjM2I1OTk4O1xuJGdvb2dsZXBsdXM6ICNkZDRiMzk7XG4kcGludGVyZXN0OiAjY2IyMDI3O1xuJGxpbmtlZGluOiAjMDA3YmI2O1xuJHlvdXR1YmU6ICNiMDA7XG4kdmltZW86ICMxYWI3ZWE7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xuXG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQvdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXG4gIEBpZiAoJGJwLWlzLWZhbGxiYWNrID09IHRydWUgYW5kICRndXR0ZXIgPT0gbnVsbCkge1xuICAgICRndXR0ZXI6IDA7XG4gIH1cblxuICBAaWYoJGd1dHRlciAhPSBudWxsKSB7XG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJGd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItbWFyZ2luID09IDAsICN7eHktY2VsbC1zaXplKCRuKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlci1tYXJnaW59KSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG5cbi8vIFNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiA0MHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAgICAgICA6IDAuMTVzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuXG4vLyBUeXBlcyAoUmVtb3ZlIG9yIGNvbW1lbnQgb3V0IHdoYXQgeW91IGRvbuKAmXQgbmVlZClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gIDNkeCxcbiAgM2R4LXIsXG4gIDNkeSxcbiAgM2R5LXIsXG4gIDNkeHksXG4gIDNkeHktcixcbiAgYXJyb3csXG4gIGFycm93LXIsXG4gIGFycm93YWx0LFxuICBhcnJvd2FsdC1yLFxuICBhcnJvd3R1cm4sXG4gIGFycm93dHVybi1yLFxuICBib3JpbmcsXG4gIGNvbGxhcHNlLFxuICBjb2xsYXBzZS1yLFxuICBlbGFzdGljLFxuICBlbGFzdGljLXIsXG4gIGVtcGhhdGljLFxuICBlbXBoYXRpYy1yLFxuICBtaW51cyxcbiAgc2xpZGVyLFxuICBzbGlkZXItcixcbiAgc3BpbixcbiAgc3Bpbi1yLFxuICBzcHJpbmcsXG4gIHNwcmluZy1yLFxuICBzdGFuZCxcbiAgc3RhbmQtcixcbiAgc3F1ZWV6ZSxcbiAgdm9ydGV4LFxuICB2b3J0ZXgtclxuKSAhZGVmYXVsdDtcblxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLyBIYW1idXJnZXIgdHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwidHlwZXMvM2R4XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm4tclwiO1xuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9taW51c1wiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlclwiO1xuQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3BpblwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW4tclwiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3F1ZWV6ZVwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleFwiO1xuQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XG4vL1xuLy8gVGhlIFNhc3MgZm9yIGVhY2ggaGFtYnVyZ2VyIHR5cGUgc2hvdWxkIGJlIG5lc3RlZFxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3Rcbi8vIGl0IGV4aXN0cyBpbiAkaGFtYnVyZ2VyLXR5cGVzIHNvIG9ubHkgdGhlIENTUyBmb3Jcbi8vIGluY2x1ZGVkIHR5cGVzIGFyZSBnZW5lcmF0ZWQuXG4vL1xuLy8gZS5nLiBoYW1idXJnZXJzL3R5cGVzL19uZXctdHlwZS5zY3NzXG4vL1xuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XG4vLyAgIC5oYW1idXJnZXItLW5ldy10eXBlIHtcbi8vICAgICAuLi5cbi8vICAgfVxuLy8gfVxuIiwiLy8gSGFtYnVyZ2VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG5cbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICY6aG92ZXIge1xuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTI7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXItcikge1xuICAvKlxuICAgKiBTbGlkZXIgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyA3LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYXlvdXQgaGVscGVyXG4ucG9zLXJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBTb21lIGRlZmF1bHQgYW5pbWF0aW9ucyBhbmQgY2xhc3Nlc1xuLmRyb3AtYW5kLWZhZGUtaW4ge1xuICAgIEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2xpZGUoaW4sIGRvd24sIDJlbSksIGZhZGUoaW4pKTtcbn1cblxuLmxpZnQtYW5kLWZhZGUtb3V0IHtcbiAgICBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNsaWRlKG91dCwgdXAsIDJlbSksIGZhZGUob3V0KSk7XG59XG5cbi5saWZ0LWFuZC1mYWRlLWluIHtcbiAgICBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNsaWRlKGluLCByaWdodCwgMmVtKSwgZmFkZShpbikpO1xufVxuXG4uZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gMi4wIHNwYWNpbmcgc2NhbGUgdXRpbGl0aWVzIOKAlCBzZWUgX3NwYWNpbmcuc2NzcyBhbmQgc2l0ZS1jb250ZXh0L2Rlc2lnbi10b2tlbnMubWQuXG4vLyBEZWxpYmVyYXRlbHkgbm8gYnJlYWtwb2ludCB2YXJpYW50cyB5ZXQ6IHRoYXQgd291bGQgbXVsdGlwbHkgdGhpcyBieSB0aGUgbnVtYmVyIG9mXG4vLyBicmVha3BvaW50IGNsYXNzZXMgZm9yIG5vIHByb3ZlbiBuZWVkLiBBZGQgdGhlbSBpZiBhIHJlYWwgY2FzZSB0dXJucyB1cC5cbkBlYWNoICRzdGVwLCAkdmFsdWUgaW4gJHRzbnotc3BhY2Utc2NhbGUge1xuICAgIC50c256LWdhcC0jeyRzdGVwfSB7XG4gICAgICAgIGdhcDogc3BhY2UoJHN0ZXApO1xuICAgIH1cblxuICAgIC50c256LWdhcC14LSN7JHN0ZXB9IHtcbiAgICAgICAgY29sdW1uLWdhcDogc3BhY2UoJHN0ZXApO1xuICAgIH1cblxuICAgIC50c256LWdhcC15LSN7JHN0ZXB9IHtcbiAgICAgICAgcm93LWdhcDogc3BhY2UoJHN0ZXApO1xuICAgIH1cbn1cblxuLy8gQ3JlYXRlIHV0aWx0eSBjbGFzc2VzIGZvciBlYWNoIGJyZWFrcG9pbnQsIGZvciBlYWNoIHZhbHVlLCBmb3IgZWFjaCBwcm9wZXJ0eSBkZWZpbmVkIGluIHRoZSBwcmVmaXggYXJyYXlcbi8vICRzcGFjZS12YWx1ZXM6ICggMCwgMC4yNXJlbSwgMC41cmVtLCAwLjc1cmVtLCAxcmVtLCAycmVtLCAzcmVtLCA0cmVtLCA4cmVtLCApICFkZWZhdWx0O1xuLy8gJHNwYWNlLXByZWZpeGVzOiAoIHA6IHBhZGRpbmcsIHB0OiBwYWRkaW5nLXRvcCwgcGI6IHBhZGRpbmctYm90dG9tLCBtOiBtYXJnaW4sIG10OiBtYXJnaW4tdG9wLCBtYjogbWFyZ2luLWJvdHRvbSwgbXI6IG1hcmdpbi1yaWdodCwgbWw6IG1hcmdpbi1sZWZ0LCApICFkZWZhdWx0O1xuLy8gQGluY2x1ZGUgbWFrZS1zcGFjZSgkc3BhY2UtdmFsdWVzLCAkc3BhY2UtcHJlZml4ZXMsICRicmVha3BvaW50cyk7XG4iLCJodG1sIHtcbiAgICBmb250LXNpemU6IDg3LjUlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB9XG59XG5cbi8qIEZvdW5kYXRpb24gZm9yY2VzIGFjdHVhbCBmb250IHZhbHVlcyAqL1xuQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG5cbiAgICAgICAgICAgICN7JGhlYWRlcn0sXG4gICAgICAgICAgICAuI3skaGVhZGVyfSxcbiAgICAgICAgICAgICUjeyRoZWFkZXJ9IHtcbiAgICAgICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiBtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC13ZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LXRlbXA6IG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXdlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtdGVtcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBGb3VuZGF0aW9uJ3MgJGhlYWRlci1zdHlsZXMgaGFzIG5vIGxldHRlci1zcGFjaW5nIHN1cHBvcnQgKi9cbiAgICAgICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsZXR0ZXItc3BhY2luZykge1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGVyLWRlZnMsIGxldHRlci1zcGFjaW5nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKiBGb3VuZGF0aW9uIGZvcmNlcyByZW0tY2FsYyBvbiBhbGwgaGVhZGluZ3MgbWFyZ2luIGJvdHRvbSB2YWx1ZXMgKi9cbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAyLjAgYm9keSBjb3B5IOKAlCBQYXJhZ3JhcGggLyBQYXJhZ3JhcGggTW9iaWxlIHRva2VucyAqL1xuYm9keSxcbnAge1xuICAgIGxldHRlci1zcGFjaW5nOiAkdHNuei10cmFja2luZy1zbnVnO1xufVxuXG5wIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTsgLyogUGFyYWdyYXBoIE1vYmlsZSAqL1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7IC8qIFBhcmFncmFwaCAqL1xuICAgIH1cbn1cblxuLyogMi4wIG5vbi1oZWFkaW5nIHR5cGUgdG9rZW5zICovXG4udHNuei1kaXNwbGF5IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICBmb250LXdlaWdodDogJHRzbnotd2VpZ2h0LWV4dHJhYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAkdHNuei10cmFja2luZy10aWdodDtcblxuICAgIC8qIE5vIG1vYmlsZSBEaXNwbGF5IHRva2VuIOKAlCBzY2FsZXMgYWxvbmdzaWRlIEgxICovXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuXG4udHNuei1sZWFkIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNudWc7XG59XG5cbi50c256LXNtYWxsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg0NjtcbiAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251Zztcbn1cblxuLnRzbnotdGFnbGluZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctd2lkZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJi0tYm9sZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctd2lkZXI7XG4gICAgfVxufVxuXG4vKiAyLjAgZWxldmF0aW9uICovXG4udHNuei1zaGFkb3ctbWFnYXppbmUge1xuICAgIGJveC1zaGFkb3c6ICR0c256LXNoYWRvdy1tYWdhemluZTtcbn1cblxuLnRzbnotc2hhZG93LWxvZ28ge1xuICAgIGJveC1zaGFkb3c6ICR0c256LXNoYWRvdy1sb2dvO1xufVxuXG4vKiBhZGphY2VudCBIZWFkaW5ncyovXG5oMSArIGgyLFxuaDEgKyBoMyxcbmgyICsgaDMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbmgzICsgaDQsXG5oMyArIGg1LFxuaDIgKyBoNCxcbmgzICsgaDUge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbmxlZ2VuZCB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICBwIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdmctaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxZW07XG59XG5cbi5jYWxsb3V0IHtcbiAgICAmLnZhbGlkYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKGdldC1jb2xvcihhbGVydCkpO1xuICAgIH1cblxuICAgICYuaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoZ2V0LWNvbG9yKGFsZXJ0KSk7XG4gICAgfVxuXG4gICAgJi5nb29kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZShnZXQtY29sb3Ioc3VjY2VzcykpO1xuICAgIH1cblxuICAgICYuYmFkIHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZShnZXQtY29sb3IoYWxlcnQpKTtcbiAgICB9XG59XG4iLCIkdHNuei1idXR0b24tZm9vdGVyLWN0YS1icDogODAwO1xuJHRzbnotYnV0dG9uLXRhYi1idXR0b24tYnA6IDQ2NztcblxuQG1peGluIHRzbnotYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAgICRib3JkZXItY29sb3I6ICRidXR0b24tYm9yZGVyLWNvbG9yLFxuICAgICRob3Zlci1jb2xvcjogJGNvbG9yLFxuICAgICRob3Zlci1ib3JkZXItY29sb3I6ICRjb2xvcixcbiAgICAkYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpLFxuICAgICRhY3RpdmUtYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpLFxuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudFxuKSB7XG4gICAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCAkYnV0dG9uLWJvcmRlciAkYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG9yO1xuXG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0LWdyYXk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxufVxuXG5AbWl4aW4gdHNuei1idXR0b24tc3R5bGUoJHN0eWxlOiAncHJpbWFyeScpIHtcbiAgICBAaW5jbHVkZSBidXR0b24oKTtcbiAgICBAaWYgJHN0eWxlID09ICdyZXZlcnNlZCcge1xuICAgICAgICBAaW5jbHVkZSB0c256LWJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICAgICAgICAgICAkY29sb3I6ICR3aGl0ZSxcbiAgICAgICAgICAgICRob3Zlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcixcbiAgICAgICAgICAgICRob3Zlci1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3IsXG4gICAgICAgICAgICAkYWN0aXZlLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMTAlKSxcbiAgICAgICAgICAgICRhY3RpdmUtYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMTAlKVxuICAgICAgICApO1xuICAgIH0gQGVsc2UgaWYgJHN0eWxlID09ICdzZWNvbmRhcnknIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRsaWdodC1ncmF5LCBkYXJrZW4oJGxpZ2h0LWdyYXksIDUlKSk7XG4gICAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gJ2lucHV0JyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkaW5wdXQtYmFja2dyb3VuZCwgZGFya2VuKCRpbnB1dC1iYWNrZ3JvdW5kLCA1JSkpO1xuICAgIH0gQGVsc2UgaWYgJHN0eWxlID09ICdwcmltYXJ5LW9uLXdoaXRlJyB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlKTtcbiAgICB9IEBlbHNlIGlmICRzdHlsZSA9PSAnY2xlYXInIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1idXR0b24taG9sbG93LXN0eWxlKCk7XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItd2lkdGg6ICRidXR0b24tYm9yZGVyLXdpZHRoO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGlmICRzdHlsZSA9PSBzZWNvbmRhcnkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGxpZ2h0LWdyYXksIDUlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3R5bGUgPT0gY2xlYXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi50c256LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgdHNuei1idXR0b24tc3R5bGU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICsgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1sYXJnZS1pY29uIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tb24td2hpdGUge1xuICAgICAgICBAaW5jbHVkZSB0c256LWJ1dHRvbi1zdHlsZSgncHJpbWFyeS1vbi13aGl0ZScpO1xuICAgIH1cblxuICAgICYtLXJldmVyc2VkIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1idXR0b24tc3R5bGUoJ3JldmVyc2VkJyk7XG4gICAgfVxuXG4gICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1idXR0b24tc3R5bGUoJ3NlY29uZGFyeScpO1xuICAgIH1cblxuICAgICYtLWNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1idXR0b24tc3R5bGUoJ2NsZWFyJyk7XG4gICAgfVxuXG4gICAgJi0taW5wdXQge1xuICAgICAgICBAaW5jbHVkZSB0c256LWJ1dHRvbi1zdHlsZSgnaW5wdXQnKTtcbiAgICB9XG5cbiAgICAmLS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQoKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAmLS1leHBhbmQtZm9yLXNtYWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZCgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXdpdGgtYXJyb3cge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvKCRmdWxsLXNpemU6IGZhbHNlLCAkY29udGVudDogJz4nKTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdGFja2VkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIH1cblxuICAgICYtLXZlcnRpY2FsbHktYWxpZ25lZC10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBY3Rpb24gQnV0dG9uIOKAlCB0aGUgMi4wIHNvbGlkIGJ1dHRvbiwgaW4gdGhyZWUgc3R5bGVzIGFuZCB0d28gc2l6ZXMuXG4vL1xuLy8gRmlnbWEgY29tcG9uZW50czogUHJpbWFyeSAoMjoxMTIpLCBTZWNvbmRhcnkgKDI6MTE1KSwgVGVydGlhcnkgKDU4OjEzNSkgYW5kIHRoZWlyIExhcmdlXG4vLyBzaWJsaW5ncyAoNTg6MTU5IC8gNTg6MTY0IC8gNTg6MTY5KS4gQSBGaWdtYSAqY29tcG9uZW50Kiwgbm90IGJsb2NrIHN0eWxpbmcsIHNvIGl0IGxpdmVzXG4vLyBoZXJlIGFuZCBpcyBpbmNsdWRlZCBieSBhbnkgYmxvY2sgdGhhdCBuZWVkcyBvbmUg4oCUIGRvbid0IHJlc3R5bGUgaXQgcGVyIGJsb2NrLlxuLy9cbi8vIE5PVCB0aGUgc2FtZSB0aGluZyBhcyBgLnRzbnotYnV0dG9uYCBpbiBlbGVtZW50cy9fYnV0dG9uLnNjc3MuIFRoYXQgb25lIGlzIHRoZSBsZWdhY3lcbi8vIEZvdW5kYXRpb24tZGVyaXZlZCBidXR0b24gd2lyZWQgdGhyb3VnaCB0aGUgd2hvbGUgcHJlLTIuMCBzaXRlIChmb3JtcywgbmF2LCBDVEFzKSBhbmQgaXNcbi8vIGxlZnQgYWxvbmUgdW50aWwgdGhvc2UgYXJlYXMgYXJlIHJlc3R5bGVkLiBOZXcgMi4wIG1hcmt1cCB1c2VzIHRoaXMgZWxlbWVudC5cbi8vXG4vLyBCb3VuZCBGaWdtYSB2YXJpYWJsZXM6IEJyYW5kIEJsdWUsIEJyYW5kIFllbGxvdywgR3JheSwgV2hpdGUsIHNwYWNlLzgsIHNwYWNlLzEwLFxuLy8gc3BhY2UvMjAg4oCUIGFsbCBtYXBwZWQgdG8gdG9rZW5zLiBSYWRpdXMgKDEwKSBhbmQgdGhlIGhvdmVyIGZpbGwgYXJlIHVuYm91bmQgaW4gRmlnbWEgYnV0XG4vLyBzaGFyZWQgYnkgZXZlcnkgdmFyaWFudCwgc28gdGhleSBhcmUgZ2xvYmFscyBpbiBfc2V0dGluZ3MvX2NvbG9ycyByYXRoZXIgdGhhbiBsb2NhbHNcbi8vIGhlcmUuIFRoZSB0aHJlZSB2YWx1ZXMgYmVsb3cgYXJlIGdlbnVpbmVseSBjb21wb25lbnQtbG9jYWwuXG5cbi8vIFVuYm91bmQgaW4gRmlnbWEsIGNvbXBvbmVudC1sb2NhbDogdGhlIHR3byBsYWJlbCBzaXplcyBhbmQgdGhlIExhcmdlIHZlcnRpY2FsIHBhZGRpbmcuXG4vLyAxMyBpcyBkZWxpYmVyYXRlbHkgb2ZmIHRoZSBzcGFjaW5nIHNjYWxlIOKAlCBpdCBpcyB3aGF0IG1ha2VzIHRoZSBMYXJnZSBidXR0b24gNTBweCB0YWxsXG4vLyBhZ2FpbnN0IGl0cyAyNHB4IGxpbmUtaGVpZ2h0ICgyNCArIDEzICsgMTMpLiBUaGUgcmVndWxhciBzaXplIGlzIDQwcHggKDI0ICsgOCArIDgpLlxuJHRzbnotYWN0aW9uLWJ1dHRvbi1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0c256LWFjdGlvbi1idXR0b24tZm9udC1zaXplLWxhcmdlOiByZW0tY2FsYygxNCk7XG4kdHNuei1hY3Rpb24tYnV0dG9uLXBhZGRpbmcteS1sYXJnZTogcmVtLWNhbGMoMTMpO1xuXG4udHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vIEZpZ21hOiBnYXAgdmFyKC0tc3BhY2UvMTApIOKAlCB0aGUgc2xvdCBiZXR3ZWVuIGFuIGljb24gYW5kIHRoZSBsYWJlbC5cbiAgICBnYXA6IHNwYWNlKDEwKTtcbiAgICBwYWRkaW5nOiBzcGFjZSg4KSBzcGFjZSgyMCk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0c256LXJhZGl1cztcbiAgICBmb250LXNpemU6ICR0c256LWFjdGlvbi1idXR0b24tZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNsaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmcsXG4gICAgICAgIGNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgLy8gRXZlcnkgdmFyaWFudCByZXNvbHZlcyB0byB0aGUgc2FtZSBob3ZlcjogQnJhbmQgQmx1ZSB1bmRlciA0MCUgYmxhY2ssIHdoaXRlIGxhYmVsLlxuICAgIC8vIExpc3RlZCBmb3IgdGhlIGVsZW1lbnQgYXMgaXRzIG93biBjb250cm9sIGFuZCBmb3IgdGhlIGNhc2Ugd2hlcmUgaXQgc2l0cyBpbnNpZGUgYVxuICAgIC8vIGxhcmdlciBhbmNob3IsIHNvIHRoZSBzdGF0ZSBmaXJlcyBmcm9tIGVpdGhlci5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgYTpob3ZlciAmLFxuICAgIGE6Zm9jdXMgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0c256LWJyYW5kLWJsdWUtaG92ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBQcmltYXJ5IOKAlCB5ZWxsb3cgZmlsbCwgYmx1ZSBsYWJlbC5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC8vIFNlY29uZGFyeSDigJQgYmx1ZSBmaWxsLCB3aGl0ZSBsYWJlbC5cbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAvLyBUZXJ0aWFyeSDigJQgZ3JleSBmaWxsLCBibHVlIGxhYmVsLlxuICAgICYtLXRlcnRpYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRzbnotZ3JheTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC8vIExhcmdlLiBTYW1lIHRocmVlIHN0eWxlcywgYmlnZ2VyIGxhYmVsIGFuZCB0YWxsZXIgYm94LlxuICAgICYtLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogJHRzbnotYWN0aW9uLWJ1dHRvbi1wYWRkaW5nLXktbGFyZ2Ugc3BhY2UoMjApO1xuICAgICAgICBmb250LXNpemU6ICR0c256LWFjdGlvbi1idXR0b24tZm9udC1zaXplLWxhcmdlO1xuICAgIH1cblxuICAgIC8vIEZpbGxzIGl0cyBjb250YWluZXIuIFRoZSBMYXJnZSBtb2JpbGUgdmFyaWFudCAoMTMwMToyMjQ0KSBpcyBhIGZ1bGwtYmxlZWQgMzQyIG9uIGFcbiAgICAvLyAzOTAgYXJ0Ym9hcmQ7IGJsb2NrcyBnZXQgdGhhdCBieSBzdHJldGNoaW5nIHRoZSBidXR0b24gcmF0aGVyIHRoYW4gYnkgc3dhcHBpbmcgaW4gYVxuICAgIC8vIGRpZmZlcmVudCBjbGFzcy5cbiAgICAmLS1leHBhbmRlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1ncmF5O1xuICAgICAgICBjb2xvcjogJHRzbnotbWVkLWdyYXk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgIC8vIEljb24gc2xvdC4gVGhlIFN5bWJvbCBpbmNsdWRlIHJlbmRlcnMgYSBiYXJlIC50c256LXN5bWJvbCAoZGlzcGxheTpibG9jaywgd2lkdGg6MTAwJSksXG4gICAgLy8gd2hpY2ggd291bGQgb3RoZXJ3aXNlIHN0cmV0Y2ggdG8gZmlsbCB0aGUgYnV0dG9uLiBDb25zdHJhaW4gaXQgdG8gdGhlIGxhYmVsIGhlaWdodCBzb1xuICAgIC8vIGl0IHNpdHMgaW5saW5lIGluIHRoZSBnYXAsIGJlZm9yZSBvciBhZnRlciB0aGUgdGV4dC5cbiAgICAudHNuei1zeW1ib2wge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgfVxufVxuIiwiLy8gTGluayBCdXR0b24g4oCUIHRoZSBcIkxFQVJOIE1PUkVcIiBhZmZvcmRhbmNlIHdpdGggYSB5ZWxsb3cgcnVsZSB1bmRlciBpdC5cbi8vXG4vLyBBIEZpZ21hIGNvbXBvbmVudCAobm9kZSAyMDU6MjEwMSAvIDIwNToyMTAzKSwgbm90IGNhcmQtc3BlY2lmaWMgc3R5bGluZywgc28gaXQgbGl2ZXNcbi8vIGhlcmUgYXMgYW4gZWxlbWVudCBhbmQgZ2V0cyByZXVzZWQgYnkgYW55IGJsb2NrIHRoYXQgbmVlZHMgaXQuXG4vL1xuLy8gQm91bmQgRmlnbWEgdmFyaWFibGVzOiBCcmFuZCBCbHVlLCBCcmFuZCBZZWxsb3csIHNwYWNlLzQg4oCUIGFsbCBtYXBwZWQgdG8gb3VyIHRva2Vuc1xuLy8gYmVsb3cuIFRoZSBmb250IHNpemUgYW5kIHJ1bGUgaGVpZ2h0IGFyZSBOT1QgYm91bmQgdmFyaWFibGVzIGluIEZpZ21hOyB0aGV5J3JlXG4vLyBjb21wb25lbnQtbG9jYWwgdmFsdWVzLCBzbyB0aGV5J3JlIG5hbWVkIGhlcmUgcmF0aGVyIHRoYW4gaW5saW5lZCBhdCBlYWNoIGNhbGwgc2l0ZS5cbi8vIFNlZSBzaXRlLWNvbnRleHQvZGVzaWduLXRva2Vucy5tZCDihpIgTGluayBCdXR0b24uXG5cbiR0c256LWxpbmstYnV0dG9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHRzbnotbGluay1idXR0b24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiR0c256LWxpbmstYnV0dG9uLXJ1bGUtaGVpZ2h0OiA1cHg7XG5cbi50c256LWxpbmstYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC8vIEZpZ21hOiBnYXAgdmFyKC0tc3BhY2UvNClcbiAgICBnYXA6IHNwYWNlKDQpO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6ICR0c256LWxpbmstYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogJHRzbnotbGluay1idXR0b24tbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXdpZGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmX19ydWxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJHRzbnotbGluay1idXR0b24tcnVsZS1oZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG4gICAgfVxuXG4gICAgLy8gSG92ZXI6IHRleHQgYW5kIHJ1bGUgYm90aCBnbyBCcmFuZCBCbHVlLiBMaXN0ZWQgZm9yIHRoZSBlbGVtZW50IGFzIGl0cyBvd24gYW5jaG9yXG4gICAgLy8gYW5kIGZvciB0aGUgY2FzZSB3aGVyZSBpdCBzaXRzIGluc2lkZSBhIGxhcmdlciBvbmUgKGEgd2hvbGUgY2FyZCwgc2F5KSwgc28gdGhlXG4gICAgLy8gc3RhdGUgZmlyZXMgZnJvbSBlaXRoZXIuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgIGE6aG92ZXIgJixcbiAgICBhOmZvY3VzICYge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAudHNuei1saW5rLWJ1dHRvbl9fcnVsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50c256LXN5bWJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB1c2Uge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1pY29uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAmLS1pY29uLTJlbSB7XG4gICAgICAgIG1heC13aWR0aDogMmVtO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyZW07XG4gICAgfVxuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbiIsIi8vIDIuMDogc3RhdGljIGJvbGQgbGFiZWwgYWJvdmUgYSBmaWxsZWQgYm94IChGb3VuZGF0aW9uICRpbnB1dC0qIHByb3ZpZGVzIHRoZSBib3gsIGJvcmRlciBhbmRcbi8vICR0c256LXJhZGl1cykuIE5vIGZsb2F0aW5nLWxhYmVsIHRyYW5zZm9ybS4gRXJyb3JzIHVzZSBCcmFuZCBSZWQgKCNFRDFDMjQpLlxuLnRzbnotaW5wdXQge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDEwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGNvbG9yOiAkdHNuei1ib2R5O1xuXG4gICAgICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtcmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFkZC1rZXlib2FyZC1mb2N1cy1yaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0c256LWJvZHk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdHNuei1icmFuZC1yZWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICAvLyBFeHBvc2UgYSBob29rIGZvciBKYXZhU2NyaXB0IHdoZW4gYXV0b2ZpbGwgaXMgc2hvd25cbiAgICAgICAgICAgIC8vIEphdmFTY3JpcHQgY2FuIGNhcHR1cmUgJ2FuaW1hdGlvbnN0YXJ0JyBldmVudHNcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBvbkF1dG9GaWxsU3RhcnQ7XG5cbiAgICAgICAgICAgIC8vIE1ha2UgdGhlIGJhY2tncm91bmQgY29sb3IgYmVjb21lIHllbGxvdyByZWFsbHkgc2xvd2x5XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDAwcyBlYXNlLWluLW91dCAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgICAgICAgICAvLyBFeHBvc2UgYSBob29rIGZvciBKUyBvbkF1dG9GaWxsQ2FuY2VsXG4gICAgICAgICAgICAvLyBKYXZhU2NyaXB0IGNhbiBjYXB0dXJlICdhbmltYXRpb25zdGFydCcgZXZlbnRzXG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogb25BdXRvRmlsbENhbmNlbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIF9fb3B0aW9uYWwtdGV4dCBpbmhlcml0cyB0aGUgbGFiZWwgKGJvbGQsICR0c256LWJvZHkpIOKAlCBubyBvd24gc3R5bGluZyBuZWVkZWQuXG5cbiAgICAmX19oZWxwLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgxMCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICR0c256LWJvZHk7XG4gICAgfVxuXG4gICAgJi0tYnVpbGQtbG9jYXRpb24ge1xuICAgICAgICAudHNuei1mb3JtLS1tYXAtYWN0aXZlICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG9uQXV0b0ZpbGxTdGFydCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgb25BdXRvRmlsbENhbmNlbCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gMi4wOiBzZWxlY3QgbWF0Y2hlcyB0aGUgMi4wIHRleHQgaW5wdXQg4oCUIGZpbGxlZCBib3gsIHN1YnRsZSBib3JkZXIgKyAxMHB4IHJhZGl1cyAoZnJvbVxuLy8gRm91bmRhdGlvbiAkc2VsZWN0LWJhY2tncm91bmQgLyAkaW5wdXQtYm9yZGVyIC8gJHNlbGVjdC1yYWRpdXMpIHdpdGggYSBzdGF0aWMgYm9sZCBsYWJlbCBhYm92ZS5cbi50c256LXNlbGVjdCB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgLy8gVGhlIGNvbnRhY3QgZm9ybSdzIHNlY29uZCAoY2hpbGQtaW50ZXJlc3QpIGRyb3Bkb3duIGlzIHRvZ2dsZWQgYnkgdHMuaW50ZXJlc3RTZWxlY3RcbiAgICAvLyB2aWEgdGhlIFtoaWRkZW5dIGF0dHJpYnV0ZTsgbWFrZSBzdXJlIG5vdGhpbmcgb3ZlcnJpZGVzIHRoZSBVQSBkZWZhdWx0LlxuICAgICZbaGlkZGVuXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIC8vIDIuMCBjaGV2cm9uIChGaWdtYSkg4oCUIHJlcGxhY2VzIEZvdW5kYXRpb24ncyBkZWZhdWx0IHRyaWFuZ2xlLlxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE0JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxNCA4JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTAuNzI5NDkyIDAuNzI5MTg3TDYuOTc5NDkgNi45NzkxOUwxMy4yMjk1IDAuNzI5MTg3JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNDU4MzMnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuXG4gICAgICAgICYuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0c256LWJyYW5kLXJlZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtcmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMTApO1xuICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgJi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC1yZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbnZpc2libGUtbGFiZWwge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbi1sYWJlbCB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWJsdWUtYm9yZGVyIHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uby1tYXJnaW4ge1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gMi4wOiBzdGF0aWMgYm9sZCBsYWJlbCBhYm92ZSBhIGZpbGxlZCBib3ggKEZvdW5kYXRpb24gJGlucHV0LSogc3VwcGxpZXMgdGhlIGJveCkuIE5vXG4vLyBmbG9hdGluZy1sYWJlbCB0cmFuc2Zvcm0uIEVycm9ycyB1c2UgQnJhbmQgUmVkICgjRUQxQzI0KSB2aWEgdGhlIEZvdW5kYXRpb24gYWJpZGUgdmFycy5cbi50c256LXRleHRhcmVhIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcblxuICAgICAgICAmLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHRhcmVhIHtcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0c256LWJvZHk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdHNuei1icmFuZC1yZWQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIF9fb3B0aW9uYWwtdGV4dCBpbmhlcml0cyB0aGUgbGFiZWwgKGJvbGQsICR0c256LWJvZHkpIOKAlCBubyBvd24gc3R5bGluZyBuZWVkZWQuXG5cbiAgICAmX19oZWxwLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgxMCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICR0c256LWJvZHk7XG4gICAgfVxufVxuIiwiLnRzbnotYnV0dG9uLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAoJy50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uJywgMC4zNzVyZW0pO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotYnV0dG9uLXN0eWxlKGlucHV0KTtcblxuICAgICAgICA6Zm9jdXMgKyAmI3smfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhZGQta2V5Ym9hcmQtZm9jdXMtcmluZztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbGlnaHRlc3QtZ3JheSwgMTAlKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIDpjaGVja2VkICsgJixcbiAgICAgICAgOmNoZWNrZWQ6Zm9jdXMgKyAmIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1wc2V1ZG8tbmVzdGluZ1xuICAgICAgICAgICAgQGluY2x1ZGUgdHNuei1idXR0b24taG9sbG93LXN0eWxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICA6ZGlzYWJsZWQgKyAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGFsZXJ0LWNvbG9yLCAwLjkpO1xuICAgICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbmFsLXRleHQsXG4gICAgJl9faGVscC10ZXh0IHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIH1cblxuICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBzdHJldGNoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXRpZ2h0IHtcbiAgICAgICAgLnRzbnotYnV0dG9uLWdyb3VwX193cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cCgnLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24nLCAxcHgpO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTI1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTI1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1leHBhbmQge1xuICAgICAgICAudHNuei1idXR0b24tZ3JvdXBfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZCgnLnRzbnotYnV0dG9uLWdyb3VwX19idXR0b24nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbiB7XG4gICAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICAgIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi50c256LWNoZWNrYm94LWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIHN0cmV0Y2gpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTAwJSwgJGd1dHRlcnM6IDApO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAyZW0sICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICBbdHlwZT0nY2hlY2tib3gnXSArICYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkdHNuei1yYWRpdXMgKiAwLjQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgdG9wOiAwLjM3NWVtO1xuICAgICAgICAgICAgbGVmdDogMC4yZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMC44NzVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC4zNzVlbTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjEyNWVtIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwLjEyNWVtIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwLjFzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICA6Zm9jdXMgKyAmIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhZGQta2V5Ym9hcmQtZm9jdXMtcmluZztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGxpZ2h0ZXN0LWdyYXksIDEwJSk7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIDpjaGVja2VkICsgJiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1hY3RpdmUgMC43cyBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSkgZm9yd2FyZHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHRpY2stYWN0aXZlIDAuNXMgY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpIDAuMXMgMSBmb3J3YXJkcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tMy1jb2wge1xuICAgICAgICAudHNuei1jaGVja2JveC1ncm91cF9fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIHN0cmV0Y2gpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY2hlY2tib3gtZ3JvdXBfX2xhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCAkZ3V0dGVyczogMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAyZW0sICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAyZW0sICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRpY2stYWN0aXZlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtYWN0aXZlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgfVxuXG4gICAgMTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGxpZ2h0LWdyYXksIDEwJSk7XG4gICAgfVxuXG4gICAgMTIlIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG59XG4iLCIudHNuei1sb2FkaW5nIHtcbiAgICB3aWR0aDogNC4zNzVlbTtcbiAgICBoZWlnaHQ6IDIuNWVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwLjEyNWVtO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwLjI1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHN0cmV0Y2hkZWxheTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJl9fcmVjdDIge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0xLjFzO1xuICAgIH1cblxuICAgICZfX3JlY3QzIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7XG4gICAgfVxuXG4gICAgJl9fcmVjdDQge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0wLjlzO1xuICAgIH1cblxuICAgICZfX3JlY3Q1IHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC44cztcbiAgICB9XG5cbiAgICAmLS13aGl0ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN0cmV0Y2hkZWxheSB7XG4gICAgMCUsXG4gICAgNDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjQpO1xuICAgIH1cblxuICAgIDIwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgIH1cbn1cbiIsIi50c256LWJsb2NrcXVvdGUge1xuICAgID4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAmX19jaXRlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgJl9fY3JlZGl0IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSwgJGd1dHRlci1wb3NpdGlvbjogdG9wKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gc2VlOiBodHRwczovL2ZvdW5kYXRpb24uenVyYi5jb20vc2l0ZXMvZG9jcy94eS1ncmlkLmh0bWwjc2Fzcy1yZWZlcmVuY2VcbkBtaXhpbiB0c256LWdyaWQoJGl0ZW1zOiBmYWxzZSkge1xuICAgICRjbGFzczogI3tzdHItcmVwbGFjZSgjeyZ9LCAnLicsICcnKX07XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSAgeHktZ3JpZC1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgfVxuXG4gICAgQGF0LXJvb3QgJWl0ZW0tZm9yLSN7JGNsYXNzfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDEsICRicmVha3BvaW50OiBsYXJnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGl0ZW1zIHtcbiAgICAgICAgQGVhY2ggJGN1cnJlbnQtaXRlbSBpbiAkaXRlbXMge1xuICAgICAgICAgICAgJl9fI3skY3VycmVudC1pdGVtfSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlaXRlbS1mb3ItI3skY2xhc3N9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udHNuei1ncmlkIHtcbiAgICBAaW5jbHVkZSB0c256LWdyaWQoaXRlbSk7XG5cbiAgICAmX19oZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSk7XG4gICAgfVxuXG4gICAgJl9fdG9nZ2xlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEpO1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTByZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdIaWRlIC0nO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtY29udGVudF0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtbWVkLWNvbnRlbnRdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGF0YS1scmctY29udGVudF0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6ICgycmVtIC0gbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpIC8gMikgMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAudHNuei1ibG9ja19fc2lkZWJhciAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vLWNvbnRhaW5lciB7XG4gICAgICAgIC50c256LWdyaWRfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotZ3JpZF9faXRlbSxcbiAgICAgICAgLnRzbnotZ3JpZF9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDEsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLTMtdXAge1xuICAgICAgICAudHNuei1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDIsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDMsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS12ZXJ0aWNhbC1ndXR0ZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS1tYXJnaW4tdG9wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAmLS12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICYtLWd1dHRlcnMtYm90dG9tIHtcbiAgICAgICAgLnRzbnotZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkqMiwgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSoyLCAkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdmVydGljYWwtZ3V0dGVycyxcbiAgICAmLS1ndXR0ZXJzLXRvcCB7XG4gICAgICAgIC50c256LWdyaWRfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3ApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXBvc2l0aW9uOiB0b3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGVmdC1hbGlnbmVkLXRpdGxlIHtcbiAgICAgICAgLnRzbnotZ3JpZF9faGVhZGluZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZ3JleS1ib3JkZXItYm90dG9tIHtcbiAgICAgICAgLnRzbnotZ3JpZF9fdG9nZ2xlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkbGlnaHQtZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXRydW5jYXRlZC1ncmlkLWl0ZW1zIHtcbiAgICAgICAgLnRzbnotZ3JpZF9faXRlbSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuKzMpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQobis0KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWdyaWRfX2NvbnRlbnQge1xuICAgICAgICAgICAgfiAudHNuei1ncmlkX19pdGVtIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWdyaWRfX3RvZ2dsZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNvbnRlbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbWVkLWNvbnRlbnQpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxyZy1jb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIE5vdGVzXG4vLyA9PT09PT09PT1cbi8vIERvY3M6IGh0dHBzOi8vZm91bmRhdGlvbi56dXJiLmNvbS9zaXRlcy9kb2NzL29mZi1jYW52YXMuaHRtbFxuLy8gRm91bmRhdGlvbiBzb3VyY2UgIC90aGVtZXMvYmFzZS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2Nzc1xuXG4udHNuei1vZmZjYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcblxuICAgICZfX3BhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG4gICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgpO1xuICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKCRwb3NpdGlvbjogcmlnaHQsICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8gU2l0ZSBoZWFkZXIg4oCUIDIuMCByZWZyZXNoLlxuLy9cbi8vIEZpZ21hOiBkZXNrdG9wIEJhbm5lciAoOTcwOjE0NTMpIGFuZCBtb2JpbGUgQmFubmVyICgxODkxOjI0NjIpLCBcIlRvdGFsc3BhbiBSZWZyZXNoXCIuXG4vLyBUaGUgdG9wIGJhbm5lciBpcyBhIHdoaXRlIGJhbmQ6IGxvZ28gbGVmdCwgYW5kIGEgcmlnaHQtaGFuZCBhY3Rpb24gY2x1c3RlciBvZiBTZWFyY2gsXG4vLyBDYWxsLXVzIGFuZCBhIHNpbmdsZSBHZXQtYS1RdW90ZSBidXR0b24uIEJlbG93IGl0IHNpdHMgdGhlIGJsdWUgcHJpbWFyeS1uYXYgYmFuZFxuLy8gKGRlc2t0b3Agb25seSkg4oCUIHRoYXQgbmF2aWdhdGlvbiBpcyBhIHNlcGFyYXRlLCBub3QteWV0LXJlZnJlc2hlZCBhcmVhLCBzbyBpdHMgcnVsZXMgYXJlXG4vLyBsZWZ0IHVudG91Y2hlZCBoZXJlLlxuLy9cbi8vIFdpZHRocyBjb21lIGZyb20gdGhlIDIuMCBjb250YWluZXIgKGB4eS1ncmlkLWNvbnRhaW5lcmAg4oaSICRnbG9iYWwtd2lkdGggMTQ0MCArIDY0IHBhZ2Vcbi8vIGd1dHRlcik7IG5vdGhpbmcgaXMgaGFyZC1jb2RlZCB0aGF0IGEgdG9rZW4gYWxyZWFkeSBjb3ZlcnMuIFRoZSBsb2dvIGJveCBzaXplcyBhbmQgdGhlXG4vLyAxcHggaGFpcmxpbmUgYXJlIHRoZSBvbmx5IGNvbXBvbmVudC1sb2NhbCBsaXRlcmFscyDigJQgdGhlIGxvZ28gZGltZW5zaW9ucyBhcmUgdGhlIGFzc2V0J3Ncbi8vIGludHJpbnNpYyBib3gsIGFuZCBib3JkZXItd2lkdGggaGFzIG5vIHRva2VuIHlldCAoc2VlIGRlc2lnbi10b2tlbnMubWQg4oaSIE5vdCB5ZXRcbi8vIHRva2VuaXNlZCksIG1hdGNoaW5nIHRoZSBjYXJkLWdyaWQgdGlsZSBwcmVjZWRlbnQuXG5cbi50c256LWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogc3BhY2UoMTYpO1xuICAgICAgICAvLyBCYW5kIGhlaWdodCBpcyBkcml2ZW4gYnkgdGhlIGxvZ28gcGx1cyB2ZXJ0aWNhbCBwYWRkaW5nIOKAlCBtb2JpbGUgY29tcCBwYWRzIDEyLFxuICAgICAgICAvLyBkZXNrdG9wIHNldHRsZXMgYXQgMTYgKGxvZ28gOTEgKyAyw5cxNiDiiYggdGhlIGNvbXAncyAxMjUgYmFuZCkuXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSgxMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjZSgxMik7XG4gICAgICAgIC8vIE1vYmlsZSBjb21wIGNhcnJpZXMgYSBzdWJ0bGUgaGFpcmxpbmUgdW5kZXIgdGhlIGJhbmQ7IGRlc2t0b3AgaGFuZHMgdGhhdCBqb2IgdG9cbiAgICAgICAgLy8gdGhlIGJsdWUgbmF2IGJhbmQgYmVsb3csIHNvIGl0IGRyb3BzIGF3YXkgYXQgbGFyZ2UuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdHNuei1ib3JkZXItc3VidGxlOyAvLyAxcHg6IGJvcmRlci13aWR0aCBub3QgdG9rZW5pc2VkIHlldFxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSgxNik7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMTYpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmX19sb2dvLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX19sb2dvIHN2ZyB7XG4gICAgICAgIC8vIEludHJpbnNpYyBsb2dvIGJveCBmcm9tIHRoZSBjb21wcyAobW9iaWxlIDEwNcOXNDQsIGRlc2t0b3AgMjE3w5c5MSkuIE5vdCB0b2tlbnMg4oCUXG4gICAgICAgIC8vIHRoaXMgaXMgdGhlIGFzc2V0J3Mgb3duIGFzcGVjdCByYXRpby5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMDUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgYm94LXNoYWRvdzogJHRzbnotc2hhZG93LWxvZ287XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIxNyk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDkxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBAZXh0ZW5kICVoaWRlLWZvci1wcmludDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiBzcGFjZSgxNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgzMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWFyY2ggYW5kIENhbGwtdXMgc2hhcmUgb25lIGFmZm9yZGFuY2U6IGEgMi4wIGxpbmUgaWNvbiBwbHVzIGFuIG9wdGlvbmFsIHRhZ2xpbmVcbiAgICAvLyBsYWJlbCB0aGF0IG9ubHkgYXBwZWFycyBmcm9tIGxhcmdlIHVwIChtb2JpbGUgaXMgaWNvbi1vbmx5LCBwZXIgdGhlIGNvbXApLiBTaXplc1xuICAgIC8vIG1hdGNoIHRoZSBGaWdtYSBhc3NldHMgKHNlYXJjaCAyMCwgcGhvbmUgMjQpLlxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHNwYWNlKDQpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHNuei1kdXJhdGlvbi1mYXN0ICR0c256LWVhc2luZztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC1ibHVlLWhvdmVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotc3ltYm9sIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQteWVsbG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoIC50c256LXN5bWJvbCB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgICZfX3Bob25lIC50c256LXN5bWJvbCB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgIH1cblxuICAgICZfX2FjdGlvbi1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2luZ2xlIENUQSDigJQgZGVza3RvcCBvbmx5LiBUaGUgQWN0aW9uIEJ1dHRvbiBlbGVtZW50IGNhcnJpZXMgaXRzIG93biBzdHlsaW5nLlxuICAgICZfX2N0YSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNb2JpbGUgbWVudSBidXR0b24g4oCUIGhhbWJ1cmdlcnMgYHNsaWRlci1yYCByZXN0eWxlZCB0byB0aGUgMi4wIE1lbnUgaWNvblxuICAgIC8vICgyOMOXMjEsIHBpbGwgYmFycywgYnJhbmQgYmx1ZSkuIEhpZGRlbiBmcm9tIGxhcmdlIHVwOyB0aGUgYmx1ZSBuYXYgYmFuZFxuICAgIC8vIHRha2VzIG92ZXIuIEhvdmVyIG1hdGNoZXMgdGhlIFNlYXJjaCAvIENhbGwtdXMgYWN0aW9ucyAobm8gb3BhY2l0eSBmYWRlKS5cbiAgICAmX19uYXYtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtb3ZlLW1vdXNlLWZvY3VzLXJpbmc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtYmx1ZS1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAgICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tIFByaW1hcnkgbmF2IGJhbmQgKGJsdWUpLiBTZXBhcmF0ZSwgbm90LXlldC1yZWZyZXNoZWQgYXJlYSDigJQgbGVmdCBhcy1pcy4gLS0tXG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygkbWF4LWhlYWRlci13aWR0aCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdi1jb250YWluZXIge1xuICAgICAgICAvLyBTYW1lIHdpZHRoICsgNnJlbSBwYWdlIGd1dHRlciBhcyBgJl9fY29udGFpbmVyYCwgc28gdGhlIG5hdiBsaW5lcyB1cCB3aXRoIHRoZVxuICAgICAgICAvLyBoZWFkZXIgY29udGVudCBhYm92ZSBpdC4gVGhlIGZpcnN0IG5hdiBsaW5rJ3Mgb3duIDFyZW0gcGFkZGluZyBpcyBwdWxsZWQgYmFjayBpblxuICAgICAgICAvLyBfbmF2LnNjc3Mgc28gaXRzIHRleHQgKG5vdCBqdXN0IGl0cyBib3gpIGFsaWducyB3aXRoIHRoZSBsb2dvLlxuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICB9XG59XG4iLCIvLyBGb290ZXIg4oCUIDIuMC4gRmlnbWE6IGRlc2t0b3AgMTE1ODoyNDE1LCBtb2JpbGUgMTk1MDo0MDg5LlxuLy9cbi8vIEEgZmxhdCBkYXJrLWJsdWUgYmFuZCAobmV2ZXIgdGhlIG9sZCBjb25pYyBncmFkaWVudCk6IGEgbGVmdCBhc2lkZSAoQ1RBcywgcGhvbmUsIHNvY2lhbClcbi8vIGJlc2lkZSBmb3VyIG5hdmlnYXRpb24gY29sdW1ucywgdGhlbiBhIHJ1bGUgYW5kIGEgY3JlZGl0IHJvdy4gVGhlIHNvY2lhbCBibG9jayBtb3ZlZCBoZXJlXG4vLyBmcm9tIHRoZSBOZXdzbGV0dGVyIGNvbXBvbmVudCBpbiAyLjAuXG4vL1xuLy8gQ29udGFpbmVyIGluc2V0IOKAlCBjb250ZW50IHNpdHMgYXQgdGhlIGluc2V0IHdpZHRoIChwYWdlIGd1dHRlciArIHNwYWNlKDMyKSkgb24gYm90aCBlZGdlcyxcbi8vIHZpYSAudHNuei1jb250YWluZXItLWluc2V0IGluIHRoZSB0ZW1wbGF0ZS4gUGFnZSBndXR0ZXIgaXRzZWxmIGlzIG5ldmVyIHJlc3RhdGVkOyBpdCBjb21lc1xuLy8gZnJvbSB4eS1ncmlkLWNvbnRhaW5lciBsaWtlIGV2ZXJ5IG90aGVyIGJsb2NrLlxuXG4vLyBDb21wb25lbnQtbG9jYWwsIHVuYm91bmQgaW4gRmlnbWEg4oCUIHJlYWQgb2ZmIHRoZSBjb21wcyBhbmQgbmFtZWQgaGVyZSByYXRoZXIgdGhhbiBpbmxpbmVkLlxuJHRzbnotZm9vdGVyLWFzaWRlLXdpZHRoOiByZW0tY2FsYygyOTcpOyAvLyBkZXNrdG9wIGFzaWRlIGNvbHVtbiAobm9kZSA2Nzo0MDMpXG4kdHNuei1mb290ZXItY3RhLXdpZHRoOiByZW0tY2FsYygyMDApOyAgIC8vIGRlc2t0b3AgQ1RBIGJ1dHRvbiB3aWR0aCAobm9kZSA2Nzo0MzIpXG4kdHNuei1mb290ZXItc29jaWFsLXNpemU6IHJlbS1jYWxjKDM5KTsgIC8vIHNvY2lhbCBpY29uIGJveCAobm9kZSA2Nzo0MDYpXG5cbi50c256LWZvb3RlciB7XG4gICAgQGV4dGVuZCAlaGlkZS1mb3ItcHJpbnQ7XG4gICAgcGFkZGluZy10b3A6IHNwYWNlKDQwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMzIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDY0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDQ4KTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvLyBMaW5rcyBkZWZhdWx0IHRvIHdoaXRlIGFuZCBkaW0gb24gaW50ZXJhY3Rpb247IHRoZSBjb2xvdXJlZCBleGNlcHRpb25zICh5ZWxsb3dcbiAgICAvLyBoZWFkaW5ncyBhbmQgcGhvbmUgbnVtYmVyKSBvdmVycmlkZSBiZWxvdyBvbiBoaWdoZXIgc3BlY2lmaWNpdHkuXG4gICAgJl9fbmF2IGEsXG4gICAgJl9fcGhvbmUtbGluayxcbiAgICAmX19zb2NpYWwtaWNvbixcbiAgICAmX19jcmVkaXQgYSxcbiAgICAmX19sZWdhbCBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBUb3A6IGFzaWRlICsgbmF2aWdhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgJHRzbnotZm9vdGVyLWFzaWRlLXdpZHRoO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSg4KTtcbiAgICAgICAgICAgIHdpZHRoOiAkdHNuei1mb290ZXItY3RhLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGhvbmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDgpO1xuICAgIH1cblxuICAgICZfX3Bob25lLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmX19waG9uZS1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctdGlnaHQ7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHNwYWNlKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NvY2lhbC10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkdHNuei1tZWQtZ3JheTtcbiAgICB9XG5cbiAgICAmX19zb2NpYWwtaWNvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHNwYWNlKDEwKTtcbiAgICB9XG5cbiAgICAmX19zb2NpYWwtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogJHRzbnotZm9vdGVyLXNvY2lhbC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICR0c256LWZvb3Rlci1zb2NpYWwtc2l6ZTtcbiAgICAgICAgLy8gVGhlIGNpcmNsZSBpcyBjdXJyZW50Q29sb3Igd2l0aCB0aGUgZ2x5cGgga25vY2tlZCBvdXQsIHNvIGZhZGluZyBvcGFjaXR5IGp1c3QgbGV0c1xuICAgICAgICAvLyB0aGUgYmx1ZSBiYW5kIHNob3cgdGhyb3VnaC4gUmVjb2xvdXIgdGhlIGNpcmNsZSBncmV5IG9uIGhvdmVyIGluc3RlYWQuXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tIE5hdmlnYXRpb24gY29sdW1ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIFRoZSBhc2lkZSBhYm92ZSBpcyBjZW50cmVkIG9uIG1vYmlsZSwgYnV0IHRoZSBuYXZpZ2F0aW9uIGNvbHVtbnMgc3RheSBsZWZ0LWFsaWduZWRcbiAgICAgICAgLy8gdG8gdGhlaXIgb3duIGVkZ2Ugb24gZXZlcnkgYnJlYWtwb2ludCAoRmlnbWEgbW9iaWxlIDEzMDY6MjI2OSkuXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMzIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVHdvIGdyb3VwcyBvbiBtb2JpbGUgKHR3byBsaXN0cyBzdGFja2VkIHBlciBjb2x1bW4pOyBvbiBkZXNrdG9wIHRoZXkgZGlzc29sdmUgc28gdGhlXG4gICAgLy8gZm91ciBjb2x1bW5zIGJlY29tZSBkaXJlY3QgZ3JpZCBjaGlsZHJlbiBvZiB0aGUgZm91ci1jb2x1bW4gdHJhY2suXG4gICAgJl9fbmF2LWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYtY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgxNik7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgIC8vIEZpZ21hIGRlc2t0b3A6IGxpc3QgbGlua3MgYXJlIEdyYXkgKCNlNGU0ZTQpLCBub3Qgd2hpdGUg4oCUIGhlYWRpbmdzIHN0YXkgeWVsbG93LlxuICAgICAgICAgICAgY29sb3I6ICR0c256LWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmF2LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251ZztcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLSBSdWxlICsgY3JlZGl0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICZfX3J1bGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBzcGFjZSgzMikgMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuMik7XG4gICAgfVxuXG4gICAgJl9fY3JlZGl0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiBzcGFjZSg4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3JlZGl0LWNvcHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251ZztcbiAgICAgICAgb3BhY2l0eTogMC44O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sZWdhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251ZztcbiAgICB9XG59XG4iLCIvLyBBIGd1dHRlciBUT1RBTCwgbm90IHRoZSBlbWl0dGVkIHBhZGRpbmcg4oCUIHh5LWd1dHRlcnMgaGFsdmVzIGl0IChzZWUgZGVzaWduLXRva2Vucy5tZCDihpJcbi8vIExheW91dCkuIFNvIGAtLXBhZGRpbmdgIHJlbmRlcnMgMzJweCBwZXIgZWRnZSwgYC0tZG91YmxlLXBhZGRpbmdgIDY0cHgsIGAtLXRyaXBsZWAgOTZweC5cbi8vIFZhbHVlIGlzIHVuY2hhbmdlZCBmcm9tIHRoZSBwcmV2aW91cyBsaXRlcmFsIDRyZW07IHJlbS1jYWxjKDY0KSByZXNvbHZlcyB0byA0cmVtLlxuJHRzbnotYmxvY2stcGFkZGluZzogc3BhY2UoNjQpO1xuJHRzbnotYmxvY2stc2lkZWJhci1icDogMTA0MDtcblxuLnRzbnotYmxvY2sge1xuICAgIEBpbmNsdWRlIHRzbnotZ3JpZCgoJ2NvbnRlbnQnLCAnc2lkZWJhcicpKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiB0b3ApO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHNuei1ibG9jay1wYWRkaW5nIC8gMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQsXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBtaW4td2lkdGg6IDIzcmVtIC0gKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAqIDIpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDc3MCk7XG4gICAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LWJsb2NrLXNpZGViYXItYnApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRicmVha3BvaW50OiBsYXJnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDc3MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MTApIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoNzcwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kYXJrLWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGRhcmstZ3JheSwgNCUpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZGFyay1ncmF5LCA0JSk7XG4gICAgICAgIH1cblxuICAgICAgICBAc3VwcG9ydHMgKGJhY2tncm91bmQtaW1hZ2U6IGNvbmljLWdyYWRpZW50KGZyb20gMTAwZGVnLCBkYXJrZW4oJGRhcmstZ3JheSwgNCUpLCAkZGFyay1ncmF5KSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIGRhcmtlbigkZGFyay1ncmF5LCA0JSksICRkYXJrLWdyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZWZyZXNoZWQgYmxvY2sgc3VyZmFjZTogbGFiZWxsZWQg4oCcRGFyayBHcmV54oCdIGluIHRoZSBDTVMgYW5kIGJvdW5kIHRvIEZpZ21hIFNreS5cbiAgICAvLyBLZXB0IHNlcGFyYXRlIGZyb20gbGVnYWN5IC0tZGFyay1ncmF5LCB3aG9zZSBkYXJrIGdyYWRpZW50IHJlbWFpbnMgaW4gdXNlLlxuICAgICYtLXJlZnJlc2gtZGFyay1ncmF5IHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1iYWNrZ3JvdW5kLWRhcmstZ3JheTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1iYWNrZ3JvdW5kLWRhcmstZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXdoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxpZ2h0ZXN0LWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWxpZ2h0LWJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG90YWxzcGFuLWxpZ2h0LWJsdWU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvdGFsc3Bhbi1saWdodC1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbWluLWhlaWdodC02MHZoIHtcbiAgICAgICAgbWluLWhlaWdodDogNjB2aDtcbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXJzOiAkdHNuei1ibG9jay1wYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS1kb3VibGUtcGFkZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyczogJHRzbnotYmxvY2stcGFkZGluZyoyLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS10cmlwbGUtcGFkZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyczogJHRzbnotYmxvY2stcGFkZGluZyozLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS10cmlwbGUtcGFkZGluZy1ib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlcnM6ICR0c256LWJsb2NrLXBhZGRpbmcqMywgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyczogJHRzbnotYmxvY2stcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wKTtcbiAgICB9XG5cbiAgICAmLS1kb3VibGUtcGFkZGluZy10b3Age1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlcnM6ICR0c256LWJsb2NrLXBhZGRpbmcqMiwgJGd1dHRlci1wb3NpdGlvbjogdG9wKTtcbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyczogJHRzbnotYmxvY2stcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS1kb3VibGUtcGFkZGluZy1ib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlcnM6ICR0c256LWJsb2NrLXBhZGRpbmcqMiwgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tKTtcbiAgICB9XG5cbiAgICAmLS1vdmVyLWhhbmdpbmcgKyAmIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXJzOiAkdHNuei1ibG9jay1wYWRkaW5nICogMiwgJGd1dHRlci1wb3NpdGlvbjogdG9wKTtcbiAgICB9XG5cbiAgICAmLS13aGl0ZS1ib3JkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgIH1cblxuICAgICYtLW9mZnNldCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0zcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHNuei1ibG9ja3MtLWNvbGxhcHNlLWZvci14c21hbGwgJiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgzODAgZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHNuei1ibG9ja3MtLWhhcy1tZW51ICYge1xuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDM4MCBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIFtkYXRhLXRzbnotdGFic10gJiB7XG4gICAgICAgICZbYXJpYS1oaWRkZW49J2ZhbHNlJ10ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBjdXN0b20tNTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjExLCAwLjkyLCAwLjA1LCAwLjk5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRzbnotYmxvY2stbWVudSB7XG4gICAgQGluY2x1ZGUgdHNuei1ncmlkKCgnbWVudScsICdidXR0b24nKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0LWdyYXk7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDoganVzdGlmeSwgJHk6IG1pZGRsZSk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSk7XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoc2hyaW5rLCAkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChzaHJpbmssICRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCksICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdCk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSwgJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSksICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICByaWdodDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpIC8gMjtcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAvIDI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLCAxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGdsb2JhbC1lYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSAvIDI7XG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpIC8gMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSByZW1vdmUtbW91c2UtZm9jdXMtcmluZztcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRzbnotY2FyZC1iYXNlLXNpemU6IDFyZW07XG4kdHNuei1jYXJkLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kdHNuei1jYXJkLXRpdGxlLXNpemU6IHJlbS1jYWxjKDIwKTtcbiR0c256LWNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNDtcbiR0c256LWNhcmQtaG9yaXpvbnRhbC1taW4td2lkdGg6IDU1MDtcbiR0c256LWNhcmQtaW4tYnJlYWtwb2ludDogMzgwO1xuXG5AbWl4aW4gdHNuei1jYXJkLXN0eWxlKFxuICAgICRicmVha3BvaW50OiBsYXJnZSxcbiAgICAkc2hhZG93LXRhcmdldDogZmFsc2UsXG4gICAgJHBhZGRpbmctdGFyZ2V0OiAnY29udGVudCdcbikge1xuICAgICR0aGlzOiAjeyZ9O1xuICAgICR0ZW1wLWJsb2NrbmFtZTogc3RyLXNwbGl0KCR0aGlzLCAnLS0nKTtcbiAgICAkYmxvY2tuYW1lOiBudGgoJHRlbXAtYmxvY2tuYW1lLCAxKTtcblxuICAgIEBpZiBsZW5ndGgoJHRlbXAtYmxvY2tuYW1lKSA+IDEge1xuICAgICAgICAkYmxvY2tuYW1lOiAkdGhpcyArICcgJyArIG50aCgkdGVtcC1ibG9ja25hbWUsIDEpO1xuICAgIH1cblxuICAgIEBhdC1yb290ICN7JGJsb2NrbmFtZSArICdfXycgKyAkcGFkZGluZy10YXJnZXR9IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIEBpZiAkc2hhZG93LXRhcmdldCA9PSBmYWxzZSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRzaGFkb3ctdGFyZ2V0IHtcbiAgICAgICAgQGF0LXJvb3QgI3skYmxvY2tuYW1lICsgJ19fJyArICRzaGFkb3ctdGFyZ2V0fSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiB0c256LWNhcmQtY29sbGFwc2UoXG4gICAgJGJyZWFrcG9pbnQ6ICR0c256LWNhcmQtaW4tYnJlYWtwb2ludCBkb3duLFxuICAgICRjb250YWluZXJzLXRvLXplcm86IGZhbHNlXG5cbikge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLShtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLShtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn07XG5cbi50c256LWNhcmQge1xuICAgIEBpbmNsdWRlIHRzbnotY2FyZC1zdHlsZSgkc2hhZG93LXRhcmdldDogJ3dyYXBwZXInKTtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHNuei1jYXJkLWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZShyZW0tY2FsYygyOCksIDEuMTUsIDIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRzbnotY2FyZC1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUocmVtLWNhbGMoMjQpLCAxLjE3LCAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHNuei1jYXJkLWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkdHNuei1jYXJkLXRpdGxlLXNpemUsICR0c256LWNhcmQtdGl0bGUtbGluZS1oZWlnaHQsIDIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGJsYWNrLCAwLjk1KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbaHJlZl0ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkdHNuei1jYXJkLWJhc2Utc2l6ZSwgJHRzbnotY2FyZC1saW5lLWhlaWdodCwgNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSB0c256LWJ1dHRvbi1zdHlsZShzZWNvbmRhcnkpO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA0ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRlbTtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi0tcHJpbWFyeS1idXR0b24ge1xuICAgICAgICAudHNuei1jYXJkX19saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRzbnotYnV0dG9uLXN0eWxlKHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taG9yaXpvbnRhbCxcbiAgICAmLS12ZXJ0aWNhbC1mb3Itc2lkZWJhciB7XG4gICAgICAgIC50c256LWNhcmRfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHNuei1jYXJkLWhvcml6b250YWwtbWluLXdpZHRoKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDc3MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1jYXJkX19pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LWNhcmQtaG9yaXpvbnRhbC1taW4td2lkdGgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRzbnotY2FyZC1ob3Jpem9udGFsLW1pbi13aWR0aCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXInOyAvLyBPYmplY3QgZml0IHBvbHlmaWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9hRmFya2FzL2xhenlzaXplcy90cmVlL2doLXBhZ2VzL3BsdWdpbnMvb2JqZWN0LWZpdFxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LWNhcmQtaG9yaXpvbnRhbC1taW4td2lkdGgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29sbGFwc2UtZm9yLXhzbWFsbCB7XG4gICAgICAgIC50c256LWNhcmRfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdmVydGljYWwtZm9yLXNpZGViYXIge1xuICAgICAgICAudHNuei1jYXJkX19pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LWJsb2NrLXNpZGViYXItYnApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyAoMzcwLzI1MCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LWJsb2NrLXNpZGViYXItYnApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZmVhdHVyZWQge1xuICAgICAgICAudHNuei1jYXJkX193cmFwcGVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWNhcmRfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXVsdGlsaW5lLXRydW5jYXRlLW9mZigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkdHNuei1jYXJkLWJhc2Utc2l6ZSwgJHRzbnotY2FyZC1saW5lLWhlaWdodCwgNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wcm9tbyB7XG4gICAgICAgIC50c256LWNhcmRfX2JhZGdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkdGVydGlhcnktY29sb3IsICRibGFjaywgODcuNSUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQ2FyZCBncmlkIGJsb2NrIOKAlCBFbGVtZW50Q2FyZEdyaWQgKyBFbGVtZW50R3JpZENhcmQuXG4vLyBGaWdtYTogVG90YWxzcGFuIFJlZnJlc2gsIG5vZGVzIDM2NC0xMjc1IChjb250ZW50KSAvIDc0My0xNDM4IChmcmFtZSkuXG4vL1xuLy8gU3BhY2luZyBjb21lcyBmcm9tIHRoZSB0b2tlbnMgdGhhdCB0aGUgY29tcHMgYXJlIGludGVybmFsbHkgY29uc2lzdGVudCBhYm91dCDigJQgdGhlXG4vLyAzMiBndXR0ZXIsIDE2IGNhcmQgcmh5dGhtLCAyNCBoZWFkaW5nIGdhcCwgNDAgaGVhZGVyIGdhcC4gVGhlIGZyYW1lIGluc2V0cyBpbiB0aGF0IGZpbGVcbi8vIGFyZSB1bnNuYXBwZWQgY2FudmFzIHBvc2l0aW9ucywgbm90IHRva2VuczsgdGhlIHBhZ2UgZ3V0dGVyIGNvbWVzIGZyb20gdGhlIGNvbnRhaW5lci5cbi8vIFNlZSBzaXRlLWNvbnRleHQvZGVzaWduLXRva2Vucy5tZCDihpIgTGF5b3V0LlxuXG4vLyBIZWFkZXIgbWVhc3VyZS4gVGhlIGNvbXAncyBoZWFkZXIgZnJhbWUgaXMgNzAwcHggb24gYSAxMzEyIGNvbnRlbnQgd2lkdGg7IGV4cHJlc3NlZFxuLy8gaGVyZSBhcyB0aGUgb25lIHZhbHVlIHRoaXMgY29tcG9uZW50IG93bnMuXG4kdHNuei1jYXJkLWdyaWQtaGVhZGVyLW1lYXN1cmU6IHJlbS1jYWxjKDcwMCk7XG5cbi50c256LWNhcmQtZ3JpZCB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkdHNuei1jYXJkLWdyaWQtaGVhZGVyLW1lYXN1cmU7XG4gICAgICAgIC8vIE1vYmlsZSBjb21wICgxMzEzLTIyNzApIHNldHMgMTYgaGVyZSwgZGVza3RvcCAoMzY0LTEyNzUpIDQwLlxuICAgICAgICBtYXJnaW46IDAgYXV0byBzcGFjZSgxNik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoNDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2l0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIC8vIEltYWdlcy1vbi1tb2JpbGU6IHNxdWFyZSBjcm9wcyBuZWVkIG1vcmUgYWlyIHRoYW4gdGhlIHRleHQtdGlsZSB0cmVhdG1lbnQuXG4gICAgICAgIC8vIC0taGlkZS1pbWFnZXMtbW9iaWxlIG92ZXJyaWRlcyB0aGlzIGJhY2sgdG8gMTYgYmVsb3cuXG4gICAgICAgIHJvdy1nYXA6IHNwYWNlKDQ4KTtcbiAgICAgICAgY29sdW1uLWdhcDogc3BhY2UoMzIpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgLy8gRm91bmRhdGlvbidzICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyIHVuZGVybGluZXMgZXZlcnkgYW5jaG9yIG9uIGhvdmVyO1xuICAgICAgICAgICAgLy8gdGhlIGNhcmQgaXMgb25lIGJpZyBhbmNob3IsIHNvIHdpdGhvdXQgdGhpcyB0aGUgaGVhZGluZywgZGVzY3JpcHRpb24gYW5kIENUQVxuICAgICAgICAgICAgLy8gYWxsIHVuZGVybGluZSB0b2dldGhlci5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgLnRzbnotY2FyZC1ncmlkX19pbWFnZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAvLyBEZWZhdWx0IFNxdWFyZSAxOjEuIE92ZXJyaWRkZW4gYnkgLS01LTQgd2hlbiB0aGUgQ01TIGFzcGVjdCBkcm9wZG93biBzYXlzIHNvLlxuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDE2KTtcblxuICAgICAgICAvLyBhc3BlY3QtcmF0aW8gaGFzIG5vIElFL29sZGVyLVNhZmFyaSBmYWxsYmFjazsgdGhlIHBhZGRpbmcgdHJpY2sga2VlcHMgdGhlXG4gICAgICAgIC8vIHJhdGlvIGJlZm9yZSB0aGUgaW1hZ2UgbG9hZHMuXG4gICAgICAgIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0c256LWR1cmF0aW9uLWJhc2UgJHRzbnotZWFzaW5nO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvLyBNb2JpbGUgdGlsZSBnYXAgaXMgMTAsIGRlc2t0b3AgMTYg4oCUIGJvdGggYXJlIHNjYWxlIHN0ZXBzLlxuICAgICAgICBnYXA6IHNwYWNlKDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaHl0aG0gaXMgdGhlIGZsZXggZ2FwIGFib3ZlOyBraWxsIHRoZSBpbmhlcml0ZWQgaGVhZGluZy9wYXJhZ3JhcGggbWFyZ2lucyBzbyBpdFxuICAgIC8vIGlzbid0IGRvdWJsZWQgdXAuXG4gICAgJl9fY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBUaGUgQ1RBIGl0c2VsZiBpcyB0aGUgc2hhcmVkIC50c256LWxpbmstYnV0dG9uIGVsZW1lbnQg4oCUIHNlZSBlbGVtZW50cy9fbGluay1idXR0b24uXG4gICAgLy8gT25seSBpdHMgcGxhY2VtZW50IHdpdGhpbiB0aGUgY2FyZCBiZWxvbmdzIGhlcmUuXG4gICAgJl9fY3RhIHtcbiAgICAgICAgLy8gUHVzaGVzIHRoZSBDVEEgdG8gdGhlIGJvdHRvbSBzbyBpdCBzaXRzIG9uIGEgc2hhcmVkIGJhc2VsaW5lIGFjcm9zcyBjYXJkcyBvZlxuICAgICAgICAvLyB1bmVxdWFsIGRlc2NyaXB0aW9uIGxlbmd0aCDigJQgdGhlIGNvbXBzIGxpbmUgYWxsIGZvdXIgdXAuXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gQ29sdW1uIGNvdW50cy4gQmVsb3cgYGxhcmdlYCBldmVyeSB2YXJpYW50IGNvbGxhcHNlcyB0byB0aGUgMS8yLXVwIGJhc2UgYWJvdmUuXG4gICAgJi0tMy11cCB7XG4gICAgICAgIC50c256LWNhcmQtZ3JpZF9faXRlbXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS00LXVwIHtcbiAgICAgICAgLnRzbnotY2FyZC1ncmlkX19pdGVtcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEltYWdlIGFzcGVjdCDigJQgQ01TIFwiSW1hZ2UgYXNwZWN0IHJhdGlvXCIuIC0tMS0xIGlzIHRoZSBiYXNlIHN0eWxlIGFib3ZlIChuby1vcCBjbGFzcykuXG4gICAgJi0tNS00IHtcbiAgICAgICAgLnRzbnotY2FyZC1ncmlkX19tZWRpYSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDUgLyA0O1xuXG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDUgLyA0KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBcIkhpZGUgaW1hZ2VzIG9uIG1vYmlsZVwiIOKAlCBjYXJkcyBiZWNvbWUgYm9yZGVyZWQgd2hpdGUgdGV4dCB0aWxlcyBiZWxvdyBgbWVkaXVtYC5cbiAgICAvLyBGaWdtYSAxMzEzLTIyNzAgLyB0aWxlIDEzMjMtMjMwNTogd2hpdGUgZmlsbCwgMXB4IHJnYmEoMCwwLDAsMC4wOCksIDIwIHBhZGRpbmcuXG4gICAgLy8gSW1hZ2VzIGFuZCB0aGUgdGlsZSB0cmVhdG1lbnQgYm90aCByZXR1cm4gYXQgYG1lZGl1bWAgYW5kIHVwLlxuICAgICYtLWhpZGUtaW1hZ2VzLW1vYmlsZSB7XG4gICAgICAgIC8vIGBzbWFsbCBvbmx5YCA9IGJlbG93IDcwMC4gTk9UIGBtZWRpdW0gZG93bmAsIHdoaWNoIHJ1bnMgdG8gMTAyMyBhbmQgd291bGQgc3RyaXBcbiAgICAgICAgLy8gaW1hZ2VzIG9mZiB0YWJsZXQgdG9vLlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIC50c256LWNhcmQtZ3JpZF9faXRlbXMge1xuICAgICAgICAgICAgICAgIC8vIFRleHQgdGlsZXMgYXJlIGRlbnNlciB0aGFuIGltYWdlIGNhcmRzIOKAlCB0aWdodGVyIHN0YWNrLlxuICAgICAgICAgICAgICAgIGdhcDogc3BhY2UoMTYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHNuei1jYXJkLWdyaWRfX21lZGlhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHNuei1jYXJkLWdyaWRfX2NhcmQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0c256LWJvcmRlci1zdWJ0bGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHNuei1jYXJkLWdyaWRfX2xpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTm8gbGluayBvbiB0aGUgY2FyZCDigJQgcGFkIHRoZSBjYXJkIGl0c2VsZiBpbnN0ZWFkLlxuICAgICAgICAgICAgLnRzbnotY2FyZC1ncmlkX19jYXJkID4gLnRzbnotY2FyZC1ncmlkX19ib2R5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDb250ZW50ICYgSW1hZ2UgYmxvY2sg4oCUIEVsZW1lbnRDb250ZW50SW1hZ2UuXG4vLyBGaWdtYTogVG90YWxzcGFuIFJlZnJlc2gsIG5vZGVzIDM2NC0xMjY1IChkZXNrdG9wKSAvIDEzMTQtMjI3MCAobW9iaWxlKS5cbi8vXG4vLyBUaGUgZGVza3RvcCBjb21wIGlzIGEgYmFyZSB0d28tY29sdW1uIGZyYW1lIHdpdGggbm8gc2VjdGlvbiBhcm91bmQgaXQg4oCUIHRoZSBwYWdlIGd1dHRlclxuLy8gY29tZXMgZnJvbSB0aGUgY29udGFpbmVyIG1peGluIGFuZCB0aGUgdmVydGljYWwgcGFkZGluZyBmcm9tIHRoZSBibG9jaydzIHBhZGRpbmdcbi8vIG1vZGlmaWVyLCBleGFjdGx5IGFzIHRoZSBjYXJkIGdyaWQgZG9lcy4gU2VlIHNpdGUtY29udGV4dC9kZXNpZ24tdG9rZW5zLm1kIOKGkiBMYXlvdXQuXG4vL1xuLy8gVGhlIGNvbXAncyBjb2x1bW5zIG1lYXN1cmUgNTU2IC8gNTggLyA2NTEgb24gYSAxMjY1LXdpZGUgdW5zbmFwcGVkIGZyYW1lLiBUaG9zZSBhcmVcbi8vIGNhbnZhcyBwb3NpdGlvbnMsIG5vdCB0b2tlbnMgKHNhbWUgdHJhcCBhcyB0aGUgY2FyZC1ncmlkIGZyYW1lKSwgc28gdGhlIHNwbGl0IGlzXG4vLyBhdXRob3JlZCBhcyBhbiBldmVuIHR3byBjb2x1bW5zIG9uIHRoZSByZWFsIDEzMTIgY29udGVudCB3aWR0aCB3aXRoIHRoZSAzMiBjZWxsIGd1dHRlcjpcbi8vIDY0MCBlYWNoLCBhbmQgYSA0OjMgaW1hZ2UgYXQgNjQweDQ4MCBhZ2FpbnN0IHRoZSBjb21wJ3MgNjUxeDQ4OC5cblxuLnRzbnotY29udGVudC1pbWFnZSB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgLy8gTW9iaWxlIGNvbXAgc3RhY2tzIGV2ZXJ5dGhpbmcgb24gYSAyMCByaHl0aG07IGRlc2t0b3AgdXNlcyB0aGUgMzIgY2VsbCBndXR0ZXIuXG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIC8vIEJvdGggY29sdW1ucyBzdGFydCBhdCB0aGUgdG9wIGluIHRoZSBjb21wIOKAlCB0aGUgaW1hZ2UgZG9lcyBub3Qgc3RyZXRjaCB0b1xuICAgICAgICAgICAgLy8gbWF0Y2ggYSBsb25nIGJvZHkgY29weSwgbm9yIHRoZSBjb3B5IHRvIG1hdGNoIGEgdGFsbCBpbWFnZS5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoNjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gICAgICAgIC8vIFRoZSBpbWFnZSBpcyBzZWNvbmQgaW4gdGhlIERPTSBzbyB0aGUgaGVhZGluZyBsZWFkcyBmb3Igc2NyZWVuIHJlYWRlcnMgYW5kIGZvclxuICAgICAgICAvLyB0aGUgbm8tQ1NTIGNhc2UuIFN0YWNrZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSB0b3AsIHNvIGl0IGlzIGhvaXN0ZWQgaGVyZSBhbmQgcHV0XG4gICAgICAgIC8vIGJhY2sgYXQgYGxhcmdlYC4gQm90aCBhcnJhbmdlbWVudHMgYXJlIG92ZXJyaWRhYmxlIOKAlCBzZWUgLS1tb2JpbGUtaW1hZ2UtKiBiZWxvd1xuICAgICAgICAvLyBmb3IgdGhlIHN0YWNrZWQgbGF5b3V0IGFuZCAtLWltYWdlLWxlZnQgZm9yIHRoZSBkZXNrdG9wIG9uZS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gTGVhdmluZyB0aGUgZGVmYXVsdCBpbiB0aGUgYmFzZSBydWxlIHJhdGhlciB0aGFuIG9ubHkgaW4gLS1tb2JpbGUtaW1hZ2UtdG9wIG1lYW5zXG4gICAgICAgIC8vIGEgcmVjb3JkIHNhdmVkIGJlZm9yZSB0aGF0IGRyb3Bkb3duIGV4aXN0ZWQgc3RpbGwgc3RhY2tzIGltYWdlLWZpcnN0LlxuICAgICAgICBvcmRlcjogLTE7XG5cbiAgICAgICAgLy8gYXNwZWN0LXJhdGlvIGhhcyBubyBvbGRlci1TYWZhcmkgZmFsbGJhY2s7IHRoZSBwYWRkaW5nIHRyaWNrIGhvbGRzIHRoZSByYXRpb1xuICAgICAgICAvLyBiZWZvcmUgdGhlIGltYWdlIGxvYWRzLlxuICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDQgLyAzKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLy8gRmlnbWEgcGFkcyB0aGUgY29udGVudCBjb2x1bW4gMjQgb2ZmIHRoZSB0b3Agb2YgdGhlIGltYWdlLlxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDI0KTtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmh5dGhtIGlzIHRoZSBmbGV4IGdhcCBhYm92ZTsgZHJvcCB0aGUgaW5oZXJpdGVkIG1hcmdpbnMgc28gaXQgaXNuJ3QgZG91YmxlZC5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy8gRmlnbWE6IGdhcCB2YXIoLS1zcGFjZS8xMikuXG4gICAgICAgIGdhcDogc3BhY2UoMTIpO1xuXG4gICAgICAgIC8vIFRoZSBidXR0b25zIGFyZSB0aGUgZmxleCBpdGVtcyB0aGVtc2VsdmVzIOKAlCB0aGVyZSBpcyBubyB3cmFwcGVyIGVsZW1lbnQuIEFuXG4gICAgICAgIC8vIGVhcmxpZXIgdmVyc2lvbiB3cmFwcGVkIGVhY2ggaW4gYSBkaXYgYW5kIHNpemVkICp0aGF0Kiwgd2hpY2ggc3RyZXRjaGVkIHRoZVxuICAgICAgICAvLyB3cmFwcGVyIHdoaWxlIHRoZSBidXR0b24sIGJlaW5nIGlubGluZS1mbGV4LCBzdGF5ZWQgYXQgaXRzIGNvbnRlbnQgd2lkdGguXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFNpemluZyB0aGVtIGhlcmUgcmF0aGVyIHRoYW4gaW4gZWxlbWVudHMvX2FjdGlvbi1idXR0b24uc2NzcyBpcyBkZWxpYmVyYXRlOlxuICAgICAgICAvLyB0aGlzIGlzIHBsYWNlbWVudCwgd2hpY2ggYmVsb25ncyB0byB0aGUgYmxvY2suIFRoZSBidXR0b24ncyBvd24gYXBwZWFyYW5jZVxuICAgICAgICAvLyBzdGF5cyB3aXRoIHRoZSBlbGVtZW50LlxuICAgICAgICA+IC50c256LWFjdGlvbi1idXR0b24ge1xuICAgICAgICAgICAgLy8gT24gbW9iaWxlIHRoZXkgc2hhcmUgdGhlIHJvdywgc28gdHdvIHNwbGl0IGl0IGV2ZW5seSBhbmQgYSBsb25lIGJ1dHRvblxuICAgICAgICAgICAgLy8gZmlsbHMgdGhlIHdpZHRoIOKAlCB3aGljaCBpcyBleGFjdGx5IHRoZSBMYXJnZSBtb2JpbGUgdmFyaWFudCAoMTMwMToyMjQ0KS5cbiAgICAgICAgICAgIC8vIGZsZXgtYmFzaXMgMCBpcyB3aGF0IGVxdWFsaXNlcyB0aGVtOyBtaW4td2lkdGggMCBsZXRzIGEgbG9uZyBsYWJlbCBzaHJpbmtcbiAgICAgICAgICAgIC8vIHJhdGhlciB0aGFuIG92ZXJmbG93IHRoZSByb3cuXG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgICAgLy8gTmF0dXJhbCB3aWR0aCBmcm9tIGBsYXJnZWAgdXAsIHdoZXJlIHRoZSBibG9jayBpcyB0d28gY29sdW1ucy5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEltYWdlIHBvc2l0aW9uIOKAlCBDTVMgXCJJbWFnZSBwb3NpdGlvblwiLiAtLWltYWdlLXJpZ2h0IGlzIHRoZSBiYXNlIGFib3ZlIChuby1vcCBjbGFzcykuXG4gICAgJi0taW1hZ2UtbGVmdCB7XG4gICAgICAgIC50c256LWNvbnRlbnQtaW1hZ2VfX21lZGlhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdGFja2VkIGltYWdlIHBsYWNlbWVudCDigJQgQ01TIFwiSW1hZ2UgcG9zaXRpb24gKG1vYmlsZSAmIHRhYmxldClcIi5cbiAgICAvL1xuICAgIC8vIFNjb3BlZCB0byBgbWVkaXVtIGRvd25gICgw4oCTMTAyMykgcmF0aGVyIHRoYW4gYHNtYWxsIG9ubHlgLCBiZWNhdXNlIHRoYXQgaXMgdGhlIHJhbmdlXG4gICAgLy8gd2hlcmUgdGhpcyBibG9jayBhY3R1YWxseSBzdGFja3M6IHRoZSB0d28tY29sdW1uIGxheW91dCBzdGFydHMgYXQgYGxhcmdlYC4gQSBwaG9uZS1cbiAgICAvLyBvbmx5IHNjb3BlIHdvdWxkIGxlYXZlIHRhYmxldCBpZ25vcmluZyB0aGUgc2V0dGluZywgc28gYSA5MDBweCBzY3JlZW4gd291bGQgc2hvdyB0aGVcbiAgICAvLyBpbWFnZSBvbiB0b3Agd2hpbGUgYSBwaG9uZSBzaG93ZWQgaXQgYXQgdGhlIGJvdHRvbS5cbiAgICAvL1xuICAgIC8vIC0tbW9iaWxlLWltYWdlLXRvcCBpcyB0aGUgYmFzZSBydWxlIGFib3ZlLCBzbyBpdCBpcyBhIG5vLW9wIGNsYXNzLlxuICAgICYtLW1vYmlsZS1pbWFnZS1ib3R0b20ge1xuICAgICAgICAudHNuei1jb250ZW50LWltYWdlX19tZWRpYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgLy8gQ29udGVudCBpcyBvcmRlciAwOyBhbnl0aGluZyBhYm92ZSB0aGF0IHB1dHMgdGhlIGltYWdlIGFmdGVyIGl0LlxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbW9iaWxlLWltYWdlLWhpZGRlbiB7XG4gICAgICAgIC50c256LWNvbnRlbnQtaW1hZ2VfX21lZGlhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQ29udGVudCBibG9jayDigJQgRWxlbWVudENvbnRlbnRCbG9jay5cbi8vIFNpYmxpbmcgb2YgQ29udGVudCAmIEltYWdlIHdpdGhvdXQgdGhlIGltYWdlIGNvbHVtbi4gU2FtZSBsZWZ0IGluc2V0IGFzIHRoYXRcbi8vIGJsb2NrIChgdHNuei1jb250YWluZXItLWluc2V0LWxlZnRgIOKAlCAxMjgwIHJhdGhlciB0aGFuIDEzMTIpLiBWZXJ0aWNhbCBwYWRkaW5nXG4vLyBjb21lcyBmcm9tIHRoZSBibG9jaydzIHBhZGRpbmcgbW9kaWZpZXIuIEJ1dHRvbiBwbGFjZW1lbnQgbWF0Y2hlcyBDb250ZW50ICYgSW1hZ2UuXG5cbi50c256LWNvbnRlbnQtYmxvY2sge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiBzcGFjZSgxMik7XG5cbiAgICAgICAgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDb250ZW50IEJsb2NrIFNlY29uZGFyeSDigJQgRWxlbWVudENvbnRlbnRCbG9ja1NlY29uZGFyeS5cbi8vIEZpZ21hIFwiVG90YWxzcGFuIFJlZnJlc2hcIjogZGVza3RvcCAxMTY0OjQyMjEgLyBtb2JpbGUgMTk1MDo0MjE0LlxuLy9cbi8vIENlbnRyZWQgaGVhZGluZyArIFdZU0lXWUcgb24gYSBmdWxsLWJsZWVkIFNreSBiYW5kLiBCYWNrZ3JvdW5kIGlzXG4vLyBgdHNuei1ibG9jay0tcmVmcmVzaC1kYXJrLWdyYXlgIChTa3kgKyBicmFuZCBibHVlKSB2aWEgZXh0cmFfYmxvY2tfbW9kaWZpZXJzLlxuLy8gVGhlIGJhbmQgcGFkcyBpdHNlbGYg4oCUIG5vIENNUyBwYWRkaW5nIGRyb3Bkb3duLlxuXG4vLyBVc2VyLXNwZWNpZmllZCBjb250ZW50IG1lYXN1cmUuIEZpZ21hIGJvZHkgaXMgOTIycHggdW5ib3VuZDsgNjByZW0gaXMgdGhlIGNhcC5cbiR0c256LWNvbnRlbnQtYmxvY2stc2Vjb25kYXJ5LW1lYXN1cmU6IDYwcmVtO1xuXG4udHNuei1jb250ZW50LWJsb2NrLXNlY29uZGFyeSB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgICAgIC8vIE1vYmlsZSAxOTUwOjQyMTQg4oCUIHB5IDQwLiBJbmxpbmUgZ3V0dGVyIGNvbWVzIGZyb20gdGhlIGNvbnRhaW5lci5cbiAgICAgICAgcGFkZGluZy1ibG9jazogc3BhY2UoNDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIERlc2t0b3AgYmFuZCBpcyAzOTAgd2l0aCB+NjBweCBwZXIgZWRnZSAob2ZmLXNjYWxlKS4gc3BhY2UoNjQpIGlzIHRoZVxuICAgICAgICAgICAgLy8gbmVhcmVzdCB0b2tlbiDigJQgc2FtZSBvbi1zY2FsZSBkZXZpYXRpb24gYXMgUHJpbWFyeSBDVEEuXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBzcGFjZSg2NCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogJHRzbnotY29udGVudC1ibG9jay1zZWNvbmRhcnktbWVhc3VyZTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAvLyBNb2JpbGUgZ2FwIDEyOyBkZXNrdG9wIHNwYWNlLzMyLlxuICAgICAgICBnYXA6IHNwYWNlKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIENhc2UgU3R1ZHkgRGV0YWlsICgyLjApIOKAlCBzaGFyZWQgbWVhc3VyZSwgdGhlIG5hcnJvdyByZWFkaW5nLWNvbHVtbiBjb250YWluZXIsIHRoZSBib2R5XG4vLyBoZWFkZXIgKGV5ZWJyb3cgKyB0aXRsZSArIHJ1bGUpIGFuZCB0aGUgdmVydGljYWwgcmh5dGhtIGJldHdlZW4gdGhlIGNhc2Utc3R1ZHkgYmxvY2tzLlxuLy8gVGhlIGZvdXIgY2FzZS1zdHVkeS1vbmx5IGJsb2NrcyAoQ29udGVudCAvIFZpZGVvIC8gSW1hZ2UgLyBRdW90ZSkgZWFjaCBwdWxsIGluXG4vLyB0c256LWNhc2Utc3R1ZHktY29udGFpbmVyLiBJbXBvcnRlZCBiZWZvcmUgdGhvc2UgYmxvY2sgcGFydGlhbHMgaW4gYXBwLnNjc3Mgc28gdGhlIG1peGluXG4vLyBpcyBkZWZpbmVkIGZpcnN0LlxuXG4vLyBUaGUgY29udGVudCBjb2x1bW4gd2lkdGggZnJvbSB0aGUgY29tcCAoRmlnbWEgXCJUb3RhbHNwYW4gUmVmcmVzaFwiIDE5NTA6NTY1NyDigJQgdGhlIGJvZHlcbi8vIGNvbHVtbiBpcyA4NTAgb24gdGhlIDE0NDAgYXJ0Ym9hcmQpLiBOb3QgYSBib3VuZCBGaWdtYSB2YXJpYWJsZTsgbmFtZWQgaGVyZSBzbyB0aGUgZm91clxuLy8gYmxvY2tzIGFuZCB0aGUgYm9keSBoZWFkZXIgc2hhcmUgb25lIHNvdXJjZSBvZiB0cnV0aCByYXRoZXIgdGhhbiByZXBlYXRpbmcgdGhlIGxpdGVyYWwuXG4kdHNuei1jYXNlLXN0dWR5LW1lYXN1cmU6IHJlbS1jYWxjKDg1MCk7XG5cbi8vIE5hcnJvdywgY2VudHJlZCByZWFkaW5nIGNvbHVtbi4gRnVsbC13aWR0aCB3aXRoIGEgbGl0dGxlIHNpZGUgcGFkZGluZyBiZWxvdyBgbGFyZ2VgO1xuLy8gY2FwcGVkIGF0IHRoZSBtZWFzdXJlIHdpdGggbm8gcGFkZGluZyBvbiBkZXNrdG9wLCBzbyB0aGUgY29sdW1uIGlzIGV4YWN0bHkgdGhlIGNvbXBcbi8vIHdpZHRoIHRoZXJlLlxuQG1peGluIHRzbnotY2FzZS1zdHVkeS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJHRzbnotY2FzZS1zdHVkeS1tZWFzdXJlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDIwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbi50c256LWNhc2Utc3R1ZHktaGVhZGVyIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWNhc2Utc3R1ZHktY29udGFpbmVyO1xuICAgIH1cblxuICAgIC8vIFllbGxvdywgdXBwZXJjYXNlLCB0cmFja2VkIOKAlCBcIkEgVE9UQUxTUEFOIFNIRUQ6XCIgYWJvdmUgdGhlIHRpdGxlLlxuICAgICZfX2V5ZWJyb3cge1xuICAgICAgICBtYXJnaW46IDAgMCBzcGFjZSg4KTtcbiAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXllbGxvdztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctd2lkZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLy8gTGFyZ2UgYnJhbmQtYmx1ZSBoZWFkaW5nLiBUaGUgPGgxPiBhbHJlYWR5IGNhcnJpZXMgdGhlIEgxIHR5cGUgdG9rZW47IG9ubHkgdGhlIGNvbG91clxuICAgIC8vIGFuZCB0aGUgcnVsZSBzcGFjaW5nIGFyZSBzZXQgaGVyZS5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLWJsdWU7XG4gICAgfVxuXG4gICAgLy8gRnVsbC13aWR0aCB5ZWxsb3cgdW5kZXJsaW5lIGJlbmVhdGggdGhlIHRpdGxlLlxuICAgICZfX3J1bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDIwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRzbnotYnJhbmQteWVsbG93O1xuICAgIH1cbn1cblxuLy8gVmVydGljYWwgcmh5dGhtIGJldHdlZW4gdGhlIHN0YWNrZWQgY2FzZS1zdHVkeSBibG9ja3MgKGFuZCBiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZVxuLy8gZmlyc3QgYmxvY2spLiBUaGUgYmxvY2tzIGNhcnJ5IG5vIENNUyBwYWRkaW5nIGNocm9tZSwgc28gdGhlIHNwYWNpbmcgbGl2ZXMgaGVyZS5cbi50c256LWNzLWNvbnRlbnQsXG4udHNuei1jcy12aWRlbyxcbi50c256LWNzLWltYWdlLFxuLnRzbnotY3MtcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKDQwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoNDgpO1xuICAgIH1cbn1cbiIsIi8vIENhc2UgU3R1ZHkg4oCUIENvbnRlbnQgYmxvY2suIEJvZHkgY29weSBpbiB0aGUgbmFycm93IHJlYWRpbmcgY29sdW1uLCBoZWFkaW5ncyAoSDLigJNINSlcbi8vIGFsbG93ZWQgdmlhIHRoZSBXWVNJV1lHLiBTZWUgY29tcG9uZW50cy9fY2FzZS1zdHVkeS5zY3NzIGZvciB0aGUgY29udGFpbmVyICsgcmh5dGhtLlxuXG4udHNuei1jcy1jb250ZW50IHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWNhc2Utc3R1ZHktY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcblxuICAgICAgICAvLyBIZWFkaW5ncyB0aGUgZWRpdG9yIGFkZHMgc2l0IGluIGJyYW5kIGJsdWUsIG1hdGNoaW5nIHRoZSBjb21wLlxuICAgICAgICBoMixcbiAgICAgICAgaDMsXG4gICAgICAgIGg0LFxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIENhc2UgU3R1ZHkg4oCUIFZpZGVvIGJsb2NrLiBPcHRpb25hbCBoZWFkaW5nIG92ZXIgYSAxNjo5IHZpZGVvIHRoYXQgcGxheXMgaW5saW5lOiBhIHBvc3RlclxuLy8gd2l0aCBhIHllbGxvdyBUb3RhbHNwYW4gcGxheSBidXR0b24sIHN3YXBwZWQgZm9yIHRoZSBlbWJlZCBvbiBjbGljayAoZTIuY2FzZVN0dWR5VmlkZW8uanMpLlxuXG4udHNuei1jcy12aWRlbyB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXNlLXN0dWR5LWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgc3BhY2UoMTYpO1xuICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtYmx1ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRzbnotYnJhbmQtYmx1ZTtcblxuICAgICAgICAvLyBUaGUgaW5qZWN0ZWQgcGxheWVyIGZpbGxzIHRoZSBmcmFtZS5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGluc2V0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPbGRlciBlbmdpbmVzIHdpdGhvdXQgYXNwZWN0LXJhdGlvOiBob2xkIHRoZSAxNjo5IGJveCB3aXRoIGEgcGFkZGluZyByYXRpby5cbiAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2IC8gOSkge1xuICAgICAgICAmX19tZWRpYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmFjYWRlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIgLnRzbnotY3MtdmlkZW9fX3BsYXksXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSAudHNuei1jcy12aWRlb19fcGxheSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjA2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Bvc3RlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIC8vIFllbGxvdyBkaXNjIHdpdGggYSBibHVlIHBsYXkgdHJpYW5nbGUuXG4gICAgJl9fcGxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg3Mik7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNzIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0c256LWJyYW5kLXllbGxvdztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1NCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IHJlbS1jYWxjKDExKSAwIHJlbS1jYWxjKDExKSByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0c256LWJyYW5kLWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDYXNlIFN0dWR5IOKAlCBJbWFnZSBibG9jay4gT3B0aW9uYWwgaGVhZGluZyBvdmVyIGEgZnVsbC13aWR0aCBpbWFnZSB0aGF0IGtlZXBzIHRoZSByYXRpb1xuLy8gaXQgd2FzIHVwbG9hZGVkIGF0IChpbWdpeCBmaXQ9bWF4OyB3aWR0aC9oZWlnaHQgb24gdGhlIDxpbWc+IHJlc2VydmUgdGhlIGJveCkuXG5cbi50c256LWNzLWltYWdlIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWNhc2Utc3R1ZHktY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW46IDAgMCBzcGFjZSgxNik7XG4gICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC1ibHVlO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG4iLCIvLyBDYXNlIFN0dWR5IOKAlCBRdW90ZSBibG9jay4gWWVsbG93IHF1b3RlIG1hcmssIHVwcmlnaHQgKG5vbi1pdGFsaWMpIHB1bGwtcXVvdGUsIGJsdWVcbi8vIHVwcGVyY2FzZSBhdHRyaWJ1dGlvbiwgYnJhY2tldGVkIGJ5IGZhaW50IGZ1bGwtd2lkdGggZGl2aWRlciBsaW5lcy5cbi8vIEZpZ21hIFwiVG90YWxzcGFuIFJlZnJlc2hcIiAxOTUwOjU5NzMgKGljb24gMTk1MDo1OTc1IOKAlCBzYW1lIGdseXBoIGFzIEljb25zL1F1b3RlLnNzKS5cblxuLnRzbnotY3MtcXVvdGUge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotY2FzZS1zdHVkeS1jb250YWluZXI7XG4gICAgICAgIC8vIEZhaW50IGhhaXJsaW5lcyBhYm92ZSBhbmQgYmVsb3cgdGhlIHF1b3RlLCBzcGFubmluZyB0aGUgcmVhZGluZyBjb2x1bW4uXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdHNuei1ib3JkZXItc3VidGxlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRzbnotYm9yZGVyLXN1YnRsZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDQwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDQwKTtcbiAgICB9XG5cbiAgICAmX19tYXJrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDI0KTtcbiAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXllbGxvdztcblxuICAgICAgICAvLyBSZW5kZXIgYXQgdGhlIGJsb2NrJ3Mgb3duIHNpemUg4oCUIHRoZSBnbG9iYWwgYC5zdmctaWNvbmAgY2xhbXBzIHRvIDFlbSwgd2hpY2hcbiAgICAgICAgLy8gd291bGQgc2hyaW5rIHRoaXMgdG8gfjE2cHguXG4gICAgICAgIC5zdmctaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vIERyb3AgRm91bmRhdGlvbidzIGJhc2UgYmxvY2txdW90ZSB0cmVhdG1lbnQgKCRibG9ja3F1b3RlLWJvcmRlciAvIC1wYWRkaW5nIC9cbiAgICAgICAgLy8gdGhlIGl0YWxpYyBpbiBfdHlwb2dyYXBoeS5zY3NzKSDigJQgdGhlIGNvbXAgcXVvdGUgaXMgdXByaWdodCB3aXRoIG5vIGxlZnQgcnVsZS5cbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG5cbiAgICAmX19hdHRyaWJ1dGlvbiB7XG4gICAgICAgIG1hcmdpbjogc3BhY2UoMjQpIDAgMDtcbiAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLWJsdWU7XG4gICAgfVxufVxuIiwiLy8gUGFydG5lcnMg4oCUIEVsZW1lbnRQYXJ0bmVycyArIEVsZW1lbnRQYXJ0bmVyTG9nby5cbi8vIEZpZ21hIFwiVG90YWxzcGFuIFJlZnJlc2hcIjogZGVza3RvcCA5NTY6MTE5MCAvIG1vYmlsZSAxOTI3OjI5MTcuXG4vL1xuLy8gQ2VudHJlZCBoZWFkaW5nICsgaW50cm8gb3ZlciBhIHdhbGwgb2YgcGFydG5lciBsb2dvcywgb24gYSBmdWxsLWJsZWVkIFNreSBiYW5kLlxuLy8gQmFja2dyb3VuZCBpcyBgdHNuei1ibG9jay0tcmVmcmVzaC1kYXJrLWdyYXlgIChTa3kgKyBicmFuZCBibHVlKSB2aWEgZXh0cmFfYmxvY2tfbW9kaWZpZXJzLlxuLy8gVGhlIGJhbmQgcGFkcyBpdHNlbGYg4oCUIG5vIENNUyBwYWRkaW5nIGRyb3Bkb3duLlxuXG4vLyBJbnRybyBjb2x1bW4gd2lkdGgg4oCUIEZpZ21hIDcwMHB4IG9uIHRoZSAxMzEyIGNvbnRlbnQgd2lkdGg7IHVuYm91bmQgdmFyaWFibGUuXG4kdHNuei1wYXJ0bmVycy1oZWFkZXItbWVhc3VyZTogcmVtLWNhbGMoNzAwKTtcbi8vIExvZ28gd2FsbCB3aWR0aCDigJQgRmlnbWEgMTA2NXB4OyB1bmJvdW5kIHZhcmlhYmxlLlxuJHRzbnotcGFydG5lcnMtbG9nb3MtbWVhc3VyZTogcmVtLWNhbGMoMTA2NSk7XG4vLyBMb2dvIGJveCDigJQgbG9nb3MgYXJlIGNvbnRhaW5lZCB3aXRoaW4gdGhpcyBoZWlnaHQgQU5EIHdpZHRoIGFuZCB2ZXJ0aWNhbGx5IGNlbnRyZWQsIHNvXG4vLyBtaXhlZCBhc3BlY3QgcmF0aW9zICh0YWxsIG1hcmtzIGFuZCB3aWRlIHdvcmRtYXJrcyBhbGlrZSkgc3RheSB2aXN1YWxseSBiYWxhbmNlZCBhbmRcbi8vIGRvbid0IGdyb3cgb3ZlcnNpemVkLiBVbmJvdW5kIChubyBoZWlnaHQvd2lkdGggdG9rZW4gZXhpc3RzIHlldCkuXG4kdHNuei1wYXJ0bmVycy1sb2dvLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuJHRzbnotcGFydG5lcnMtbG9nby1oZWlnaHQtbGFyZ2U6IHJlbS1jYWxjKDQwKTtcbiR0c256LXBhcnRuZXJzLWxvZ28td2lkdGg6IHJlbS1jYWxjKDEyMCk7XG4kdHNuei1wYXJ0bmVycy1sb2dvLXdpZHRoLWxhcmdlOiByZW0tY2FsYygxNTApO1xuXG4udHNuei1wYXJ0bmVycyB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgICAgIC8vIE1vYmlsZSAxOTI3OjI5MTcg4oCUIHB5IDQwLiBEZXNrdG9wIGJhbmQgfjYwcHggcGVyIGVkZ2U7IHNwYWNlKDY0KSBpcyB0aGUgbmVhcmVzdFxuICAgICAgICAvLyBvbi1zY2FsZSB0b2tlbiwgbWF0Y2hpbmcgRWxlbWVudENvbnRlbnRCbG9ja1NlY29uZGFyeS5cbiAgICAgICAgcGFkZGluZy1ibG9jazogc3BhY2UoNDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHNwYWNlKDY0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy8gRmlnbWEgc3RhY2tzIGhlYWRpbmctZ3JvdXAgLyBsb2dvcyB3aXRoIGEgc3BhY2UvNDAgZ2FwLlxuICAgICAgICBnYXA6IHNwYWNlKDMyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDQwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogJHRzbnotcGFydG5lcnMtaGVhZGVyLW1lYXN1cmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBnYXA6IHNwYWNlKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDQwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAmX19pbnRybyB7XG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ29zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLy8gTW9iaWxlOiB0d28gbG9nb3MgcGVyIHJvdy5cbiAgICAgICAgZ2FwOiBzcGFjZSgzMikgc3BhY2UoMjQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIExvZ29zIGZsb3cgYWNyb3NzLCBzcGFjZWQgYXBhcnQsIGFuZCB3cmFwIHRvIGEgc2Vjb25kIHJvdy5cbiAgICAgICAgICAgIGdhcDogc3BhY2UoNDApIHNwYWNlKDQ4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAvLyBNb2JpbGUgMi11cC4gRGVza3RvcCBsZXRzIGVhY2ggbG9nbyBzaXplIHRvIGl0cyBvd24gd2lkdGguXG4gICAgICAgIGZsZXg6IDAgMSBjYWxjKDUwJSAtICN7c3BhY2UoMjQpfSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNb2JpbGUgMi11cDogYSBsb25lIHRyYWlsaW5nIGxvZ28gYWxpZ25zIHRvIHRoZSBsZWZ0IGNvbHVtbiBpbnN0ZWFkIG9mIGNlbnRyaW5nLlxuICAgICZfX2xvZ286bGFzdC1jaGlsZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19sb2dvLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogJHRzbnotcGFydG5lcnMtbG9nby13aWR0aDtcbiAgICAgICAgbWF4LWhlaWdodDogJHRzbnotcGFydG5lcnMtbG9nby1oZWlnaHQ7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdHNuei1wYXJ0bmVycy1sb2dvLXdpZHRoLWxhcmdlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogJHRzbnotcGFydG5lcnMtbG9nby1oZWlnaHQtbGFyZ2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBFbWJlZCBibG9jayDigJQgRWxlbWVudEVtYmVkLlxuLy8gTm8gRmlnbWEgY29tcDsgbGF5b3V0IGZvbGxvd3MgQ29udGVudCAmIEltYWdlICh0d28gY29sdW1ucyBhdCBgbGFyZ2VgLCBzdGFja2VkIGJlbG93KS5cbi8vIFRoZSBlbWJlZCBpdHNlbGYgaXMgYXJiaXRyYXJ5IHRoaXJkLXBhcnR5IEhUTUwsIHNvIHRoaXMgcGFydGlhbCBvbmx5IHBsYWNlcyBpdC5cblxuLy8gSGFsZi13aWR0aCBjb2x1bW4gc2hhcmU7IG5vdCBhIGJvdW5kIHRva2VuLlxuJHRzbnotZW1iZWQtaGFsZi13aWR0aDogNjYlO1xuLy8gU29sbyAobm8gY29weSkgY2FwOyBzYW1lIDYwcmVtIG1lYXN1cmUgYXMgQ29udGVudCBCbG9jayBTZWNvbmRhcnkuXG4kdHNuei1lbWJlZC1zb2xvLW1lYXN1cmU6IDYwcmVtO1xuXG4udHNuei1lbWJlZCB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICBpZnJhbWUsXG4gICAgICAgIG9iamVjdCxcbiAgICAgICAgZW1iZWQsXG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYWxmIHdpZHRoICsgY29weTogdGV4dCBsZWZ0LCBlbWJlZCA2NiUgb24gdGhlIHJpZ2h0IGZyb20gYGxhcmdlYC4gU3RhY2tlZCBiZWxvdyB0aGF0LlxuICAgICYtLWhhbGY6bm90KCYtLWNlbnRyZWQpIHtcbiAgICAgICAgLnRzbnotZW1iZWRfX2lubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgJHRzbnotZW1iZWQtaGFsZi13aWR0aDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgICAgICAgICAgZ2FwOiBzcGFjZSg2NCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIYWxmIHdpZHRoLCBubyBjb3B5OiBjZW50cmVkLCBjYXBwZWQgYXQgNjByZW0uXG4gICAgJi0tY2VudHJlZCB7XG4gICAgICAgIC50c256LWVtYmVkX19tZWRpYSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR0c256LWVtYmVkLXNvbG8tbWVhc3VyZTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBQcmltYXJ5IENUQSBCbG9jayDigJQgRWxlbWVudFByaW1hcnlDdGEuXG4vLyBGaWdtYSBcIlRvdGFsc3BhbiBSZWZyZXNoXCI6IGRlc2t0b3AgMjA1OjIxODAgLyBtb2JpbGUgMTg5NzoyNzMyLlxuLy9cbi8vIEEgYnJhbmQtYmx1ZSBwYW5lbCBjYXJyeWluZyBhIHNob3J0IGNvbnZlcnNpb24gcHJvbXB0IChIMiArIG9uZSBwYXJhZ3JhcGgpIGFuZCBvbmUgYnV0dG9uLlxuLy8gRGVza3RvcDogY29weSBsZWZ0LCBidXR0b24gcmlnaHQsIHZlcnRpY2FsbHkgY2VudHJlZC4gTW9iaWxlOiBzdGFja2VkIGFuZCBjZW50cmVkIHdpdGggYVxuLy8gZnVsbC13aWR0aCBidXR0b24uIFRoZSBDTVMgYmFja2dyb3VuZCBkcm9wZG93biBwYWludHMgdGhlIG91dGVyIC50c256LWJsb2NrIGJhbmQ7IHRoZSBibHVlXG4vLyBwYW5lbCBsaXZlcyBvbiBfX2lubmVyIHNvIHRoZSBiYW5kIHNob3dzIHRocm91Z2ggdGhlIHBhZ2UgZ3V0dGVyIG9uIGVpdGhlciBzaWRlLlxuXG4vLyBGaWdtYSAyMDU6MjE4MSDigJQgdGhlIGNvcHkgZnJhbWUgaXMgNzEyIG9uIGEgMTMwMCBiYW5kLiBOb3QgYSBib3VuZCB2YXJpYWJsZTsgY2FwcyB0aGVcbi8vIGRlc2t0b3AgbWVhc3VyZSBzbyB0aGUgaGVhZGluZy9wYXJhZ3JhcGggZG9uJ3QgcnVuIHRoZSBmdWxsIHRyYWNrIGJlc2lkZSB0aGUgYnV0dG9uLlxuJHRzbnotcHJpbWFyeS1jdGEtbWVhc3VyZTogcmVtLWNhbGMoNzEyKTtcblxuLnRzbnotcHJpbWFyeS1jdGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICAgICAvLyBUaGUgc2hhcmVkIGNvbnRhaW5lciBjb250cmlidXRlcyAxNi8zMnB4IGF0IHNtYWxsL21lZGl1bS4gVGhlIG1vYmlsZSBjb21wIGhhcyBhXG4gICAgICAgIC8vIDI0cHggZWRnZSBzdXBwbGllZCBieSBfX2lubmVyLCBzbyByZW1vdmUgdGhlIHNoYXJlZCBlZGdlIGJlbG93IGxhcmdlLlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICAvLyBNb2JpbGUgaXMgZmxhdCBicmFuZCBibHVlLCBwZXIgdGhlIG1vYmlsZSBjb21wIOKAlCB0aGUgZ3JhZGllbnQgb25seSBwYWludHMgZnJvbSBsYXJnZS5cbiAgICAgICAgYmFja2dyb3VuZDogJHRzbnotYnJhbmQtYmx1ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHNwYWNlKDQ4KTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHNwYWNlKDI0KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0c256LWJyYW5kLWdyYWRpZW50O1xuXG4gICAgICAgICAgICAvLyBzcGFjZSg2NCkgPSAkdHNuei1ibG9jay1wYWRkaW5nLiBTZWUgdGFzayBub3RlOiB0aGUgY29tcCdzIGJhbmQgaXMgMjI4ICg1N3B4XG4gICAgICAgICAgICAvLyBwYWRkaW5nLCBvZmYtc2NhbGUpOyA2NCBtYWtlcyB0aGUgYmFuZCAyNDIg4oCUIGEgZGVsaWJlcmF0ZSBvbi1zY2FsZSBkZXZpYXRpb24uXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAkdHNuei1ibG9jay1wYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHNwYWNlKDk2KTtcblxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMzIpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdHNuei1wcmltYXJ5LWN0YS1tZWFzdXJlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBjb21wJ3MgaGVhZGluZyB1c2VzIHRoZSBIMiB0b2tlbjsga2VlcCBpdCB3aGl0ZSBhbmQgZHJvcCB0aGUgdHJhaWxpbmcgbWFyZ2luIHNvIGFcbiAgICAvLyBibG9jayBiYWNrZ3JvdW5kIG1vZGlmaWVyJ3MgZ2VuZXJpYyBgaDJgIHJ1bGUgY2FuJ3QgcmVwYWludCBvciByZS1zcGFjZSBpdC5cbiAgICAudHNuei1wcmltYXJ5LWN0YV9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAmX19pbnRybyB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAvLyBGdWxsLXdpZHRoIGJ1dHRvbiBvbiBtb2JpbGUgKHRoZSBMYXJnZSBtb2JpbGUgdmFyaWFudCk7IGJhY2sgdG8gbmF0dXJhbCB3aWR0aCBhdFxuICAgICAgICAvLyBkZXNrdG9wLCB3aGVyZSBpdCBzaXRzIGluIGl0cyBvd24gYXV0byBncmlkIGNvbHVtbi5cbiAgICAgICAgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBJY29uIEdyaWQg4oCUIEVsZW1lbnRJY29uR3JpZCArIEVsZW1lbnRJY29uR3JpZEl0ZW0uXG4vLyBGaWdtYTogODIwOjE3MTMgKGRlc2t0b3ApIC8gMTkyMDoyNzIyIChtb2JpbGUpLlxuXG4vLyBUaGVzZSB2YWx1ZXMgYXJlIGxpdGVyYWwgaW4gdGhlIGNvbXBvbmVudCBhbmQgaGF2ZSBubyBib3VuZCBGaWdtYSB2YXJpYWJsZXMuXG4kdHNuei1pY29uLWdyaWQtZGVza3RvcC1oZWFkaW5nLWdhcDogcmVtLWNhbGMoNjApO1xuJHRzbnotaWNvbi1ncmlkLWRlc2t0b3AtaWNvbi1zaXplOiByZW0tY2FsYyg1NCk7XG4kdHNuei1pY29uLWdyaWQtbW9iaWxlLWl0ZW0tcGFkZGluZy15OiByZW0tY2FsYygxOCk7XG4kdHNuei1pY29uLWdyaWQtZGl2aWRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kdHNuei1pY29uLWdyaWQtY2FyZXQtc3Ryb2tlOiByZW0tY2FsYygyKTtcblxuLnRzbnotaWNvbi1ncmlkIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNlKDI0KTsgLy8gMS41cmVtIOKAlCBkZXNrdG9wIG9ubHlcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICAgICAvLyBUaGUgbW9iaWxlIGZyYW1lIHVzZXMgYSAyNHB4IHBhZ2UgZWRnZTsgdGhlIHNoYXJlZCBjb250YWluZXIgaXMgMTZweCBhdCBzbWFsbC5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyMCk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0c256LWljb24tZ3JpZC1kZXNrdG9wLWhlYWRpbmctZ2FwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoNDApIHNwYWNlKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRzbnotaWNvbi1ncmlkLWRpdmlkZXItd2lkdGggc29saWQgJHRzbnotYm9yZGVyLXN1YnRsZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICR0c256LWljb24tZ3JpZC1kZXNrdG9wLWljb24tc2l6ZSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogc3BhY2UoMTYpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0taGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiBzcGFjZSgxMik7XG4gICAgICAgIHBhZGRpbmc6ICR0c256LWljb24tZ3JpZC1tb2JpbGUtaXRlbS1wYWRkaW5nLXkgc3BhY2UoMjApO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogc3BhY2UoMzIpO1xuICAgICAgICBoZWlnaHQ6IHNwYWNlKDMyKTtcbiAgICAgICAgZmxleDogMCAwIHNwYWNlKDMyKTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgd2lkdGg6ICR0c256LWljb24tZ3JpZC1kZXNrdG9wLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHRzbnotaWNvbi1ncmlkLWRlc2t0b3AtaWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1oZWFkaW5nIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FyZXQge1xuICAgICAgICB3aWR0aDogc3BhY2UoMTApO1xuICAgICAgICBoZWlnaHQ6IHNwYWNlKDEwKTtcbiAgICAgICAgZmxleDogMCAwIHNwYWNlKDEwKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjZSg0KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdHNuei1pY29uLWdyaWQtY2FyZXQtc3Ryb2tlIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRzbnotaWNvbi1ncmlkLWNhcmV0LXN0cm9rZSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0yNSUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG5cbiAgICAgICAgLmlzLWFjdGl2ZSA+IC50c256LWljb24tZ3JpZF9faXRlbS1oZWFkZXIgJiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSgtMjUlLCAtMjUlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgxMCkgc3BhY2UoMjApICR0c256LWljb24tZ3JpZC1tb2JpbGUtaXRlbS1wYWRkaW5nLXk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMTYpIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN0YXRpYyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8vIFRoZSBEYXJrIEdyZXkgc3VyZmFjZSBpcyB0aGUgRmlnbWEgU2t5IHRva2VuLiBJdHMgYm9keSBjb3B5IGlzIGJsdWUgaW4gdGhlIGNvbXA7XG4vLyBEZWZhdWx0IGFuZCBMaWdodCBHcmV5IHJldGFpbiBub3JtYWwgYm9keSBjb3B5LCBsaWtlIENvbnRlbnQgJiBJbWFnZS5cbi50c256LWJsb2NrLS1yZWZyZXNoLWRhcmstZ3JheSB7XG4gICAgLnRzbnotaWNvbi1ncmlkIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbn1cbiIsIi8vIEZlYXR1cmUgQmxvY2sg4oCUIEVsZW1lbnRGZWF0dXJlLlxuLy8gRmlnbWE6IG5vZGVzIDE6MTc2IChkZXNrdG9wKSAvIDEzMTc6MjI4MiAobW9iaWxlKS5cbi8vIFRoZSBhcnR3b3JrIGlzIGEgc2luZ2xlIGVkaXRvci1tYW5hZ2VkIGNvbXBvc2l0ZSBpbWFnZSBzdXBwbGllZCBpbiBhcHAvY2xpZW50L2ZlYXR1cmUuXG5cbi50c256LWZlYXR1cmUge1xuICAgIC8vIFRoZSBDTVMgYmFja2dyb3VuZCBkcm9wZG93biBwYWludHMgdGhlIG91dGVyIC50c256LWJsb2NrIGJhbmQ7IHRoZSBibHVlIHBhbmVsIGxpdmVzXG4gICAgLy8gb24gX19pbm5lciBzbyB0aGUgYmFuZCBzaG93cyB0aHJvdWdoIHRoZSBwYWdlIGd1dHRlciBvbiBlaXRoZXIgc2lkZS5cbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAgICAgLy8gVGhlIHNoYXJlZCBjb250YWluZXIgY29udHJpYnV0ZXMgMTYvMzJweCBhdCBzbWFsbC9tZWRpdW0uIEZlYXR1cmUncyBtb2JpbGVcbiAgICAgICAgLy8gY29tcCBoYXMgYSAyNHB4IGVkZ2Ugc3VwcGxpZWQgYnkgX19pbm5lciwgc28gcmVtb3ZlIHRoZSBzaGFyZWQgZWRnZSBiZWxvdyBsYXJnZS5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSg0MCkgc3BhY2UoMjQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdHNuei1icmFuZC1ibHVlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIEV4YWN0IGRlc2t0b3AgZmlsbCBmcm9tIEZpZ21hIG5vZGUgMToxNzYg4oCUIHRoZSBzaGFyZWQgYnJhbmQgZ3JhZGllbnQgd2l0aCB0aGlzXG4gICAgICAgICAgICAvLyBiYW5kJ3MgZWxsaXBzZSBheGVzIChzd2FwcGVkIHZzIHRoZSBkZWZhdWx0LCBhcyBpdHMgYmFuZCBpcyBhIGRpZmZlcmVudCBhc3BlY3QpLlxuICAgICAgICAgICAgLy8gU2VlIEBtaXhpbiB0c256LWJyYW5kLWdyYWRpZW50IGluIGhlbHBlcnMvX3V0aWxpdHktbWl4aW5zLiBUaGUgbWl4aW4ncyBleHBsaWNpdFxuICAgICAgICAgICAgLy8gNTAlIG1pZHBvaW50IGlzIHRoZSBleGFjdCBpbnRlcnBvbGF0aW9uIG9mIHRoZSB0d28gc3RvcHMsIHNvIHRoaXMgYmFuZCByZW5kZXJzXG4gICAgICAgICAgICAvLyBpZGVudGljYWxseSB0byBpdHMgcHJldmlvdXMgdHdvLXN0b3AgZGVjbGFyYXRpb24uXG4gICAgICAgICAgICBAaW5jbHVkZSB0c256LWJyYW5kLWdyYWRpZW50KDY3LjM2JSA2NS4wNiUpO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCBzcGFjZSg5Nik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMzIpO1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoNjQpIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gS2VlcCB0aGUgZml4ZWQgYmx1ZSBwYW5lbCdzIGhlYWRpbmcgd2hpdGUgd2hlbiB0aGUgb3V0ZXIgYmxvY2sgdXNlcyBhIGJhY2tncm91bmRcbiAgICAvLyBtb2RpZmllciB3aG9zZSBnZW5lcmljIGgyIHJ1bGUgY2hhbmdlcyBoZWFkaW5nIGNvbG91ci5cbiAgICAudHNuei1mZWF0dXJlX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDIwKTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiBzcGFjZSgxMik7XG5cbiAgICAgICAgPiAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIC8vIE1hdGNoIENvbnRlbnQgJiBJbWFnZTogdHdvIGJ1dHRvbnMgc2hhcmUgdGhlIG1vYmlsZSByb3csIHdoaWxlIGEgbG9uZVxuICAgICAgICAgICAgLy8gYnV0dG9uIG5hdHVyYWxseSBmaWxscyBpdC4gQXQgZGVza3RvcCBidXR0b25zIHJldHVybiB0byB0aGVpciBuYXR1cmFsIHdpZHRoLlxuICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIFN0cmV0Y2ggdG8gdGhlIHJvdyBlc3RhYmxpc2hlZCBieSB0aGUgY29udGVudCB3aXRob3V0IHNpemluZyB0aGF0IHJvdy5cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTIwKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBGZWF0dXJlIFNlY29uZGFyeSBCbG9jayDigJQgRWxlbWVudEZlYXR1cmVTZWNvbmRhcnkuXG4vLyBGaWdtYTogbm9kZXMgMTk4OjU2MiAoZGVza3RvcCkgLyAxODYyOjIyODcgKG1vYmlsZSkuXG4vLyBBIHNpYmxpbmcgb2YgdGhlIEZlYXR1cmUgYmxvY2ssIG5vdCBhIHN0eWxlIG9mIGl0OiB0aHJlZSBjb2x1bW5zIHdpdGggdGhlIGNvbXBvc2l0ZVxuLy8gYXJ0d29yayBjZW50cmVkLCBhbmQgdGhlIGFydHdvcmsgZGVsaWJlcmF0ZWx5IGJsZWVkaW5nIHBhc3QgdGhlIGJhbmQgdG9wIGFuZCBib3R0b20uXG4vL1xuLy8gVGhlIGFydHdvcmsgaXMgYW4gZWRpdG9yLW1hbmFnZWQgY29tcG9zaXRlIFBORyBzdXBwbGllZCBpbiBhcHAvY2xpZW50L2ZlYXR1cmUtc2Vjb25kYXJ5LlxuXG4vLyBIb3cgZmFyIHRoZSBhcnR3b3JrIG92ZXJoYW5ncyB0aGUgYmFuZCBhdCBkZXNrdG9wLiBVc2VkIHR3aWNlIOKAlCBvbmNlIHRvIHB1bGwgdGhlIG1lZGlhXG4vLyBvdXQgb2YgdGhlIGJhbmQsIGFuZCBvbmNlIGFzIHRoZSBibG9jaydzIG93biBtYXJnaW4gc28gdGhlIG92ZXJoYW5nIGhhcyBzb21ld2hlcmUgdG8gZ28uXG4vLyBUaGV5IGFyZSB0aGUgc2FtZSBkaXN0YW5jZSBhbmQgbXVzdCBub3QgZHJpZnQgYXBhcnQuXG4kdHNuei1mZWF0dXJlLXNlY29uZGFyeS1vdmVybGFwOiBzcGFjZSg0MCk7XG5cbi8vIFRoZSBzaGFyZSBvZiB0aGUgY29udGVudCB3aWR0aCByZXNlcnZlZCBmb3IgdGhlIGFydHdvcmsuIFdpZGVyIHRoYW4gdGhlIGNvbXAncyAzMTEgb2Zcbi8vIDEyMzcsIGJlY2F1c2UgdGhlIGFydHdvcmsncyB3aWR0aCBpcyBkZXJpdmVkIGZyb20gdGhlIGJhbmQgaGVpZ2h0IChiYW5kICsgMiDDlyBvdmVybGFwLFxuLy8gdGltZXMgdGhlIGFydHdvcmsncyBvd24gcmF0aW8pIGFuZCB0aGlzIGJsb2NrJ3MgYmFuZCBpcyB0YWxsZXIgdGhhbiB0aGUgY29tcCdzLiBUb28gbmFycm93XG4vLyBhIHRyYWNrIGFuZCB0aGUgYXJ0d29yayBnZXRzIGNsYW1wZWQsIHdoaWNoIGNvc3RzIHRoZSBibGVlZCDigJQgc2VlIHRoZSBub3RlIG9uIF9faW1hZ2UuXG4vLyBJdCBvbmx5IHJlc2VydmVzIHNwYWNlOyB0aGUgYXJ0d29yayBpcyBhbHdheXMgc2l6ZWQgYnkgaGVpZ2h0LlxuJHRzbnotZmVhdHVyZS1zZWNvbmRhcnktbWVkaWEtd2lkdGg6IDMwJTtcblxuLy8gVGhlIHN0YWNrZWQgbGF5b3V0IGdldHMgYSBzbGlnaHRseSBsYXJnZXIgc2hhcmUgdGhhbiB0aGUgY29tcCdzIDg5IG9mIDM0Nywgc28gdGhlIG1hcFxuLy8gcmVhZHMgYXQgYSB1c2VmdWwgc2l6ZSBiZXNpZGUgdGhlIGhlYWRpbmcuIENhcHBlZCBiZWxvdywgc28gdGhpcyBvbmx5IGJpbmRzIG9uIHBob25lcy5cbiR0c256LWZlYXR1cmUtc2Vjb25kYXJ5LW1lZGlhLXdpZHRoLXNtYWxsOiAzMCU7XG5cbi50c256LWZlYXR1cmUtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdHNuei1icmFuZC1ibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIC8vIFRoZSBhcnR3b3JrIGlzIHBvc2l0aW9uZWQgYWdhaW5zdCB0aGUgYmFuZCwgc28gaXQgY2FuIGJlIGNlbnRyZWQgb24gaXQgYW5kIGJsZWVkXG4gICAgICAgIC8vIHBhc3QgaXQgd2l0aG91dCBldmVyIGNvbnRyaWJ1dGluZyBpdHMgaW50cmluc2ljIGhlaWdodCB0byB0aGUgZ3JpZC5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyBFeGFjdCBkZXNrdG9wIGZpbGwgZnJvbSBGaWdtYSBub2RlIDE5ODo1NjIg4oCUIHRoZSBzaGFyZWQgYnJhbmQgZ3JhZGllbnQgYXQgaXRzXG4gICAgICAgIC8vIGRlZmF1bHQgZWxsaXBzZSBzaXplLiBTZWUgQG1peGluIHRzbnotYnJhbmQtZ3JhZGllbnQgaW4gaGVscGVycy9fdXRpbGl0eS1taXhpbnMuXG4gICAgICAgIEBpbmNsdWRlIHRzbnotYnJhbmQtZ3JhZGllbnQ7XG5cbiAgICAgICAgLy8gVGhlIGFydHdvcmsgYmxlZWRzIHBhc3QgYm90aCBlZGdlcywgc28gdGhlIGJsb2NrIG1ha2VzIGl0cyBvd24gcm9vbSByYXRoZXIgdGhhblxuICAgICAgICAvLyByZWx5aW5nIG9uIHdoYXRldmVyIHNpdHMgYWJvdmUgYW5kIGJlbG93IGl0IGhhdmluZyBwYWRkaW5nIHRvIHNwYXJlLlxuICAgICAgICBtYXJnaW4tYmxvY2s6ICR0c256LWZlYXR1cmUtc2Vjb25kYXJ5LW92ZXJsYXA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgICAgIC8vIFRoZSBiYW5kIGlzIGZ1bGwgYmxlZWQgYnV0IHRoZSBjb3B5IGluc2lkZSBpdCBsaW5lcyB1cCB3aXRoIGV2ZXJ5IG90aGVyIGJsb2NrIG9uXG4gICAgICAgIC8vIHRoZSBwYWdlLCBzbyB0aGUgc2hhcmVkIGNvbnRhaW5lciBndXR0ZXIgaXMgbGVmdCBhbG9uZSBhdCBldmVyeSBicmVha3BvaW50LlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLy8gSGVhZGluZyBhbmQgYXJ0d29yayBzaGFyZSB0aGUgZmlyc3Qgcm93OyBldmVyeXRoaW5nIGVsc2Ugc3BhbnMgYm90aCBjb2x1bW5zLlxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAkdHNuei1mZWF0dXJlLXNlY29uZGFyeS1tZWRpYS13aWR0aC1zbWFsbDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sdW1uLWdhcDogc3BhY2UoMTYpO1xuICAgICAgICByb3ctZ2FwOiBzcGFjZSgyMCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHNwYWNlKDQwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBUaGUgY2VudHJlIHRyYWNrIG9ubHkgcmVzZXJ2ZXMgcm9vbSBmb3IgdGhlIGFydHdvcms7IHRoZSBhcnR3b3JrIGl0c2VsZiBpc1xuICAgICAgICAgICAgLy8gc2l6ZWQgYnkgaGVpZ2h0IGluc2lkZSBpdC5cbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICR0c256LWZlYXR1cmUtc2Vjb25kYXJ5LW1lZGlhLXdpZHRoIDFmcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgICAgIC8vIFRoZSBjb2x1bW5zIGNhcnJ5IHRoZSB2ZXJ0aWNhbCBwYWRkaW5nIGluc3RlYWQsIHNvIHRoZSBtZWRpYSBjb2x1bW4gc3RyZXRjaGVzXG4gICAgICAgICAgICAvLyB0byB0aGUgZnVsbCBiYW5kIGhlaWdodCBhbmQgdGhlIG92ZXJsYXAgY2FuIGJlIG1lYXN1cmVkIGZyb20gdGhlIGJhbmQgZWRnZS5cbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBuYXJyb3dlc3QgZGVza3RvcCBpcyB0aGUgd29yc3QgY2FzZSBmb3IgdGhlIGJsZWVkOiBsZXNzIGNvbnRlbnQgd2lkdGggdG8gdGFrZVxuICAgICAgICAvLyBhIHNoYXJlIG9mLCBhbmQgbmFycm93ZXIgY29weSBjb2x1bW5zIG1ha2UgdGhlIGJhbmQgdGFsbGVyLCB3aGljaCBpcyB3aGF0IHRoZVxuICAgICAgICAvLyBhcnR3b3JrJ3Mgd2lkdGggaXMgZGVyaXZlZCBmcm9tLiBJdCBuZWVkcyBhIGJpZ2dlciBzaGFyZSB0aGVyZSwgbm90IGEgc21hbGxlciBvbmUuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNDIlIDFmcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICAvLyBCZWxvdyBsYXJnZSB0aGUgaGVhZGluZyBoYXMgdG8gc2l0IGJlc2lkZSB0aGUgYXJ0d29yayB3aGlsZSB0aGUgYm9keSBkcm9wcyB1bmRlclxuICAgICAgICAvLyBib3RoLCBzbyB0aGlzIHdyYXBwZXIgc3RlcHMgb3V0IG9mIHRoZSB3YXkgYW5kIGl0cyBjaGlsZHJlbiBiZWNvbWUgZ3JpZCBpdGVtcy5cbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgICAgIC8vIFRoZSBtZWRpYSBjb2x1bW4gaXMgb3V0IG9mIGZsb3csIHNvIGF1dG8tcGxhY2VtZW50IHdvdWxkIGRyb3AgdGhlIGFzaWRlIGludG9cbiAgICAgICAgICAgIC8vIHRoZSBjZW50cmUgdHJhY2suIEJvdGggY29weSBjb2x1bW5zIGFyZSBwbGFjZWQgZXhwbGljaXRseSBpbnN0ZWFkLlxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBzcGFjZSg2NCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBdCB0aGUgbmFycm93ZXN0IGRlc2t0b3AgdGhlIGNvcHkgY29sdW1ucyB3cmFwIHRvIGFuIGV4dHJhIGxpbmUsIGFuZCB0aGUgdGFsbGVyXG4gICAgICAgIC8vIGJhbmQgbmVlZHMgYW4gYXJ0d29yayB0b28gd2lkZSB0byBmaXQgdGhlIHRyYWNrIOKAlCB3aGljaCBjb3N0cyB0aGUgYmxlZWQuIE9uZSBzdGVwXG4gICAgICAgIC8vIGxlc3MgcGFkZGluZyB0aGVyZSBrZWVwcyB0aGUgYmFuZCBzaG9ydCBlbm91Z2ggZm9yIHRoZSBhcnR3b3JrIHRvIGNsZWFyIGl0LlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHNwYWNlKDY0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEtlZXAgdGhlIGZpeGVkIGJsdWUgcGFuZWwncyBoZWFkaW5ncyB3aGl0ZSB3aGVuIHRoZSBvdXRlciBibG9jayB1c2VzIGEgYmFja2dyb3VuZFxuICAgIC8vIG1vZGlmaWVyIHdob3NlIGdlbmVyaWMgaGVhZGluZyBydWxlIGNoYW5nZXMgaGVhZGluZyBjb2xvdXIuXG4gICAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC8vIC50c256LWxlYWQgc2l0cyBvbiB0aGUgd3JhcHBlciwgYnV0IGBwYCBjYXJyaWVzIGl0cyBvd24gc2l6ZSBmcm9tIHRoZSBwYXJhZ3JhcGhcbiAgICAgICAgLy8gdG9rZW4g4oCUIHNvIHRoZSBjb3B5IGhhcyB0byB0YWtlIHRoZSB3cmFwcGVyJ3MuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC50c256LWxlYWQgaXMgdGhlIGRlc2t0b3AgdG9rZW47IHBob25lcyBmYWxsIGJhY2sgdG8gdGhlIHBhcmFncmFwaCB0b2tlbi5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT24gYSBwaG9uZSB0aGUgc2hhcmUgYWJvdmUgaXMgdGhlIHdob2xlIHN0b3J5LiBGcm9tIGBtZWRpdW1gIHRoZSByb3cgaXMgd2lkZVxuICAgICAgICAvLyBlbm91Z2ggdGhhdCB0aGUgc2FtZSBzaGFyZSBtYWtlcyB0aGUgYXJ0d29yayB0YWxsIGVub3VnaCB0byBzZXQgdGhlIGhlYWRpbmcgcm93J3NcbiAgICAgICAgLy8gaGVpZ2h0IG9uIGl0cyBvd24sIHNvIGl0IGlzIGNhcHBlZCB0aGVyZSDigJQgYW5kIG9ubHkgdGhlcmUuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogc3BhY2UoOTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLy8gU3RheXMgaW4gdGhlIGNlbnRyZSB0cmFjayBzbyBpdCBvd25zIHRoYXQgd2lkdGgsIGJ1dCBob2xkcyBubyBjb250ZW50IG9mIGl0c1xuICAgICAgICAgICAgLy8gb3duIOKAlCB0aGUgYXJ0d29yayBpbnNpZGUgaXMgb3V0IG9mIGZsb3csIHNvIHRoZSB0cmFjaydzIGludHJpbnNpYyBoZWlnaHQgc3RheXNcbiAgICAgICAgICAgIC8vIHplcm8gYW5kIHRoZSBncmlkIHJvdyBpcyBzaXplZCBieSB0aGUgY29weSBjb2x1bW5zIGFsb25lLlxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIEhlaWdodCBpcyBiYW5kICsgMiDDlyBvdmVybGFwIGFuZCB0aGUgd2lkdGggZm9sbG93cyB0aGUgYXJ0d29yaydzIG93biByYXRpbywgc29cbiAgICAgICAgICAgIC8vIGEgcmUtZXhwb3J0IHdpdGggZGlmZmVyZW50IHByb3BvcnRpb25zIHN0aWxsIGxhbmRzIGNvcnJlY3RseS4gSXQgaXMgd3JpdHRlbiBhc1xuICAgICAgICAgICAgLy8gYSBoZWlnaHQgcmF0aGVyIHRoYW4gYSB0b3AvYm90dG9tIGluc2V0IHBhaXIgYmVjYXVzZSBgaGVpZ2h0OiBhdXRvYCBvbiBhXG4gICAgICAgICAgICAvLyByZXBsYWNlZCBlbGVtZW50IGlnbm9yZXMgdGhlIGJvdHRvbSBpbnNldCBhbmQgcXVpZXRseSBkcm9wcyB0aGUgYmxlZWQuXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGgga2VlcHMgdGhlIGFydHdvcmsgaW5zaWRlIHRoZSByZXNlcnZlZCB0cmFjayBvbiBuYXJyb3dlciBkZXNrdG9wcyxcbiAgICAgICAgICAgIC8vIHdoZXJlIG9iamVjdC1maXQgdHJhZGVzIGEgbGl0dGxlIG9mIHRoZSBibGVlZCByYXRoZXIgdGhhbiBzcXVhc2hpbmcgdGhlIG1hcC5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLSR0c256LWZlYXR1cmUtc2Vjb25kYXJ5LW92ZXJsYXA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgI3skdHNuei1mZWF0dXJlLXNlY29uZGFyeS1vdmVybGFwICogMn0pO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FzaWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG4gICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHNwYWNlKDk2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF0IHRoZSBuYXJyb3dlc3QgZGVza3RvcCB0aGUgY29weSBjb2x1bW5zIHdyYXAgdG8gYW4gZXh0cmEgbGluZSwgYW5kIHRoZSB0YWxsZXJcbiAgICAgICAgLy8gYmFuZCBuZWVkcyBhbiBhcnR3b3JrIHRvbyB3aWRlIHRvIGZpdCB0aGUgdHJhY2sg4oCUIHdoaWNoIGNvc3RzIHRoZSBibGVlZC4gT25lIHN0ZXBcbiAgICAgICAgLy8gbGVzcyBwYWRkaW5nIHRoZXJlIGtlZXBzIHRoZSBiYW5kIHNob3J0IGVub3VnaCBmb3IgdGhlIGFydHdvcmsgdG8gY2xlYXIgaXQuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogc3BhY2UoNjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXNpZGUtY29weSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRzbnotZmVhdHVyZS1zZWNvbmRhcnlfX2FzaWRlLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICZfX2FzaWRlLWJvZHkge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogc3BhY2UoMTIpO1xuXG4gICAgICAgID4gLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICAvLyBBIGxvbmUgYnV0dG9uIGZpbGxzIHRoZSBtb2JpbGUgcm93IGFuZCByZXR1cm5zIHRvIGl0cyBuYXR1cmFsIHdpZHRoIGF0IGRlc2t0b3AsXG4gICAgICAgICAgICAvLyBtYXRjaGluZyBGZWF0dXJlIGFuZCBDb250ZW50ICYgSW1hZ2UuXG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gVHdvLWNvbHVtbiBGZWF0dXJlIGJsb2NrIOKAlCBFbGVtZW50VHdvQ29sdW1uRmVhdHVyZS5cbi8vIEZpZ21hOiBUb3RhbHNwYW4gUmVmcmVzaCwgbm9kZXMgMTE2NC0zOTU3IChkZXNrdG9wKSAvIDE4OTctMjcxNiAobW9iaWxlKS5cbi8vXG4vLyBUd28gZXF1YWwgU2t5IGNhcmRzIHNpZGUgYnkgc2lkZSwgdGhlIGJhbmQgYmVoaW5kIHRoZW0gd2hpdGUgKHRoZSBwYWdlKS4gRWFjaCBjYXJkOlxuLy8gc3F1YXJlIGltYWdlIOKGkiBINCBoZWFkaW5nIChCcmFuZCBCbHVlKSDihpIgYm9keSAoIzQyNDk1Mikg4oaSIG9uZSBTZWNvbmRhcnkgKExhcmdlKSBidXR0b24uXG4vLyBCZWxvdyBgbGFyZ2VgIHRoZSBjYXJkcyBzdGFjay4gVGhlIHBhZ2UgZ3V0dGVyIGNvbWVzIGZyb20gdGhlIGNvbnRhaW5lciBtaXhpbiBhbmQgdGhlXG4vLyBiYW5kJ3MgdmVydGljYWwgcGFkZGluZyBmcm9tIHRoZSBibG9jaydzIHBhZGRpbmcgbW9kaWZpZXIg4oCUIG5vIHNlY3Rpb24gd3JhcHBlciBvZiBpdHNcbi8vIG93bi4gU2VlIHNpdGUtY29udGV4dC9kZXNpZ24tdG9rZW5zLm1kIOKGkiBMYXlvdXQuXG5cbi8vIENvbHVtbiBpbWFnZSDiiYggNTcwIMOXIDMwOSBpbiB0aGUgZGVza3RvcCBjb21wOyBub3QgYSBib3VuZCBGaWdtYSB2YXJpYWJsZS4gT25lIHJhdGlvXG4vLyBzZXJ2ZXMgYm90aCBicmVha3BvaW50cyAoZGVjaWRlZCB3aXRoIE5hdGhhbiDigJQgdGhlIG1vYmlsZSBjb21wJ3Mgc2hvcnRlciBjcm9wIGlzIG5vdFxuLy8gZm9sbG93ZWQpLiBFeHByZXNzZWQgaGVpZ2h0L3dpZHRoIChiYW5uZXIvc2xpZGUgY29udmVudGlvbikgc28gaXQgZmVlZHMgdGhlIHBhZGRpbmdcbi8vIGZhbGxiYWNrIGRpcmVjdGx5OyB0aGUgYXNwZWN0LXJhdGlvIGJveCBpbnZlcnRzIGl0LiBObyBoYXJkY29kZWQgaGVpZ2h0IOKAlCB0aGUgcmF0aW8gaXNcbi8vIHRoZSBjb21wIG1lYXN1cmVtZW50LlxuJHRzbnotdHdvLWNvbHVtbi1mZWF0dXJlLWltYWdlLXJhdGlvOiAzMDkvNTcwO1xuXG4udHNuei10d28tY29sdW1uLWZlYXR1cmUge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIC8vIEdhcCBiZXR3ZWVuIHRoZSBzdGFja2VkIGNhcmRzIG9uIG1vYmlsZSAoY29tcCAyMCkuXG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIC8vIEVxdWFsLWhlaWdodCBTa3kgcGFuZWxzLCBzbyBhIHRhbGxlciBjYXJkIGxpZnRzIHRoZSBvdGhlciB0byBtYXRjaCByYXRoZXJcbiAgICAgICAgICAgIC8vIHRoYW4gbGVhdmluZyBhIHNob3J0IHBhbmVsIGZsb2F0aW5nLlxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAvLyBUaGUgMzJweCBjZWxsLWd1dHRlciB0b2tlbiBiZXR3ZWVuIHRoZSB0d28gY2FyZHMgKGNvbXAncyAzNCBpcyBhbiB1bnNuYXBwZWRcbiAgICAgICAgICAgIC8vIGNhbnZhcyBnYXA7IHRoZSBiYW5kIHNob3dzIHRocm91Z2ggaGVyZSkuXG4gICAgICAgICAgICBnYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBjYXJkIOKAlCBhIFNreSBwYW5lbCBvbiB0aGUgd2hpdGUgYmFuZC4gUGFkZGluZyBpcyAyMCBvbiBtb2JpbGUsIDMyIGZyb20gYGxhcmdlYC5cbiAgICAmX19jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvLyBJbWFnZSDihpIgY29udGVudCByaHl0aG0gaW5zaWRlIHRoZSBjYXJkLlxuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMjApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1za3k7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgzMik7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgzMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLy8gU3F1YXJlIGNvcm5lcnMg4oCUIG5vIHJhZGl1cyAoY29tcCAxMTY0OjM5MzUgLyAxODk3OjI3MTgpLlxuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAkdHNuei10d28tY29sdW1uLWZlYXR1cmUtaW1hZ2UtcmF0aW87XG5cbiAgICAgICAgLy8gYXNwZWN0LXJhdGlvIGhhcyBubyBvbGRlci1TYWZhcmkgZmFsbGJhY2s7IHRoZSBwYWRkaW5nIHRyaWNrIGhvbGRzIHRoZSByYXRpb1xuICAgICAgICAvLyBiZWZvcmUgdGhlIGltYWdlIGxvYWRzLlxuICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgkdHNuei10d28tY29sdW1uLWZlYXR1cmUtaW1hZ2UtcmF0aW8pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgLy8gQ29weSArIGJ1dHRvbiBiZWxvdyB0aGUgaW1hZ2UuIEdyb3dzIHRvIGZpbGwgdGhlIGNhcmQgc28gdGhlIGJ1dHRvbiBjYW4gc2l0IGF0IHRoZVxuICAgIC8vIGJvdHRvbSBvbiBlcXVhbC1oZWlnaHQgZGVza3RvcCBwYW5lbHMuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMTYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIEhlYWRpbmcvYm9keSBncm91cCDihpIgYnV0dG9uIGdhcCBpbiB0aGUgY29tcC5cbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGVhZGluZyArIGJvZHkgZ3JvdXAgKGNvbXAgZ2FwIDIwKS5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgxMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaHl0aG0gaXMgdGhlIGZsZXggZ2FwcyBhYm92ZTsgZHJvcCB0aGUgaW5oZXJpdGVkIGhlYWRpbmcgbWFyZ2luIHNvIGl0IGlzbid0IGRvdWJsZWQuXG4gICAgLy8gSGVhZGluZyBjb2xvdXIgaXMgQnJhbmQgQmx1ZSA9ICRoZWFkZXItY29sb3I7IHRoZSBINCB0b2tlbiBzdXBwbGllcyBzaXplIGFuZCB3ZWlnaHQuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAvLyBCb2R5IGNvcHkgaXMgQm9keSAjNDI0OTUyIGluIHRoZSBjb21wIOKAlCB0aGUgJGJvZHktZm9udC1jb2xvciB0b2tlbi4gU3RhdGVkIGV4cGxpY2l0bHlcbiAgICAvLyBzbyBpdCBob2xkcyByZWdhcmRsZXNzIG9mIGFueSBpbmhlcml0ZWQgYmxvY2sgY29sb3VyLlxuICAgICZfX2JvZHkge1xuICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcblxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBQaW4gdGhlIGJ1dHRvbiB0byB0aGUgYm90dG9tIG9mIHRoZSBlcXVhbC1oZWlnaHQgcGFuZWwuXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGJ1dHRvbiBpcyB0aGUgZmxleCBpdGVtIGl0c2VsZiDigJQgbm8gd3JhcHBlci4gT24gbW9iaWxlIGl0IHN0cmV0Y2hlcyB0byBmaWxsXG4gICAgICAgIC8vIHRoZSBjYXJkICh0aGUgTGFyZ2UgbW9iaWxlIHZhcmlhbnQpOyBmcm9tIGBsYXJnZWAgaXQgdGFrZXMgaXRzIG5hdHVyYWwgd2lkdGguXG4gICAgICAgID4gLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQWNjb3JkaW9uIGJsb2NrIOKAlCBFbGVtZW50QWNjb3JkaW9uICsgRWxlbWVudEFjY29yZGlvbkl0ZW0uXG4vLyBGaWdtYTogMzI1OjE1MTggKGRlc2t0b3ApIC8gMTg2NDoyMjcyIChtb2JpbGUpLlxuLy9cbi8vIE5hbWVkIGBhY2NvcmRpb24tYmxvY2tgIC8gYC50c256LWFjY29yZGlvbi1ibG9ja2Agb24gcHVycG9zZTogdGhlIHN0eWxlZ3VpZGUtZXJhXG4vLyBgX2FjY29yZGlvbi5zY3NzYCBhbHJlYWR5IG93bnMgYC50c256LWFjY29yZGlvbmAgYW5kIGlzIHVucmVsYXRlZCB0byB0aGlzIGJsb2NrLlxuXG4udHNuei1hY2NvcmRpb24tYmxvY2sge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAgICAgLy8gVGhlIG1vYmlsZSBmcmFtZSB1c2VzIGEgMjRweCBwYWdlIGVkZ2U7IHRoZSBzaGFyZWQgY29udGFpbmVyIGlzIDE2cHggYXQgc21hbGwuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMjQpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSgyNCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgY29tcCdzIDQ5MS82ODIgc3BsaXQgb24gYSAxMjM3IGNvbnRlbnQgd2lkdGggaXMgYSA1LzcgZGl2aXNpb24gb2YgdGhlXG4gICAgICAgIC8vIDEyLWNvbHVtbiBncmlkICgwLjIlIG9mZiksIHNvIHRoZSByYXRpbyBpcyB3cml0dGVuIGFzIHRoZSBncmlkJ3Mgb3duIGNvbHVtbnNcbiAgICAgICAgLy8gcmF0aGVyIHRoYW4gYXMgcmVjb25zdHJ1Y3RlZCBkZWNpbWFscy5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNWZyIDdmcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHNwYWNlKDY0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdpdGggdGhlIGhlYWRpbmcsIGNvcHkgYW5kIGJ1dHRvbiBhbGwgZW1wdHkgdGhlIGFjY29yZGlvbiB0YWtlcyB0aGUgZnVsbCB3aWR0aC5cbiAgICAmLS1uby1jb250ZW50ICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMzIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMTYpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgJl9fY29weSB7XG4gICAgICAgIC8vIC50c256LWxlYWQgc2l0cyBvbiB0aGUgd3JhcHBlciwgYnV0IGBwYCBjYXJyaWVzIGl0cyBvd24gc2l6ZSBmcm9tIHRoZSBwYXJhZ3JhcGhcbiAgICAgICAgLy8gdG9rZW4g4oCUIHNvIHRoZSBjb3B5IGhhcyB0byB0YWtlIHRoZSB3cmFwcGVyJ3MuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC50c256LWxlYWQgaXMgdGhlIGRlc2t0b3AgdG9rZW47IHBob25lcyBmYWxsIGJhY2sgdG8gdGhlIHBhcmFncmFwaCB0b2tlbi5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDI0KTtcblxuICAgICAgICAvLyBUaGUgbW9iaWxlIGNvbXAgc2hvd3MgdGhlIExhcmdlIGJ1dHRvbiBmaWxsaW5nIHRoZSByb3cuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgLy8gQm9yZGVyIHdpZHRocyBoYXZlIG5vIHRva2VuIHlldCDigJQgc2VlIGRlc2lnbi10b2tlbnMubWQg4oaSIE5vdCB5ZXQgdG9rZW5pc2VkLlxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRzbnotYm9yZGVyLXN1YnRsZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0taGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMjApIDA7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMTYpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICZfX2NhcmV0IHtcbiAgICAgICAgd2lkdGg6IHNwYWNlKDIwKTtcbiAgICAgICAgaGVpZ2h0OiBzcGFjZSgyMCk7XG4gICAgICAgIGZsZXg6IDAgMCBzcGFjZSgyMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ljb25zL2NhcmV0LWRvd24uc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgIC5pcy1hY3RpdmUgPiAudHNuei1hY2NvcmRpb24tYmxvY2tfX2l0ZW0taGVhZGVyICYge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiBzcGFjZSg0MCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHNwYWNlKDQwKTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IHNwYWNlKDQwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDEwKSAwIHNwYWNlKDIwKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMjQpIDAgc3BhY2UoMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYW5zd2VyIHtcbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRzbnotY3RhLXNwYWNpbmc6ICRjYXJkLXBhZGRpbmc7XG4kdHNuei1jdGEtYm9yZGVyLXdpZHRoOiAwLjI1cmVtO1xuJHRzbnotY3RhLWJvcmRlcjogJHdoaXRlICR0c256LWN0YS1ib3JkZXItd2lkdGggc29saWQ7XG4kdHNuei1jdGEtaW4tYnJlYWtwb2ludDogMzgwO1xuXG5AbWl4aW4gdHNuei1jdGEtc3R5bGUgKFxuICAgICRibG9jay1uYW1lOiBmYWxzZSxcbiAgICAkd3JhcHBlci1jbGFzczogJ3dyYXBwZXInLFxuICAgICR0b3AtY2xhc3M6ICd0b3AnLFxuICAgICRjb250ZW50LWNsYXNzOiAnY29udGVudCcsXG4gICAgJGhlYWRpbmctY2xhc3M6ICdoZWFkaW5nJyxcbiAgICAkZGVzY3JpcHRpb24tY2xhc3M6ICdkZXNjcmlwdGlvbicsXG4gICAgJGJyZWFrcG9pbnQ6IGxhcmdlXG4pIHtcbiAgICAkdGhpczogI3smfTtcbiAgICAkdGVtcC1ibG9ja25hbWU6IHN0ci1zcGxpdCgkdGhpcywgJy0tJyk7XG4gICAgJGJsb2NrbmFtZTogbnRoKCR0ZW1wLWJsb2NrbmFtZSwgMSk7XG5cbiAgICBAaWYgbGVuZ3RoKCR0ZW1wLWJsb2NrbmFtZSkgPiAxIHtcbiAgICAgICAgJGJsb2NrbmFtZTogJHRoaXMgKyAnICcgKyBudGgoJHRlbXAtYmxvY2tuYW1lLCAxKTtcbiAgICB9XG5cbiAgICBAYXQtcm9vdCAmX18jeyR3cmFwcGVyLWNsYXNzfSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6ICRjYXJkLXNoYWRvdztcblxuICAgIH1cblxuICAgIEBhdC1yb290ICZfXyN7JHRvcC1jbGFzc30ge1xuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgLSAkdHNuei1jdGEtYm9yZGVyLXdpZHRoO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjYXJkLXBhZGRpbmcgLSAkdHNuei1jdGEtYm9yZGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGF0LXJvb3QgJl9fI3skY29udGVudC1jbGFzc30ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpIC0gJHRzbnotY3RhLWJvcmRlci13aWR0aDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nIC0gJHRzbnotY3RhLWJvcmRlci13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBhdC1yb290ICZfXyN7JGhlYWRpbmctY2xhc3N9IHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAYXQtcm9vdCAmX18jeyRkZXNjcmlwdGlvbi1jbGFzc30ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdHNuei1jdGEtc3BhY2luZztcbiAgICB9XG59XG5cbkBtaXhpbiB0c256LWN0YS1jb2xsYXBzZShcbiAgICAkYnJlYWtwb2ludDogJHRzbnotY3RhLWluLWJyZWFrcG9pbnQgZG93blxuKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0obWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0obWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59O1xuXG4udHNuei1jdGEge1xuICAgIEBpbmNsdWRlIHRzbnotY3RhLXN0eWxlO1xuXG4gICAgJi0tYmx1ZSxcbiAgICAmLS1tYXAtbnoge1xuICAgICAgICAudHNuei1jdGFfX3dyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA0JSk7XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyAoYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIGRhcmtlbigkcHJpbWFyeS1jb2xvciwgNCUpLCAkcHJpbWFyeS1jb2xvcikpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBjb25pYy1ncmFkaWVudChmcm9tIDEwMGRlZywgZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA0JSksICRwcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWN0YV9fdG9wIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1jdGFfX2NvbnRlbnQge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1hcC1ueiB7XG4gICAgICAgIC50c256LWN0YV9fd3JhcHBlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL21hcC1uZXctemVhbGFuZC5zdmcnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1jdGFfX3RvcCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0OSU7XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1jdGFfX2NvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0OSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zaW1wbGUge1xuICAgICAgICAudHNuei1jdGFfX3RvcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY3RhX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICVoNjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50c256LXNlYXJjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1yZXNldCgkY29sb3I6ICR3aGl0ZSwgJHJlc2V0LWxpbmtzOiBmYWxzZSk7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDQlKTtcblxuICAgIEBzdXBwb3J0cyAoYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIGRhcmtlbigkcHJpbWFyeS1jb2xvciwgNCUpLCAkcHJpbWFyeS1jb2xvcikpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIGRhcmtlbigkcHJpbWFyeS1jb2xvciwgNCUpLCAkcHJpbWFyeS1jb2xvcik7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbDsgXG4gICAgICAgIG1heC13aWR0aDogNTBlbTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICZfX2lucHV0cyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgJGd1dHRlcnM6IDApO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgcGFkZGluZzogMC40ZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOSBvZiAxMiwgJGd1dHRlcnM6IDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgzIG9mIDEyLCAkZ3V0dGVyczogMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXVpY2stbGlua3Mge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgICZfX3F1aWNrLWxpbmtzLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSwgJGd1dHRlcnM6IDRyZW0pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuXG4gICAgJl9fcXVpY2stbGlua3MtY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsICRndXR0ZXJzOiAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsICRndXR0ZXItcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXJlbTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHNuei1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIHRzbnotY2FyZC1zdHlsZSgkcGFkZGluZy10YXJnZXQ6ICd3cmFwcGVyJyk7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgIH1cblxuICAgICZfX2FjY29yZGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkbGlnaHQtZ3JheTtcblxuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRsaWdodC1ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLnRzbnotbmF2IHtcbiAgICBAZXh0ZW5kICVoaWRlLWZvci1wcmludDtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJGNvbG9yOiAkd2hpdGUsICRyZXNldC1saW5rczogZmFsc2UpO1xuXG4gICAgJl9fZW5xdWlyeS1idXR0b24ge1xuICAgICAgICBtYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jaGlsZC1saXN0LFxuICAgICZfX2dyYW5kY2hpbGQtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgICZfX2xpc3QsXG4gICAgJl9fY2hpbGQtbGlzdCxcbiAgICAmX19ncmFuZGNoaWxkLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJHdoaXRlLCAxLjEyNXJlbSk7XG4gICAgfVxuXG4gICAgJl9fY2hpbGQtbGlzdCB7XG4gICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgICAgICAgIC5vcGVucy1yaWdodCAmIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3BlbnMtbGVmdCAmIHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGluay10ZXh0LFxuICAgICZfX2NoaWxkLXRleHQsXG4gICAgJl9fZ3JhbmRjaGlsZC10ZXh0IHtcbiAgICAgICAgLnNlY3Rpb24gPiBhID4gJixcbiAgICAgICAgLmN1cnJlbnQgPiBhID4gJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5rLXVuZGVybGluZSgkcHJpbWFyeS1jb2xvciwgJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0LWdyYXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tIE1vYmlsZSBvZmYtY2FudmFzIGZvb3RlciBjbHVzdGVyIChiZWxvdyB0aGUgZHJpbGxkb3duKSDigJQgMi4wIC0tLVxuICAgIC8vIFR3byBmdWxsLXdpZHRoIENUQXMsIHRoZSBjYWxsLXVzIGxpbmUsIHRoZW4gdGhlIHNvY2lhbCByb3csIDI0cHggYXBhcnQuIFNpdHMgMzJweCBiZWxvd1xuICAgIC8vIHRoZSBtZW51IGxpc3QuIEZpZ21hIDEyOTctMjI0NCAobm9kZSBcIkJvdHRvbVwiKS5cbiAgICAmX19mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMzIpO1xuICAgIH1cblxuICAgICZfX2N0YXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHNwYWNlKDEyKTtcblxuICAgICAgICAvLyBUd28gaGFsZi13aWR0aCBDVEFzIG9uIGEgfjM0MnB4IHBhbmVsIGxlYXZlIGxpdHRsZSByb29tLCBzbyB0cmltIHRoZSBsYWJlbCBzaXplIGFuZFxuICAgICAgICAvLyBzaWRlIHBhZGRpbmcgZnJvbSB0aGUgTGFyZ2UgZGVmYXVsdHMgdG8ga2VlcCBcIk91ciBMb2NhdGlvbnNcIiBvbiBvbmUgbGluZS5cbiAgICAgICAgLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNlKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2UoMTIpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGhvbmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHJlbS1jYWxjKDIpO1xuICAgIH1cblxuICAgICZfX3Bob25lLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMS41KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19waG9uZS1udW1iZXIge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdHNuei13ZWlnaHQtZXh0cmFib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogc3BhY2UoMTApO1xuICAgIH1cblxuICAgIC8vIFRoZSBTeW1ib2wgU1ZHIGlzIHRoZSB3aG9sZSBjaXJjbGUgKGN1cnJlbnRDb2xvciBmaWxsLCBnbHlwaCBrbm9ja2VkIG91dCB0byBzaG93IHRoZVxuICAgIC8vIHBhbmVsIHRocm91Z2gpIOKAlCBzYW1lIGFzIHRoZSBzaXRlIGZvb3Rlci4gU28gTk8gQ1NTIGJhY2tncm91bmQgY2lyY2xlOiBgY29sb3JgIHBhaW50cyB0aGVcbiAgICAvLyBjaXJjbGUgd2hpdGUgYW5kIHRoZSBwYW5lbCBzaG93cyB0aHJvdWdoIHRoZSBnbHlwaCBhcyBibHVlLiBSZWNvbG91ciBncmV5IG9uIGhvdmVyLlxuICAgICZfX3NvY2lhbC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzOSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzkpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHNuei1kdXJhdGlvbi1mYXN0ICR0c256LWVhc2luZztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1ncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0gTW9iaWxlIG9mZi1jYW52YXMgZHJpbGxkb3duIOKAlCAyLjAgLS0tXG4gICAgLy8gRnVsbC1ibGVlZCBibHVlIHBhbmVsOyBmbGF0IDE3cHggd2hpdGUgcm93cyBzcGxpdCBieSByZ2JhKCNmZmYsLjE1KSBoYWlybGluZXM7XG4gICAgLy8gaGFuZC1yb2xsZWQgYnJhbmQteWVsbG93IGNoZXZyb24gY2FyZXRzIChGb3VuZGF0aW9uJ3Mgb3duIGFycm93cyBhcmUgZGlzYWJsZWQpIGRyaXZlXG4gICAgLy8gaW50byBhIHN1Ym1lbnUgd2hvc2UgRm91bmRhdGlvbiBwYXJlbnQgbGluayBiZWNvbWVzIHRoZSAyMnB4IGhlYWRpbmcgYW5kIHRoZSBCYWNrIGJ1dHRvblxuICAgIC8vIHJlYWRzIHllbGxvdy4gRmxleCBjb2x1bW4gc28gdGhlIGNsb25lZCBkcmlsbGRvd24gc2l0cyBhYm92ZSB0aGUgc3RhdGljIGZvb3RlciBjbHVzdGVyLlxuICAgIC8vIEZpZ21hIDEyOTctMjI0NCAocm9vdCkgLyAxNDcxLTIyMTAgKHN1Ym1lbnUpLlxuICAgICYtLXZlcnRpY2FsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gMjAgdG9wIC8gMjQgc2lkZXMgLyAzMiBib3R0b20gKEZpZ21hKS5cbiAgICAgICAgcGFkZGluZzogc3BhY2UoMjApIHNwYWNlKDI0KSBzcGFjZSgzMik7XG5cbiAgICAgICAgLy8gVGhlIHBhbmVsIHdyYXBwZXIgaXMgdGhlIG9mZi1jYW52YXMgYXV0b2ZvY3VzIHRhcmdldCAoc2VlIE5hdmlnYXRpb25WZXJ0aWNhbC5zcyksXG4gICAgICAgIC8vIHNvIGl0IHRha2VzIGZvY3VzIG9uIG9wZW4uIEl0J3MgYSBjb250YWluZXIsIG5vdCBhIGNvbnRyb2wg4oCUIGhpZGUgaXRzIGZvY3VzIHJpbmc7XG4gICAgICAgIC8vIHRoZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBiZWxvbmdzIG9uIHRoZSBsaW5rcyBhcyB5b3UgdGFiIHRocm91Z2ggdGhlbS5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVzZXQgbGlzdCBjaHJvbWUgYXQgZXZlcnkgbGV2ZWwuXG4gICAgICAgIC50c256LW5hdl9fbGlzdCxcbiAgICAgICAgLnRzbnotbmF2X19tZWdhLW1lbnUsXG4gICAgICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3VibWVudXMgYXJlIHBvc2l0aW9uZWQgYWJzb2x1dGVseSBvdmVyIHRoZSBwcmV2aW91cyBsZXZlbCwgc28gdGhleSBtdXN0IGJlIE9QQVFVRVxuICAgICAgICAvLyBhbmQgY292ZXIgdGhlIHdob2xlIHBhbmVsIGhlaWdodCDigJQgb3RoZXJ3aXNlIHRoZSBsZXZlbCBiZWhpbmQgc2hvd3MgdGhyb3VnaCAodGhlXG4gICAgICAgIC8vIG92ZXJsYXAgZ2xpdGNoKS4gbWluLWhlaWdodDoxMDAlIHJlc29sdmVzIGFnYWluc3QgdGhlIHdyYXBwZXIgaGVpZ2h0IEZvdW5kYXRpb24gc2V0cy5cbiAgICAgICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEEgbWVudSByb3cg4oCUIHRvcC1sZXZlbCBpdGVtIG9yIGEgY2hpbGQuIEhhaXJsaW5lIHVuZGVyIGVhY2ggKEZpZ21hIHJnYmEgLjE1KS5cbiAgICAgICAgLnRzbnotbmF2X19pdGVtLFxuICAgICAgICAudHNuei1uYXZfX2NoaWxkLWl0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHRhcHBhYmxlIGxpbmsuIEZsYXQsIHdoaXRlLCAxN3B4OyByaWdodCBwYWRkaW5nIGxlYXZlcyByb29tIGZvciB0aGUgY2FyZXQuXG4gICAgICAgIC50c256LW5hdl9fbGluayxcbiAgICAgICAgLnRzbnotbmF2X19jaGlsZC1saW5rIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTgpIHNwYWNlKDI0KSByZW0tY2FsYygxOCkgMDsgLy8gMTggaXMgb2ZmIHRoZSB0b2tlbiBzY2FsZSAoRmlnbWEpXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGlsZCBsaW5rcyBmbHVzaC1sZWZ0OiBGb3VuZGF0aW9uJ3MgYC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGFgICgyIGNsYXNzZXMgK1xuICAgICAgICAvLyBlbGVtZW50KSBvdXQtc3BlY2lmaWVzIHRoZSBzaGFyZWQgcnVsZSBhYm92ZSBhbmQgcmUtYWRkcyBpdHMgMXJlbSBsZWZ0IHBhZGRpbmcsIHNvXG4gICAgICAgIC8vIHJlYXNzZXJ0IGl0IHdpdGggZW5vdWdoIHNwZWNpZmljaXR5IHRvIHdpbi5cbiAgICAgICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IC50c256LW5hdl9fY2hpbGQtbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxOCkgc3BhY2UoMjQpIHJlbS1jYWxjKDE4KSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3VycmVudCAvIHNlY3Rpb24gcGFnZSDihpIgYm9sZCBicmFuZC15ZWxsb3cgKHRoZSBcIkhvbWVcIiBzdGF0ZSBpbiB0aGUgY29tcCkuIEtpbGwgdGhlXG4gICAgICAgIC8vIHNoYXJlZCBncmFkaWVudCB0ZXh0LXVuZGVybGluZSB0aGF0IF9uYXYgYXBwbGllcyB0byBzZWN0aW9uL2N1cnJlbnQgbGluay10ZXh0LlxuICAgICAgICAuaXMtYWN0aXZlLFxuICAgICAgICAuc2VjdGlvbixcbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgPiAudHNuei1uYXZfX2xpbmssXG4gICAgICAgICAgICA+IC50c256LW5hdl9fY2hpbGQtbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50c256LW5hdl9fbGluay10ZXh0LFxuICAgICAgICAgICAgLnRzbnotbmF2X19jaGlsZC10ZXh0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yd2FyZCBjaGV2cm9uIG9uIGl0ZW1zIHRoYXQgb3BlbiBhIHN1Ym1lbnUg4oCUIDIuMCB0aGluIHllbGxvdyBjaGV2cm9uIChGaWdtYVxuICAgICAgICAvLyBjYXJldC1yaWdodCksIG5vdCBGb3VuZGF0aW9uJ3MgZmlsbGVkIHRyaWFuZ2xlLiBQb2ludHMgcmlnaHQuXG4gICAgICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTUpO1xuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3VuZGF0aW9uJ3MgQmFjayBidXR0b24g4oCUIHllbGxvdyAxNXB4IGJvbGQsIGxlZnQgY2hldnJvbiwgOHB4IGdhcCAoRmlnbWE6IDEwIHRvcCAvXG4gICAgICAgIC8vIDE4IGJvdHRvbSBwYWRkaW5nKS4gTm8gaGFpcmxpbmUgdW5kZXIgaXQuXG4gICAgICAgIC5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IHNwYWNlKDgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDEwKSAwIHJlbS1jYWxjKDE4KTsgLy8gMTggb2ZmLXNjYWxlIChGaWdtYSlcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvdW5kYXRpb24ncyBwYXJlbnQgbGluayAoZGF0YS1wYXJlbnQtbGluaykg4oaSIHRoZSAyMnB4IGV4dHJhYm9sZCBzdWJtZW51IGhlYWRpbmcuXG4gICAgICAgIC5pcy1zdWJtZW51LXBhcmVudC1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIHNwYWNlKDgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0c256LXdlaWdodC1leHRyYWJvbGQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbXBvbmVudC1yZXNldCgkd2hpdGUpO1xuXG4gICAgICAgICYjeyZ9IHtcbiAgICAgICAgICAgIC50c256LW5hdl9fbWVnYS1tZW51IHtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotbmF2X19pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LW5hdl9fbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgICAvLyBUaGUgeWVsbG93IDo6YWZ0ZXIgYmVsb3cgaXMgdGhlIG9ubHkgdW5kZXJsaW5lIHRoaXMgbmF2IHdhbnRzLiBGb3VuZGF0aW9uJ3NcbiAgICAgICAgICAgIC8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiB1bmRlcmxpbmUgd291bGQgb3RoZXJ3aXNlIHBhaW50IGEgd2hpdGVcbiAgICAgICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbiBsaW5lIG9uIHRoZSB3aGl0ZSBsaW5rIHRleHQgb24gOmhvdmVyLzpmb2N1cyDigJQgYW5kIGJlY2F1c2UgYVxuICAgICAgICAgICAgLy8gbW91c2UgY2xpY2sgbGVhdmVzIHRoZSBsaW5rIDpmb2N1c2VkLCB0aGF0IGxpbmUgbGluZ2VycyBhZnRlciB0aGUgcG9pbnRlciBtb3Zlc1xuICAgICAgICAgICAgLy8gYXdheS4gS2lsbCBpdCBvbiBob3Zlci9mb2N1cyB0b28gc28gaXQgb3V0LXNwZWNpZmllcyBGb3VuZGF0aW9uJ3MgYGE6aG92ZXJgLlxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIDIuMCBob3ZlcjogdGV4dCBzdGF5cyB3aGl0ZSwgYSBicmFuZC15ZWxsb3cgdW5kZXJsaW5lIGFwcGVhcnMg4oCUIHNldCBiZWxvd1xuICAgICAgICAgICAgLy8gdGhlIGJhc2VsaW5lIHZpYSBhbiA6OmFmdGVyIHNvIHRoZXJlJ3MgYSBnYXAgYmV0d2VlbiB0ZXh0IGFuZCBydWxlLlxuICAgICAgICAgICAgLnRzbnotbmF2X19saW5rLXRleHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDZweCk7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHNuei1kdXJhdGlvbi1mYXN0ICR0c256LWVhc2luZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgLnRzbnotbmF2X19saW5rLXRleHQ6OmFmdGVyLFxuICAgICAgICAgICAgJjpmb2N1cyAudHNuei1uYXZfX2xpbmstdGV4dDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUvc2VjdGlvbiBwYWdlczogeWVsbG93IHRleHQgKyB0aGUgc2luZ2xlIHRoaWNrIHVuZGVybGluZSBvbmx5LiBLaWxsIHRoZVxuICAgICAgICAvLyB0aWdodCB0ZXh0LXVuZGVybGluZSAoZ3JhZGllbnQgYmFja2dyb3VuZCBmcm9tIHRoZSBzaGFyZWQgYGxpbmstdW5kZXJsaW5lYCkgc28gd2VcbiAgICAgICAgLy8gZG9uJ3QgZ2V0IGEgc2Vjb25kIHJ1bGUgaHVnZ2luZyB0aGUgdGV4dC5cbiAgICAgICAgLnRzbnotbmF2X19pdGVtLnNlY3Rpb24gLnRzbnotbmF2X19saW5rLXRleHQsXG4gICAgICAgIC50c256LW5hdl9faXRlbS5jdXJyZW50IC50c256LW5hdl9fbGluay10ZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWxpZ24gdGhlIGZpcnN0IGxpbmsncyB0ZXh0IHdpdGggdGhlIGhlYWRlciBjb250YWluZXIncyA2cmVtIGVkZ2UgKHRoZSBsb2dvKSBieVxuICAgICAgICAvLyBkcm9wcGluZyBpdHMgb3duIGxlZnQgcGFkZGluZy5cbiAgICAgICAgLnRzbnotbmF2X19pdGVtOmZpcnN0LWNoaWxkIC50c256LW5hdl9fbGluayB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1uYXZfX2xpc3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1uYXZfX21lZ2EtbWVudSB7XG4gICAgICAgICAgICB0b3A6IDgwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAvLyBGb3VuZGF0aW9uIGFkZHMgYC5pcy1kcm9wZG93bi1zdWJtZW51YCB0byB0aGlzIDx1bD4gYW5kIHBhaW50cyBpdCB3aGl0ZSB3aXRoIGFcbiAgICAgICAgICAgIC8vIGJvcmRlciDigJQgc3RyaXAgdGhhdCBzbyB0aGUgY29udGFpbmVkIHdoaXRlIGNhcmQgKC50c256LW1lZ2EtcGFuZWxfX2NvbnRhaW5lcikgaXNcbiAgICAgICAgICAgIC8vIHRoZSBvbmx5IHZpc2libGUgc3VyZmFjZSwgbm90IGEgZnVsbC13aWR0aCBiYW5kIGJlaGluZCBpdC5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRzbnotbWVnYS1tZW51LWNvbC1ib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblxuLnRzbnotbWVnYS1tZW51IHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJGJvZHktZm9udC1jb2xvcik7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDVweCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGVzdC1ncmF5O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplLWFkanVzdDogMC42O1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggLSAobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpICogMik7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbygpO1xuICAgICAgICAgICAgdG9wOiAyZW07XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHRzbnotbWVnYS1tZW51LWNvbC1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHRzbnotbWVnYS1tZW51LWNvbC1ib3JkZXI7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMWVtIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19saXN0LFxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGV4dGVuZCAlaDY7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3ZlciA+ICYge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1cnJlbnQgPiBhID4gJiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdC1saW5rIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMTI1ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC5jdXJyZW50ID4gJiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdC10ZXh0IHtcbiAgICAgICAgOmhvdmVyID4gJiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LFxuICAgICZfX2xpc3QtdGV4dCB7XG4gICAgICAgIC5jdXJyZW50ID4gYSA+ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluay11bmRlcmxpbmUoJGxpZ2h0ZXN0LWdyYXksICRwcmltYXJ5LWNvbG9yLCAkbGlnaHQtZ3JheSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBEZXNrdG9wIG1lZ2EtbWVudSBwYW5lbCDigJQgMi4wLlxuLy9cbi8vIFJlbmRlcmVkIGJ5IFBhcnRpYWxzL0NvbXBvbmVudHMvTWVnYU1lbnVQYW5lbC5zcyBpbnNpZGUgdGhlIG5hdidzIGAudHNuei1uYXZfX21lZ2EtbWVudWBcbi8vIGhvb2sgKHdoaWNoIF9uYXYuc2NzcyBhbHJlYWR5IHBvc2l0aW9ucyBmdWxsLXdpZHRoIGJlbG93IHRoZSBiYXIgYW5kIHNob3dzIG9uIGhvdmVyIHZpYVxuLy8gYC5qcy1kcm9wZG93bi1hY3RpdmVgKS4gVGhpcyBwYXJ0aWFsIHN0eWxlcyB0aGUgcGFuZWwgdGhhdCBzaXRzIGluIHRoYXQgaG9vazogYSB3aGl0ZSBiYW5kXG4vLyB3aXRoIGEgY2VudHJlZCBjb250ZW50IGNvbnRhaW5lciwgb25lIG9mIHR3byBsYXlvdXRzIChGZWF0dXJlZCBjYXJkcyAvIExpbmtzIGxpc3QpIGFuZCBhblxuLy8gb3B0aW9uYWwgYmx1ZSBDVEEgc3ViLXBhbmVsLiBUb2tlbnMgb25seSDigJQgc2VlIGRlc2lnbi10b2tlbnMubWQuXG4vL1xuLy8gRmlnbWE6IDEyNjMtMjE0MSAoMyBjYXJkcyArIENUQSksIDE0NDYtMjIwNSAoMiArIENUQSksIDEyNjQtMjE3NSAobGlua3MgKyBDVEEpLFxuLy8gMTQ0NC0yMjA1ICg0IGNhcmRzLCBubyBDVEEpLiBDb250ZW50IDkwMCAvIENUQSAzMDUgLyBndXR0ZXJzIDMyOyBjYXJkIHBob3RvIDI4NMOXMTYwLlxuXG4kdHNuei1tZWdhLXBhbmVsLWN0YS13aWR0aDogcmVtLWNhbGMoMzIwKTtcbiR0c256LW1lZ2EtcGFuZWwtY2FyZC1tZWRpYS1yYXRpbzogMjg0IC8gMTYwO1xuXG4vLyBUaGUgcGFuZWwgaG9zdCA8bGk+IGlzIGp1c3QgYSBwb3NpdGlvbmluZyBzaGVsbCDigJQgc3RyaXAgbGlzdCBjaHJvbWUuXG4udHNuei1uYXZfX21lZ2EtaG9zdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gUGxhaW4gY2hpbGQgbGlua3MgbGl2ZSBhbG9uZ3NpZGUgdGhlIHBhbmVsIHB1cmVseSBmb3IgdGhlIG1vYmlsZSBkcmlsbGRvd24gY2xvbmU7IHRoZVxuLy8gZGVza3RvcCBwYW5lbCBpcyB3aGF0IHNob3dzIGhlcmUsIHNvIGhpZGUgdGhlbSBmcm9tIGxhcmdlIHVwICh0aGV5IHRyYWlsIHRoZSBob3N0IDxsaT4pLlxuLnRzbnotbmF2LS1ob3Jpem9udGFsIC50c256LW5hdl9fbWVnYS1ob3N0IH4gLnRzbnotbmF2X19jaGlsZC1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4udHNuei1tZWdhLXBhbmVsIHtcbiAgICAvLyBUcmFuc3BhcmVudCBmdWxsLXdpZHRoIHBvc2l0aW9uaW5nIHdyYXBwZXIg4oCUIHRoZSB2aXNpYmxlIHdoaXRlIGNhcmQgaXMgdGhlIGNvbnRhaW5lZFxuICAgIC8vIF9fY29udGFpbmVyLCBzbyB0aGUgcGFuZWwgZG9lc24ndCBibGVlZCBlZGdlIHRvIGVkZ2UuXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICAvLyBBIGNvbnRhaW5lZCBjYXJkIHRoZSB3aWR0aCBvZiB0aGUgZ3JpZCBDT05URU5UIHJlZ2lvbiDigJQgdGhlIDE0NDAgZ3JpZCBjb250YWluZXJcbiAgICAgICAgLy8gbWludXMgaXRzIDZyZW0gcGFnZSBndXR0ZXJzIOKAlCBzbyBpdHMgZWRnZXMgbGluZSB1cCB3aXRoIHRoZSBsb2dvIGFuZCBuYXYgaXRlbXNcbiAgICAgICAgLy8gKHdoaWNoIHNpdCBhdCB0aGF0IDZyZW0gZWRnZSkgYW5kIHRoZSBwYWdlIHNob3dzIG9uIGVpdGhlciBzaWRlLiBTbWFsbCBpbnRlcm5hbFxuICAgICAgICAvLyBwYWRkaW5nIHBlciB0aGUgY29tcCAoMzIpLlxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggLSAoc3BhY2UoOTYpICogMik7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHNwYWNlKDMyKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBhZGRpbmc6IHNwYWNlKDMyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAvLyBTaGFkb3cgb24gbGVmdC9yaWdodC9ib3R0b20gb25seSDigJQgdGhlIHBhbmVsIHNpdHMgZmx1c2ggdW5kZXIgdGhlIG5hdiBiYXIsIHNvIHRoZVxuICAgICAgICAvLyBjbGlwLXBhdGggY3V0cyB0aGUgc2hhZG93IG9mZiBhdCB0aGUgdG9wIGVkZ2Ugd2hpbGUgbGV0dGluZyBpdCBibGVlZCBvdXQgdGhlIG90aGVyXG4gICAgICAgIC8vIHRocmVlIHNpZGVzLlxuICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCAwIHJnYmEoMjAsIDQxLCA0OCwgMC4yKTtcbiAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgwIC00OHB4IC00OHB4IC00OHB4KTtcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAvLyAtLS0gSGVhZGVyIHJvdzogZXllYnJvdyBsZWZ0LCBcIlZpZXcgYWxsIOKAulwiIHJpZ2h0IC0tLVxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDI0KTtcbiAgICB9XG5cbiAgICAvLyBFeWVicm93cyAoaGVhZGVyICsgQ1RBKS4gLnRzbnotdGFnbGluZSBzdXBwbGllcyB1cHBlcmNhc2U7IHRoZSByZXN0IGlzIHBlciBGaWdtYTpcbiAgICAvLyAxMi8xNiwgNzAwLCAwLjEyNXJlbSB0cmFja2luZy4gQ29sb3VyIGRpZmZlcnMgKGhlYWRlciBibHVlLCBDVEEgeWVsbG93KS5cbiAgICAmX19leWVicm93LFxuICAgICZfX2N0YS1leWVicm93IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMik7XG4gICAgfVxuXG4gICAgJl9fZXllYnJvdyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmX192aWV3LWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHNwYWNlKDgpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgLy8gVGV4dCBvbiB0aGUgc3Bhbiwgbm90IHRoZSA8YT4g4oCUIHRoZSBuYXYncyBgY29tcG9uZW50LXJlc2V0YCBzZXRzIGAudHNuei1uYXYgYWBcbiAgICAgICAgLy8gd2hpdGUgd2l0aCBoaWdoZXIgc3BlY2lmaWNpdHksIHNvIGFuIGFuY2hvci1sZXZlbCBjb2xvdXIgbG9zZXMuXG4gICAgICAgIC50c256LW1lZ2EtcGFuZWxfX3ZpZXctYWxsLXRleHQge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcnJvdyBpcyBicmFuZCB5ZWxsb3cuXG4gICAgICAgIC50c256LXN5bWJvbCB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC15ZWxsb3c7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIC50c256LW1lZ2EtcGFuZWxfX3ZpZXctYWxsLXRleHQsXG4gICAgICAgICY6Zm9jdXMgLnRzbnotbWVnYS1wYW5lbF9fdmlldy1hbGwtdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtYmx1ZS1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLSBGZWF0dXJlZCBjYXJkcyAtLS1cbiAgICAmX19jYXJkcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fY2FyZCB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19jYXJkLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciAudHNuei1tZWdhLXBhbmVsX19jYXJkLWhlYWRpbmcsXG4gICAgICAgICY6Zm9jdXMgLnRzbnotbWVnYS1wYW5lbF9fY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC1ibHVlLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FyZC1tZWRpYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxNik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGFzcGVjdC1yYXRpbzogI3skdHNuei1tZWdhLXBhbmVsLWNhcmQtbWVkaWEtcmF0aW99O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICB9XG5cbiAgICAmX19jYXJkLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICZfX2NhcmQtYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2NhcmQtaGVhZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxMCk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHNuei1kdXJhdGlvbi1mYXN0ICR0c256LWVhc2luZztcbiAgICB9XG5cbiAgICAmX19jYXJkLWRlc2Mge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxNik7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAvLyAtLS0gTGlua3MgbGlzdCAoZmxvd3MgaW50byB0aHJlZSBjb2x1bW5zLCBjb2x1bW4td2lzZSBsaWtlIHRoZSBjb21wKSAtLS1cbiAgICAmX19saW5rcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tZ2FwOiBzcGFjZSgzMik7XG4gICAgfVxuXG4gICAgJl9fbGluay1pdGVtIHtcbiAgICAgICAgLy8gOHB4IGJldHdlZW4gaXRlbXMgKEZpZ21hIHBpdGNoIDU0ICsgOCksIG1hdGNoZWQgdG8gdGhlIDhweCBsaW5rIHBhZGRpbmcgYmVsb3cuXG4gICAgICAgIG1hcmdpbjogMCAwIHNwYWNlKDgpO1xuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogc3BhY2UoMTIpO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSg4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNik7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICY6aG92ZXIgLnRzbnotbWVnYS1wYW5lbF9fbGluay1oZWFkaW5nLFxuICAgICAgICAmOmZvY3VzIC50c256LW1lZ2EtcGFuZWxfX2xpbmstaGVhZGluZyB7XG4gICAgICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtYmx1ZS1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LXN5bWJvbCB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIC8vIFRoZSBjaGV2cm9uIGdseXBoIGlzIGEgbmFycm93IDk6MTYg4oCUIHNpemUgaXQgdG8gaXRzIG93biBhc3BlY3QgKOKJiDbDlzEwKSByYXRoZXJcbiAgICAgICAgICAgIC8vIHRoYW4gYSBzcXVhcmUsIHdoaWNoIHdvdWxkIHJlbmRlciBpdCBmYXQuXG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC15ZWxsb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rLWJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHJlbS1jYWxjKDIpO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJl9fbGluay1oZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHNuei1kdXJhdGlvbi1mYXN0ICR0c256LWVhc2luZztcbiAgICB9XG5cbiAgICAmX19saW5rLWRlc2Mge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgfVxuXG4gICAgLy8gLS0tIENUQSBzdWItcGFuZWwgKGJsdWUpIC0tLVxuICAgICZfX2N0YSB7XG4gICAgICAgIGZsZXg6IDAgMCAkdHNuei1tZWdhLXBhbmVsLWN0YS13aWR0aDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmX19jdGEtZXllYnJvdyB7XG4gICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC15ZWxsb3c7XG4gICAgfVxuXG4gICAgJl9fY3RhLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKC0wLjUpO1xuICAgIH1cblxuICAgICZfX2N0YS1ib2R5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgb3BhY2l0eTogMC44NTtcbiAgICB9XG5cbiAgICAvLyBUaGUgbmF2J3MgYC50c256LW5hdiBhIHsgY29sb3I6IHdoaXRlIH1gIG91dHJhbmtzIHRoZSBwcmltYXJ5IGJ1dHRvbidzIG93biBibHVlIGxhYmVsLFxuICAgIC8vIHR1cm5pbmcgdGhlIHJlc3RpbmcgdGV4dCB3aGl0ZS4gUGluIHRoZSBidXR0b24ncyBjb2xvdXJzIChyZXN0ID0gYmx1ZSwgaG92ZXIgPSB3aGl0ZSlcbiAgICAvLyB3aXRoIGhpZ2hlciBzcGVjaWZpY2l0eS5cbiAgICAmX19jdGEtYWN0aW9uIC50c256LWFjdGlvbi1idXR0b24tLXByaW1hcnkge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRzbnotaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2NhcHRpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkd2hpdGUsIDAuMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1wYWRkaW5nICogMztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FwdGlvbi10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNGVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvdW50ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX196b29tIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwLjc1ZW07XG4gICAgICAgIHpvb206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgcmlnaHQ6IDAuNzVlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMC43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogVmVuZG9yICovXG5AaW1wb3J0ICdzd2lwZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9lZmZlY3QtZmFkZS9lZmZlY3QtZmFkZSc7XG5cbiR0c256LW1hc3RoZWFkLW1heC1oZWlnaHQ6IDU2MDtcbiR0c256LW1hc3RoZWFkLW1heC13aWR0aDogJG1heC1oZWFkZXItd2lkdGg7XG5cbi8vIC0tLSBNYXN0aGVhZCBpbWFnZSBhc3BlY3QgcmF0aW9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgc2hhcGUgb2YgdGhlIG1hc3RoZWFkIGltYWdlLCBwZXIgYnJlYWtwb2ludCxcbi8vIGV4cHJlc3NlZCBhcyAod2lkdGggaGVpZ2h0KS4gUmVzaGFwaW5nIHRoZSBtYXN0aGVhZCDigJQgb3IgZ2l2aW5nIGEgbmV3IGJyZWFrcG9pbnQgaXRzXG4vLyBvd24gY3JvcCDigJQgaXMgYSBvbmUtbGluZSBjaGFuZ2UgaGVyZS5cbi8vXG4vLyDimqDvuI8gS2VlcCBpbiBzeW5jIHdpdGggU2xpZGVyU2xpZGU6OiRtYXN0aGVhZF9pbWFnZV9yYXRpbyhfbW9iaWxlKSBpblxuLy8gYXBwL3NyYy9Nb2RlbHMvU2xpZGVyU2xpZGUucGhwLCB3aGljaCBzaXplcyB0aGUgZ2VuZXJhdGVkIGltYWdlIFVSTHMgdG8gdGhlIHNhbWUgcmF0aW8uXG4kdHNuei1tYXN0aGVhZC1yYXRpb3M6IChcbiAgICBzbWFsbDogKDM5MCAzMDApLCAgIC8vIHBob25lIOKAlCBwbGFjZWhvbGRlciBjcm9wIHVudGlsIHRoZSBtb2JpbGUgY29tcCBsYW5kc1xuICAgIG1lZGl1bTogKDE2MDAsIDU2MCksIC8vIHRhYmxldCAmIGRlc2t0b3Ag4oCUIDIwOjcsID09IHRoZSBvbGQgMTYwMDo1NjBcbikgIWRlZmF1bHQ7XG5cbi8vIEFwcGx5IHRoZSBwZXItYnJlYWtwb2ludCBhc3BlY3QgcmF0aW8gdG8gYSBmdWxsLXdpZHRoIGJveCAodGhlIGltYWdlLCBvciB0aGUgYXJyb3dcbi8vIG92ZXJsYXkgdGhhdCBtdXN0IG1hdGNoIHRoZSBpbWFnZSBoZWlnaHQpLiBBZGQgYSBicmVha3BvaW50IHRvIHRoZSBtYXAgYW5kIGl0IGp1c3Qgd29ya3MuXG5AbWl4aW4gdHNuei1tYXN0aGVhZC1hc3BlY3QoJG1hcDogJHRzbnotbWFzdGhlYWQtcmF0aW9zKSB7XG4gICAgQGVhY2ggJGJwLCAkd2ggaW4gJG1hcCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86ICN7bnRoKCR3aCwgMSl9IC8gI3tudGgoJHdoLCAyKX07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLSBCbHVlIGNvbnRlbnQgYmFuZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0c256LW1hc3RoZWFkLWJhbmQtcnVsZTogNnB4OyAgICAgICAgICAgICAgICAgICAgIC8vIHllbGxvdyB0b3AgcnVsZSAoY29tcG9uZW50LWxvY2FsLCBvZmYgdGhlIDQvOCBzY2FsZSlcbiR0c256LW1hc3RoZWFkLWJhbmQtcGFkZGluZzogc3BhY2UoMjQpOyAgICAgICAgICAgIC8vIHZlcnRpY2FsIGJyZWF0aGluZyByb29tLCBjb25zb2xpZGF0ZWQgYWNyb3NzIHRoZSBjb21wc1xuJHRzbnotbWFzdGhlYWQtc2FtLXdpZHRoOiByZW0tY2FsYygxNzApOyAgICAgICAgICAgLy8gU2FtJ3MgcmVuZGVyZWQgZm9vdHByaW50IG9uIGRlc2t0b3BcbiR0c256LW1hc3RoZWFkLXNhbS1oZWlnaHQ6IHJlbS1jYWxjKDI2MCk7XG4kdHNuei1tYXN0aGVhZC1zYW0tZ2FwOiBzcGFjZSgzMik7ICAgICAgICAgICAgICAgICAvLyBjbGVhcmFuY2UgYmV0d2VlbiBTYW0gYW5kIHRoZSBjb250ZW50IGNvbHVtblxuJHRzbnotbWFzdGhlYWQtc3ViaGVhZGluZy1tYXg6IDU1cmVtOyAgICAgICAgICAgICAgLy8gb3BlbmluZy1jb250ZW50IG1lYXN1cmU7IHVuYm91bmRcblxuLy8gQXBwbHkgdGhlIHNpdGUncyByZXNwb25zaXZlIHBhZ2UtZWRnZSBndXR0ZXIgdG8gdGhlIGdpdmVuIHByb3BlcnRpZXMsIGRyaXZlbiBvZmYgdGhlXG4vLyBzYW1lIGAkZ3JpZC1jb250YWluZXItcGFkZGluZ2AgbWFwIGV2ZXJ5IGJsb2NrIHVzZXMg4oCUIHNvIHRoZSBiYW5kIGNvbnRlbnQgbGluZXMgdXAgd2l0aFxuLy8gdGhlIHJlc3Qgb2YgdGhlIHBhZ2UgYW5kIHRyYWNrcyBhbnkgY2hhbmdlIHRvIHRoZSBndXR0ZXIuIEZvdW5kYXRpb24gc3RvcmVzIHRoZXNlIGFzXG4vLyB0b3RhbHMgKGhhbHZlZCBwZXIgc2lkZSksIGhlbmNlIHRoZSBgLyAyYC5cbkBtaXhpbiB0c256LW1hc3RoZWFkLWd1dHRlcigkcHJvcHMuLi4pIHtcbiAgICBAZWFjaCAkYnAsICR0b3RhbCBpbiAkZ3JpZC1jb250YWluZXItcGFkZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICAgICAgICAgICAgICN7JHByb3B9OiAkdG90YWwgLyAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udHNuei1tYXN0aGVhZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19pbWFnZS1vdXRlciB7XG4gICAgICAgIEBleHRlbmQgJWhpZGUtZm9yLXByaW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoJHRzbnotbWFzdGhlYWQtbWF4LXdpZHRoKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJl9fcGljdHVyZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogKDE1NS8zMjApKTtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoJHRzbnotbWFzdGhlYWQtbWF4LWhlaWdodCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAqICN7KCR0c256LW1hc3RoZWFkLW1heC1oZWlnaHQvJHRzbnotbWFzdGhlYWQtbWF4LXdpZHRoKX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGxhY2Vob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlO1xuXG4gICAgICAgIC5sYXp5bG9hZGVkID4gJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gMi4wIG1hc3RoZWFkIGhlYWRlciBiYW5kOiBzb2xpZCBicmFuZC1ibHVlIGZpbGwsIGNhcHBlZCBieSBhIHNvbGlkIGJyYW5kLXllbGxvd1xuICAgIC8vIHRvcCBydWxlIOKAlCBubyBib3R0b20gYm9yZGVyLCBubyBncmFkaWVudC4gQnJlYWRjcnVtYnMg4oaSIHRpdGxlIOKGkiBvcGVuaW5nIGNvbnRlbnRcbiAgICAvLyBzdGFjayB2ZXJ0aWNhbGx5IGF0IGV2ZXJ5IGJyZWFrcG9pbnQgKHBlciB0aGUgZGVza3RvcCArIG1vYmlsZSBjb21wcykuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKCR0c256LW1hc3RoZWFkLW1heC13aWR0aCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2UoMjQpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMzIpO1xuICAgICAgICBib3JkZXItdG9wOiAkdHNuei1tYXN0aGVhZC1iYW5kLXJ1bGUgc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLy8gU2FtZSAxNDQwIGNhcCArIHBhZ2UgZ3V0dGVyIGFzIGV2ZXJ5IG90aGVyIDIuMCBiYW5kLiBCb3RoLWVkZ2UgaW5zZXQgaXMgdGhlXG4gICAgLy8gYHRzbnotY29udGFpbmVyLS1pbnNldGAgY2xhc3Mgb24gdGhpcyBlbGVtZW50IGluIHRoZSB0ZW1wbGF0ZSAocGFnZSBndXR0ZXIgK1xuICAgIC8vIHNwYWNlKDMyKSBhdCBsYXJnZSkuIFRoZSBibHVlIGZpbGwgc3RheXMgZnVsbC1ibGVlZCBvbiBfX2hlYWRlci5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAmX19icmVhZGNydW1icyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgLy8gMi4wIGJyZWFkY3J1bWJzOiBTbWFsbCAoMTNweCkgdHlwZSwgd2hpdGUgXCIvXCIgc2VwYXJhdG9yIG9uIHRoZSBibHVlIGJhbmQuXG4gICAgICAgIC8vIFRoZSBjdXJyZW50IHBhZ2UgKGxhc3QgaXRlbSkgYWxyZWFkeSBpbmhlcml0cyB3aGl0ZTsgbGlua3Mgc3RheSBicmFuZC15ZWxsb3dcbiAgICAgICAgLy8gdmlhICRicmVhZGNydW1icy1pdGVtLWNvbG9yLlxuICAgICAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5icmVhZGNydW1icyBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJy8nO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMTIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICAvLyBcIk9wZW5pbmcgY29udGVudFwiIG9mIHRoZSBwYWdlIOKAlCBzdHlsZWQgYXMgdGhlIDIuMCBMZWFkLCBub3QgYW4gSDYuXG4gICAgICAgIEBleHRlbmQgLnRzbnotbGVhZDtcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMTYpO1xuICAgICAgICBtYXgtd2lkdGg6ICR0c256LW1hc3RoZWFkLXN1YmhlYWRpbmctbWF4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAudHNuei1sZWFkIHNpdHMgb24gdGhlIHdyYXBwZXIsIGJ1dCBgcGAgY2FycmllcyBpdHMgb3duIHNpemUgZnJvbSB0aGUgcGFyYWdyYXBoXG4gICAgICAgIC8vIHRva2VuIOKAlCBzbyB0aGUgY29weSBoYXMgdG8gdGFrZSB0aGUgd3JhcHBlcidzLlxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTYW0gbGl2ZXMgb24gdGhlIG1hc3RoZWFkLCBub3QgdGhlIHNsaWRlLiBTd2lwZXIncyBmYWRlIHNldHMgb3BhY2l0eSArIHRyYW5zbGF0ZTNkXG4gICAgLy8gb24gLnN3aXBlci1zbGlkZSwgd2hpY2ggY3JlYXRlcyBhIHN0YWNraW5nIGNvbnRleHQg4oCUIGEgcGVyLXNsaWRlIFNhbSAoei1pbmRleDogNSlcbiAgICAvLyBjYW5ub3QgcGFpbnQgYWJvdmUgYSBzaWJsaW5nIHNsaWRlJ3MgaW1hZ2UsIHNvIHRoZSBvdmVyZmxvdyB2YW5pc2hlZCBmb3IgdGhlXG4gICAgLy8gZHVyYXRpb24gb2YgdGhlIHRyYW5zaXRpb24uIE9uZSBzaGFyZWQgU2FtLCBzaWJsaW5nIG9mIC5zd2lwZXItd3JhcHBlciwgc2l0cyBhYm92ZVxuICAgIC8vIGV2ZXJ5IGZhZGluZyBzbGlkZS4gU2xvdCBpcyB0aGUgMTQ0MCBjb250ZW50IGNvbHVtbiBzbyBsZWZ0LWd1dHRlciBtYXRjaGVzIHRoZSBiYW5kLlxuICAgICZfX3NhbS1zbG90IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBtYXgtd2lkdGg6ICRncmlkLWNvbnRhaW5lci1tYXg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAvLyBEZXNrdG9wIG9ubHkgdW50aWwgdGhlIG1vYmlsZSBjb21wIGxhbmRzLlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2FtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAkdHNuei1tYXN0aGVhZC1zYW0td2lkdGg7XG4gICAgICAgIGhlaWdodDogJHRzbnotbWFzdGhlYWQtc2FtLWhlaWdodDtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1tYXN0aGVhZC1ndXR0ZXIobGVmdCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgLy8gT3ZlcmxheSB0aGF0IG1hdGNoZXMgdGhlIGltYWdlIGhlaWdodCBleGFjdGx5IChzYW1lIGFzcGVjdCByYXRpbyBhcyB0aGUgcGljdHVyZSksIHNvXG4gICAgLy8gdGhlIGFycm93cyBjZW50cmUgb24gdGhlIGltYWdlIHJhdGhlciB0aGFuIG9uIHRoZSBpbWFnZS1wbHVzLWJhbmQuIENsaWNrcyBmYWxsXG4gICAgLy8gdGhyb3VnaCBldmVyeXdoZXJlIGV4Y2VwdCB0aGUgYnV0dG9ucyB0aGVtc2VsdmVzLlxuICAgICZfX2Fycm93cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoJHRzbnotbWFzdGhlYWQtbWF4LXdpZHRoKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBAaW5jbHVkZSB0c256LW1hc3RoZWFkLWFzcGVjdDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgd2lkdGg6IHNwYWNlKDQ4KTtcbiAgICAgICAgaGVpZ2h0OiBzcGFjZSg0OCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAgcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYyg5KSByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN3aXBlciB1c2VzIGxvd2VyIGxldmVsIEJFTSBtb2RpZmllcnNcbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiBzcGFjZSgxNik7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk0uMzIgNy4yTDcuMTIuMzRhMS4xIDEuMSAwIDAgMSAxLjU2IDBjLjQzLjQ0LjQzIDEuMTUgMCAxLjU4TDIuNjcgOGw2IDYuMDljLjQ0LjQzLjQ0IDEuMTQgMCAxLjU4YTEuMSAxLjEgMCAwIDEtMS41NiAwTC4zMiA4LjhhMS4xMiAxLjEyIDAgMCAxIDAtMS41OHolMjIgZmlsbD0lMjIlMjMwMzRFQTIlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3dpcGVyIHVzZXMgbG93ZXIgbGV2ZWwgQkVNIG1vZGlmaWVyc1xuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogc3BhY2UoMTYpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNOC42OCA4LjhsLTYuOCA2Ljg3YTEuMSAxLjEgMCAwIDEtMS41NiAwIDEuMTMgMS4xMyAwIDAgMSAwLTEuNThMNi4zMyA4bC02LTYuMDlhMS4xMyAxLjEzIDAgMCAxIDAtMS41OCAxLjEgMS4xIDAgMCAxIDEuNTYgMEw4LjY4IDcuMmExLjEyIDEuMTIgMCAwIDEgMCAxLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYtLW5vLXBhZGRpbmctYm90dG9tIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OjE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IHtcbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCB7XG4gICYsIC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5zd2lwZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIH1cbn1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDAsMCwwLjUpLCByZ2JhKDAsMCwwLDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDAuNSksIHJnYmEoMCwwLDAsMCkpO1xuICB9XG59XG5cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCB7XG4gICYsICYgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIH1cbn1cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCB7XG4gICYsICYgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIH1cbn1cbiIsIi5zd2lwZXItY29udGFpbmVyLWZhZGUge1xuICAmLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIHtcbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG4gIH1cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgJiwgJiAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIiR0c256LWJyZWFkY3J1bWItbGluZS1oZWlnaHQ6IDEuNzVyZW07XG5cbi50c256LWJyZWFkY3J1bWJzIHtcbiAgICBAZXh0ZW5kICVoaWRlLWZvci1wcmludDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkdHNuei1icmVhZGNydW1iLWxpbmUtaGVpZ2h0O1xuICAgIH1cblxuICAgICYtLXdoaXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtM3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRzbnotcHJvZHVjdC1kZXRhaWwtbGFyZ2UtbW9iaWxlOiAzNzU7XG5cbi50c256LXByb2R1Y3QtZGV0YWlsIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICB9XG5cbiAgICAmX19qdXN0aWZpZWQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGp1c3RpZnkpXG4gICAgfVxuXG4gICAgJl9fdGFicy1iZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJl9fdGFicy1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICAgIH1cblxuICAgICZfX3RhYnMtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuXG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRzbnotcHJvZHVjdC1kZXRhaWwtbGFyZ2UtbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGFicy1uYXZpZ2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChzaHJpbmssICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycyhtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190YWJzLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJl9fdGFicy1wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gICAgfVxuXG4gICAgJl9fcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBzaHJpbmssICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20gbGVmdCByaWdodCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoc2hyaW5rLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tIGxlZnQgcmlnaHQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYobWlkZGxlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCAkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20gbGVmdCByaWdodCwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgcGFkZGluZzogMS43NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCAkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20gbGVmdCByaWdodCwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoOCBvZiAxMiwgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tIGxlZnQgcmlnaHQsICRicmVha3BvaW50OiBsYXJnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50LXRleHQge1xuICAgICAgICAmOm5vdChbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdKSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0LCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tIGxlZnQgcmlnaHQsICRicmVha3BvaW50OiBzbWFsbCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0IG9mIDEyLCAkYnJlYWtwb2ludDogbGFyZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ2FsbGVyeSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tIGxlZnQgcmlnaHQsICRicmVha3BvaW50OiBzbWFsbCk7XG4gICAgICAgIHBhZGRpbmc6IDEuNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogJGNhcmQtc2hhZG93O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCBib3R0b20gdG9wLCAkZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4tdmlkZW8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgJGd1dHRlci1wb3NpdGlvbjogYm90dG9tIGxlZnQgcmlnaHQsICRicmVha3BvaW50OiBsYXJnZSk7XG4gICAgfVxuXG4gICAgJiBbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdIHtcbiAgICAgICAgQGluY2x1ZGUgdHJ1bmNhdGVkLXRleHQoKTtcbiAgICB9XG59XG4iLCIudHNuei1sb2NhdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDoganVzdGlmeSk7XG4gICAgQGluY2x1ZGUgdHNuei1jYXJkLXN0eWxlKCRwYWRkaW5nLXRhcmdldDogXCJjb250YWluZXJcIik7XG5cbiAgICBhZGRyZXNzIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotY2FyZC1jb2xsYXBzZTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzLFxuICAgICZfX2ltYWdlLFxuICAgICZfX29wZW4taG91cnMsXG4gICAgJl9fYWN0aW9ucyxcbiAgICAmX19ib2R5LFxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkZ3V0dGVyczogMCk7XG4gICAgfVxuXG4gICAgJl9fbWV0YSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGxlZnQsICR5OiB0b3ApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19kZXRhaWxzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IGF1dG8sICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtbWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogNTAlLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgKDEwMHZ3IC0gI3skY2FyZC1wYWRkaW5nICogMn0gLSAje21hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAqIDJ9KSAqICN7JGdsb2JhbC1pZnJhbWUtaGVpZ2h0LXJhdGlvfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICN7KCRnbG9iYWwtd2lkdGggKiAoeHktY2VsbC1zaXplKDEwIG9mIDEyKSAvIDEwMCUpKSAqIChcbiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pZnJhbWUtaGVpZ2h0LXJhdGlvXG4gICAgICAgICAgICAgICAgKX07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzE2KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAoI3tyZW0tY2FsYyg3NzApfSAtICN7KCRjYXJkLXBhZGRpbmcgKiAyKSAtIDAuMTI1cmVtfSkgKiAjeyRnbG9iYWwtaWZyYW1lLWhlaWdodC1yYXRpb31cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBoMixcbiAgICAgICAgPiBoMyxcbiAgICAgICAgPiBoNCxcbiAgICAgICAgPiBoNSxcbiAgICAgICAgPiBoNiB7XG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX293bmVyLWxhYmVsLFxuICAgICZfX2FkZHJlc3MtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX19waG9uZS1sYWJlbCxcbiAgICAmX19mYXgtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxOCUsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuXG4gICAgJl9fZW1haWwtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxOCUsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fb3duZXIsXG4gICAgJl9fYWRkcmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEwMCUsICRndXR0ZXJzOiAwKTtcbiAgICB9XG5cbiAgICAmX19waG9uZSxcbiAgICAmX19mYXgsXG4gICAgJl9fZW1haWwge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiBhdXRvLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMsXG4gICAgJl9fYm9keSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2F3YXJkc3tcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgJl9fZGV0YWlscyxcbiAgICAmX19pbWFnZSxcbiAgICAmX19hZGRyZXNzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gKiAyO1xuICAgIH1cblxuICAgICZfX3Rlc3RpbW9uaWFscyB7XG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFtkYXRhLWNvbnRlbnQtdHJ1bmNhdGUtY29udGVudF0ge1xuICAgICAgICBAaW5jbHVkZSB0cnVuY2F0ZWQtdGV4dCgpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Rlc3RpbW9uaWFsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICB9XG59XG5cblxuLnRzbnotbG9jYXRpb24tcGFnZSB7XG4gICAgLy8gRnJhbmNoaXNlIENvbnRhY3QgYmFuZCDigJQgY2FwIHRoZSBTa3kgYmFja2dyb3VuZCB0byB0aGUgc2FtZSB3aWR0aCBhcyB0aGVcbiAgICAvLyBtYXN0aGVhZCBoZWFkZXIgYmFuZCBhYm92ZSBpdCAobm90IGZ1bGwtYmxlZWQpLlxuICAgICNkZXRhaWxzIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygkbWF4LWhlYWRlci13aWR0aCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufSIsIi8vIEZyYW5jaGlzZSBEZXRhaWwgXCJDb250YWN0IE91ciBUZWFtXCIgYmFuZC5cbi8vIEZpZ21hOiBkZXNrdG9wIDExNjQ6NDYzOSAvIG1vYmlsZSAxOTUwOjQzOTAuXG4vL1xuLy8gRGVza3RvcCBub2RlIGlzIGFuIHVuZ3JvdXBlZCB0d28tY29sdW1uIGZyYW1lIG9uIHdoaXRlLiBNb2JpbGUgKGFuZCBOYXRoYW4pIHNldCB0aGVcbi8vIGJhbmQ6IFNreSBiYWNrZ3JvdW5kLCBzdGFuZGFyZCBjb250YWluZXIsIGRvdWJsZSBwYWRkaW5nIG9uIGRlc2t0b3AuIExlZnQgaW5zZXQgbGl2ZXNcbi8vIG9uIF9fY29udGVudCAobm90IHRoZSBjb250YWluZXIpIHNvIHRoZSBzaGFyZWQgZ3JpZCBzdGF5cyBhbGlnbmVkIHdpdGggdGhlIEFib3V0IGJhbmRcbi8vIHdoaWxlIHRoZSBjb3B5IGxpbmVzIHVwIHdpdGggdGhlIG1hc3RoZWFkIGluc2V0IGVkZ2UuXG5cbi50c256LWZyYW5jaGlzZS1jb250YWN0IHtcbiAgICAvLyBgLnRzbnotYmxvY2stLXJlZnJlc2gtZGFyay1ncmF5YCBzZXRzIGNvbG9yIHRvIEJyYW5kIEJsdWUgZm9yIHRoZSB3aG9sZSBiYW5kLlxuICAgIC8vIEZpZ21hIDExNjQ6NDY0MDogb25seSB0aGUgaGVhZGluZyBpcyBCcmFuZCBCbHVlOyBjb3B5IGlzIHRoZSBCb2R5IHRva2VuLlxuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgICAgIC8vIE1vYmlsZSAxOTUwOjQzOTAg4oCUIHB5IDQwLiBJbmxpbmUgZ3V0dGVyIGNvbWVzIGZyb20gdGhlIGNvbnRhaW5lci5cbiAgICAgICAgcGFkZGluZy1ibG9jazogc3BhY2UoNDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vIERvdWJsZSBibG9jayBwYWRkaW5nID0gNjQgcGVyIGVkZ2UgKHNlZSBkZXNpZ24tdG9rZW5zLm1kIOKGkiBMYXlvdXQpLlxuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogc3BhY2UoNjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWZyYW5jaGlzZS1kZXRhaWwtY29sdW1ucztcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgxNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLy8gRXh0cmEgc3RlcCBvbiB0b3Agb2YgdGhlIHBhZ2UgZ3V0dGVyIOKAlCBtYXRjaGVzIHRzbnotY29udGFpbmVyLS1pbnNldC1sZWZ0XG4gICAgICAgICAgICAvLyB3aXRob3V0IG5hcnJvd2luZyB0aGUgZ3JpZCAoa2VlcHMgX19tZWRpYSBhbGlnbmVkIHdpdGggQWJvdXQgY29sIDIpLlxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSgzMik7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMTYpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpZ21hIDExNjQ6NDY0MCDigJQgTGVhZCAoMjAvMzIsIEJvZHkpLiBgLnRzbnotbGVhZGAgaXMgb24gdGhlIHdyYXBwZXI7IGBwYCBoYXMgaXRzXG4gICAgLy8gb3duIDE1LzE2IHNpemUgaW4gYF90eXBvZ3JhcGh5LnNjc3NgLCBzbyBpbmhlcml0IG9yIHRoZSBMZWFkIHRva2VuIG5ldmVyIHNob3dzLlxuICAgIC8vIEJlbG93IGBtZWRpdW1gIHRoZSBtb2JpbGUgY29tcCB1c2VzIFBhcmFncmFwaCBNb2JpbGUgKDE1LzIzKS5cbiAgICAmX19pZGVudGl0eSxcbiAgICAmX19ibG9jayB7XG4gICAgICAgIHAsXG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZHJlc3Mge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19vd25lcnMsXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0IC8gMztcbiAgICAgICAgLy8gSW1hZ2UgZmlyc3Qgb24gdGhlIHN0YWNrZWQgbGF5b3V0IChtb2JpbGUgY29tcCk7IGNvbnRlbnQgbGVhZHMgaW4gdGhlIERPTS5cbiAgICAgICAgb3JkZXI6IC0xO1xuXG4gICAgICAgIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogNCAvIDMpIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAvLyBNb2JpbGUgMTk1MDo0Njc0IOKAlCBnYXAgOC5cbiAgICAgICAgZ2FwOiBzcGFjZSg4KTtcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNlKDEyKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLy8gRGVza3RvcCAxMTY0OjQ4ODIg4oCUIHJvdywgZ2FwIDEyLCBleHRyYSAyNCBhYm92ZSB0aGUgQ1RBcy5cbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjZSgyNCk7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgID4gLnRzbnotYWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRnJhbmNoaXNlIERldGFpbCBcIkFib3V0IFRvdGFsc3BhbiB7UGFnZX1cIiBiYW5kLlxuLy8gRmlnbWE6IGRlc2t0b3AgMTE2NDo0OTE4IC8gbW9iaWxlIDE5NTA6NDM5OC5cbi8vXG4vLyBXaGl0ZSBiYW5kLCBzdGFuZGFyZCBjb250YWluZXIsIG5vIGluc2V0IChhIHBhZ2UtdGVtcGxhdGUgc2VjdGlvbiwgbm90IGFuIGVsZW1lbnRhbFxuLy8gYmxvY2sg4oCUIHBhZGRpbmcgbGl2ZXMgaGVyZSwgbm90IG9uIHRoZSBDTVMgYmxvY2stcGFkZGluZyBkcm9wZG93bnMpLiBUd28gY29sdW1ucyBvblxuLy8gZGVza3RvcDogdGhlIGF1dG8tYnVpbHQgaGVhZGluZyArIExlZnQgQ29udGVudCAobGVhZCBjb3B5KSBsZWFkIHRoZSBmaXJzdCBjb2x1bW4sIFJpZ2h0XG4vLyBDb250ZW50IChib2R5IGNvcHkpIHNpdHMgdG9wLWFsaWduZWQgYWxvbmdzaWRlLiBFdmVyeXRoaW5nIHN0YWNrcyBvbiBtb2JpbGUuXG5cbi50c256LWZyYW5jaGlzZS1hYm91dCB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICAgICAgLy8gTW9iaWxlIDE5NTA6NDM5OCDigJQgcHkgNDAuIElubGluZSBndXR0ZXIgY29tZXMgZnJvbSB0aGUgY29udGFpbmVyLlxuICAgICAgICBwYWRkaW5nLWJsb2NrOiBzcGFjZSg0MCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLy8gRG91YmxlIGJsb2NrIHBhZGRpbmcgPSA2NCBwZXIgZWRnZSAoc2VlIGRlc2lnbi10b2tlbnMubWQg4oaSIExheW91dCkuXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiBzcGFjZSg2NCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotZnJhbmNoaXNlLWRldGFpbC1jb2x1bW5zO1xuICAgIH1cblxuICAgICZfX2NvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMTYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGVza3RvcCBIMyAoMzIvMzcpLCBtb2JpbGUgSDIgKDI4LzM0KSDigJQgbmVpdGhlciBoZWFkaW5nIHRhZyBnaXZlcyBib3RoIHNpemUgc3RlcHMsXG4gICAgLy8gc28gc2V0IHRoZW0gZXhwbGljaXRseS4gQnJhbmQgQmx1ZSBlaXRoZXIgd2F5IChGaWdtYSAxMTY0OjQ5MTEgLyAxOTUwOjQzOTkpLlxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMTQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkdHNuei10cmFja2luZy10aWdodDtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU2O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gV1lTSVdZRyBjb3B5LiBgcGAgY2FycmllcyBpdHMgb3duIDE1LzE2IHNpemUgaW4gX3R5cG9ncmFwaHkuc2Nzcywgc28gbWFrZSBpdCBpbmhlcml0XG4gICAgLy8gZnJvbSB0aGUgY29sdW1uIHdyYXBwZXIgb3IgdGhlIGNvbHVtbidzIHR5cGUgdG9rZW4gbmV2ZXIgc2hvd3MuXG4gICAgJl9fbGVmdCxcbiAgICAmX19yaWdodCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGVmdCBjb2x1bW4g4oCUIExlYWQgKDIwLzMyKSBkZXNrdG9wLCBQYXJhZ3JhcGggTW9iaWxlICgxNS8yMykgYmVsb3cuXG4gICAgJl9fbGVmdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251ZztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSaWdodCBjb2x1bW4g4oCUIFBhcmFncmFwaCAoMTYvMjQpIGRlc2t0b3AsIFBhcmFncmFwaCBNb2JpbGUgKDE1LzIzKSBiZWxvdy5cbiAgICAmX19yaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251ZztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHNuei1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0c256LWNhcmQtc3R5bGUoJHBhZGRpbmctdGFyZ2V0OiAnd3JhcHBlcicpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICAmW2RhdGEtY29udGVudC10cnVuY2F0ZS1jb250ZW50XSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cnVuY2F0ZWQtdGV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgW2hyZWZdIHtcbiAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkbWVkaXVtLWdyYXksIDIxJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+IHVsLFxuICAgICAgICA+IG9sIHtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gaDIsXG4gICAgICAgID4gaDMsXG4gICAgICAgID4gaDQsXG4gICAgICAgID4gaDUsXG4gICAgICAgID4gaDYge1xuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGltZyxcbiAgICAgICAgPiBpZnJhbWUsXG4gICAgICAgID4gcCA+IGltZyxcbiAgICAgICAgPiBwID4gaWZyYW1lLFxuICAgICAgICA+IHAgPiBhID4gaW1nLFxuICAgICAgICA+IHAgPiBhID4gaWZyYW1lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpZnJhbWUsXG4gICAgICAgID4gcCA+IGlmcmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAjeyRjYXJkLXBhZGRpbmcgKiAyfSAtICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpICogMn0pICogI3skZ2xvYmFsLWlmcmFtZS1oZWlnaHQtcmF0aW99KTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICN7KCRnbG9iYWwtd2lkdGggKiAoeHktY2VsbC1zaXplKDEwIG9mIDEyKS8xMDAlKSkgKiAoJGdsb2JhbC1pZnJhbWUtaGVpZ2h0LXJhdGlvKX07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzE2KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCgje3JlbS1jYWxjKDc3MCl9IC0gI3soJGNhcmQtcGFkZGluZyAqIDIpIC0gMC4xMjVyZW19KSAqICN7JGdsb2JhbC1pZnJhbWUtaGVpZ2h0LXJhdGlvfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgLnRzbnotZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMmVtIDAgMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgICAgIC50c256LWNvbnRlbnRfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWNvbnRlbnRfX2JvZHkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMiBvZiAxMik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg4IG9mIDEyKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY29udGVudF9fYnV0dG9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyIG9mIDEyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDQgb2YgMTIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIuNzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGdWxsLXdpZHRoIHRleHQgY29udGVudCBpbiB0aGUgMi4wIGNvbnRhaW5lci4gTGlrZSAtLXRleHQsIGJ1dCB0aGUgYm9keSBmaWxscyB0aGVcbiAgICAvLyB3aG9sZSBjb250ZW50IG1lYXN1cmUgKG5vIDgvMTIgYm9keSArIDQvMTIgYnV0dG9ucyBzcGxpdCkg4oCUIGZvciBwYWdlcyB0aGF0IHJlbmRlclxuICAgIC8vIHRoZSBwYWdlIENvbnRlbnQgZmllbGQgb24gaXRzIG93biwgd2l0aCBubyBzaWRlYmFyLCBzbyBpdHMgbGVmdC9yaWdodCBlZGdlcyBsaW5lIHVwXG4gICAgLy8gd2l0aCB0aGUgMi4wIGJsb2NrcyBiZWxvdyBpdC4gVXNlZCBieSBJbm5lclBhZ2UsIHdoaWNoIHBhaXJzIGl0IHdpdGhcbiAgICAvLyBgdHNuei1jb250YWluZXItLWluc2V0YCBmb3IgdGhlIGxlZnQvcmlnaHQgaW5zZXQuXG4gICAgJi0tZnVsbC13aWR0aCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgICAgIC50c256LWNvbnRlbnRfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotY29udGVudF9fYm9keSxcbiAgICAgICAgLnRzbnotY29udGVudF9fYnV0dG9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyIG9mIDEyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50c256LWNsYWRkaW5nIHtcbiAgICBAaW5jbHVkZSB0c256LWdyaWQoKCdjb250ZW50JykpO1xuICAgIEBpbmNsdWRlIHRzbnotY2FyZC1zdHlsZSgkcGFkZGluZy10YXJnZXQ6ICdjb250ZW50LWlubmVyJyk7XG5cbiAgICAmX19jb250ZW50LWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgIH1cblxuICAgICZfX2JyYW5kcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JyYW5kLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSByZW1vdmUtbW91c2UtZm9jdXMtcmluZztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzICRnbG9iYWwtZWFzZTtcbiAgICB9XG5cbiAgICAmX19icmFuZC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtZGVzY3JpcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGFibGUge1xuICAgICAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS01O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTEsIDAuOTIsIDAuMDUsIDAuOTkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb2xvci1yb3cge1xuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMy41JTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogM2VtO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2NCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweCAxcHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29sb3VyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWF2YWlsYWJsZSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192aWV3LXN3YXRjaCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX19vcHRpb24tbGFiZWxzIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNDApO1xuICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW3Jvd3NwYW49JzInXSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9uLXNpemVzIHtcbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaXNjbGFpbWVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRzbnotb3B0aW9uLWl0ZW0taG9yaXpvbnRhbC1taW4td2lkdGg6IDU1MDtcblxuLnRzbnotb3B0aW9uLWl0ZW0ge1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkZ3V0dGVyczogMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LW9wdGlvbi1pdGVtLWhvcml6b250YWwtbWluLXdpZHRoKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDYgb2YgMTIsICRndXR0ZXItcG9zaXRpb246IGJvdHRvbSByaWdodCwgJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSAqIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2IG9mIDEyLCAkZ3V0dGVyLXBvc2l0aW9uOiBib3R0b20gcmlnaHQsICRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgKiAyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRndXR0ZXJzOiAwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRzbnotb3B0aW9uLWl0ZW0taG9yaXpvbnRhbC1taW4td2lkdGgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlcnM6IDApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyczogMCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuIiwiLnRzbnotcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgJGdsb2JhbC1lYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCR3aGl0ZSwgMiUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJldmlvdXMsXG4gICAgJl9fbmV4dCB7XG4gICAgICAgIHNwYW4sXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMnB4ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VycmVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkdHNuei1oaWdobGlnaHRzLWJhc2Utc2l6ZTogMXJlbTtcbiR0c256LWhpZ2hsaWdodHMtbGluZS1oZWlnaHQ6IDEuNDtcbiR0c256LWhpZ2hsaWdodHMtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMjQpO1xuJHRzbnotaGlnaGxpZ2h0cy10aXRsZS1saW5lLWhlaWdodDogMS4yO1xuXG4udHNuei1oaWdobGlnaHRzIHtcbiAgICBAaW5jbHVkZSB0c256LWdyaWQoKCdoaWdobGlnaHQnLCAnY2FzZS1zdHVkaWVzJywgJ2ltYWdlJywgJ2RldGFpbCcpKTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKTtcbiAgICB9XG5cbiAgICAmX19oaWdobGlnaHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkqMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDcgb2YgMTIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Nhc2Utc3R1ZGllcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNSBvZiAxMik7XG4gICAgICAgIH1cblxuICAgICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKG4rMykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hpZ2hsaWdodC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbXVsdGlsaW5lLXRydW5jYXRlKCR0c256LWhpZ2hsaWdodHMtYmFzZS1zaXplLCAkdHNuei1oaWdobGlnaHRzLWxpbmUtaGVpZ2h0LCAzKTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg0IG9mIDcpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2RldGFpbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyBvZiA3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUoJHRzbnotaGlnaGxpZ2h0cy10aXRsZS1zaXplLCAkdHNuei1oaWdobGlnaHRzLXRpdGxlLWxpbmUtaGVpZ2h0LCAyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxufVxuIiwiLnRzbnotaW1hZ2UtbWVudSB7XG4gICAgQGluY2x1ZGUgdHNuei1ncmlkKCgnaW5uZXInLCkpO1xuICAgIEBpbmNsdWRlIHRzbnotY2FyZC1zdHlsZSgkcGFkZGluZy10YXJnZXQ6ICdpbm5lci13cmFwcGVyJyk7XG5cbiAgICAmX19pbm5lci13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogdG9wKTtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgICZbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRydW5jYXRlZC10ZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICA+IGgyLFxuICAgICAgICA+IGgzLFxuICAgICAgICA+IGg0LFxuICAgICAgICA+IGg1LFxuICAgICAgICA+IGg2IHtcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZy1tb2JpbGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDMsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMSk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41ZW07IC8vIMKvXFxfKOODhClfL8KvXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQuNWVtOyAvLyDCr1xcXyjjg4QpXy/Cr1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAyIG9mIDMsICRndXR0ZXJzOiAwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCksICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQpO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSByaWdodCBsZWZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplOiAxIG9mIDIsICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBsZWZ0IGJvdHRvbSwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMiwgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGxlZnQgYm90dG9tKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkYmxhY2ssIDAuNyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmW2hyZWZdIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoMzcwIGJ5IDIwMCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVzdC1ncmF5O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgJl9fbGluay1sYWJlbCB7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRzZWNvbmRhcnktY29sb3IsIDAuMSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudHNuei1wYXRod2F5IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuXG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDoganVzdGlmeSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTJlbTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSxcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMTAwJSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogNTAlLCAkZ3V0dGVyczogMCwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuXG4gICAgICAgIEBzdXBwb3J0cyAoYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIGRhcmtlbigkZGFyay1ncmF5LCA0JSksICAkZGFyay1ncmF5KSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogY29uaWMtZ3JhZGllbnQoZnJvbSAxMDBkZWcsIGRhcmtlbigkZGFyay1ncmF5LCA0JSksICAkZGFyay1ncmF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzNTApO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDYwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXInOyAvLyBPYmplY3QgZml0IHBvbHlmaWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9hRmFya2FzL2xhenlzaXplcy90cmVlL2doLXBhZ2VzL3BsdWdpbnMvb2JqZWN0LWZpdFxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wbGF5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICZbZGF0YS1jb250ZW50LXRydW5jYXRlLWNvbnRlbnRdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRydW5jYXRlZC10ZXh0KCRiYWNrZ3JvdW5kOiAkZGFyay1ncmF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib2R5LXdyYXBwZXIge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItcG9zaXRpb246IGxlZnQgYm90dG9tKTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZyAqIDEuNTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZyAqIDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKG1pZGRsZSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDYwMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBAaW5jbHVkZSB0c256LWJ1dHRvbi1zdHlsZShyZXZlcnNlZCk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQoKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMTI1ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjEyNWVtO1xuXG4gICAgfVxuXG4gICAgJi0tY29udGVudC1sZWZ0I3snICcgKyAmfSB7XG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiByaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwdncgLSAjeygkZ2xvYmFsLXdpZHRoIC8gMil9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiR0c256LW1hcC1iYW5kLXJ1bGU6IHJlbS1jYWxjKDUpOyAgICAgICAgICAvLyB5ZWxsb3cgYm90dG9tIGFjY2VudCAoRmlnbWEgYm9yZGVyLWItNSlcbiR0c256LW1hcC1jYXJkLXNoYWRvdzogMCByZW0tY2FsYyg0KSByZW0tY2FsYygyMCkgcmdiYSgjMDAwLCAwLjEpOyAvLyBGaWdtYSBjYXJkIHNoYWRvd1xuXG4udHNuei1tYXAge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBAaW5jbHVkZSB0c256LWN0YS1zdHlsZShcbiAgICAgICAgJGJsb2NrLW5hbWU6ICd0c256LW1hcF9fdWknLFxuICAgICAgICAkd3JhcHBlci1jbGFzczogJ3VpLXdyYXBwZXInLFxuICAgICAgICAkdG9wLWNsYXNzOiAndWktdG9wJyxcbiAgICAgICAgJGNvbnRlbnQtY2xhc3M6ICd1aS1jb250ZW50JyxcbiAgICAgICAgJGhlYWRpbmctY2xhc3M6ICdoZWFkaW5nJyxcbiAgICAgICAgJGRlc2NyaXB0aW9uLWNsYXNzOiAnZGVzY3JpcHRpb24nXG4gICAgKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19nbWFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcmVtLWJldHdlZW4ocmVtLWNhbGMoMzAwKSwgcmVtLWNhbGMoNTAwKSwgbWFwLWdldCgkYnJlYWtwb2ludHMsIHNtYWxsKSwgbWFwLWdldCgkYnJlYWtwb2ludHMsIGxhcmdlKSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tYnJvd3Nlci1hZGRyZXNzLWJhciwgMHB4KSk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0IG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tYmV0d2VlbihyZW0tY2FsYyg1MDApLCByZW0tY2FsYygxMjI1KSwgbWFwLWdldCgkYnJlYWtwb2ludHMsIHNtYWxsKSwgbWFwLWdldCgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpKTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDExMzApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFjay1idXR0b24ge1xuICAgICAgICAvLyByZXNldCBpbmhlcml0YW5jZSBmcm9tIEdNYXBcbiAgICAgICAgQGluY2x1ZGUgY29tcG9uZW50LXJlc2V0O1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgfVxuXG4gICAgJl9fdWkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCksICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBsZWZ0IGJvdHRvbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgKiAyKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBsYXJnZSkgKiAyKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzIuNWVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpICsgNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LW1hcF9fZ21hcCAmIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogY3VzdG9tLTE7XG4gICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAyLjAgY2FyZCAoRmlnbWEgbm9kZSAxMDM4OjE3NTYpOiBzcXVhcmUgd2hpdGUgY2FyZCwgeWVsbG93IGFjY2VudCBydWxlIGFsb25nIHRoZVxuICAgIC8vIGJvdHRvbSBlZGdlLiBTaGFkb3cgYW5kIGJvdHRvbSBydWxlIG92ZXJyaWRlIHRoZSBsZWdhY3kgdmFsdWVzIGZyb20gdHNuei1jdGEtc3R5bGUuXG4gICAgJl9fdWktd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRzbnotbWFwLWJhbmQtcnVsZSBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkdHNuei1tYXAtY2FyZC1zaGFkb3c7XG4gICAgfVxuXG4gICAgLy8gQnJhbmQtYmx1ZSBiYW5kIChGaWdtYSBub2RlIDEwMzg6MTc2MikuIFRoZSBsZWdhY3kgdHNuei1jdGEtc3R5bGUgcGFkZGluZyBzdWJ0cmFjdHNcbiAgICAvLyBhIDRweCB3aGl0ZS1ib3JkZXIgaW5zZXQgdGhhdCB0aGUgMi4wIGNhcmQgbm8gbG9uZ2VyIGhhcywgc28gaXQgcmVuZGVycyB+MjBweCB3aGVyZVxuICAgIC8vIHRoZSBjb21wIHdhbnRzIDMyLiBSZXNldCB0byB0aGUgMi4wIHNwYWNpbmcgdG9rZW4uXG4gICAgJl9fdWktdG9wIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgLy8gMi4wIEJyYW5kIEJsdWUgKEZpZ21hIGJpbmRzIFwiQnJhbmQgQmx1ZVwiICMwMzRlYTIpLCBvdmVycmlkaW5nIHRoZSBsZWdhY3lcbiAgICAgICAgLy8gJGRhcmstYmx1ZSBmcm9tIHRzbnotY3RhLXN0eWxlLlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMjQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDMyKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW4gdGhlIGJsdWUgYmFuZCB0aGUgaGVhZGluZyBpcyB3aGl0ZSAoRmlnbWEpLCBub3QgdGhlIHllbGxvdyAkc2Vjb25kYXJ5LWNvbG9yXG4gICAgLy8gdHNuei1jdGEtc3R5bGUgcGFpbnRzIG9udG8gJl9faGVhZGluZy4gMTZweCBnYXAgZG93biB0byB0aGUgZGVzY3JpcHRpb24uIEJvdGggY2FyZFxuICAgIC8vIGhlYWRpbmdzIGFyZSBGaWdtYSBINCAoMjQvMzApLCBzbWFsbGVyIHRoYW4gdGhlIGRlZmF1bHQgaGVhZGluZyBzY2FsZS5cbiAgICAmX19oZWFkaW5nLFxuICAgICZfX3NlbGVjdC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgxNik7XG4gICAgfVxuXG4gICAgJl9fbG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdGF0ZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMC43NWVtIDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbygkZnVsbC1zaXplOiBmYWxzZSk7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjklMjIgaGVpZ2h0PSUyMjE2JTIyIHZpZXdCb3g9JTIyMCAwIDkgMTYlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTTguNjggOC44bC02LjggNi44N2ExLjEgMS4xIDAgMCAxLTEuNTYgMCAxLjEzIDEuMTMgMCAwIDEgMC0xLjU4TDYuMzMgOGwtNi02LjA5YTEuMTMgMS4xMyAwIDAgMSAwLTEuNTggMS4xIDEuMSAwIDAgMSAxLjU2IDBMOC42OCA3LjJhMS4xMiAxLjEyIDAgMCAxIDAgMS41OHolMjIgZmlsbD0lMjIlMjNGRkNCMDUlMjIgZmlsbC1ydWxlPSUyMm5vbnplcm8lMjIvJTNFJTNDL3N2ZyUzRScpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXaGl0ZSBjb250ZW50IHNlY3Rpb24gKEZpZ21hIG5vZGUgMTAzODoxNzU4KS4gU2FtZSAyLjAgcGFkZGluZyByZXNldCBhcyB0aGUgYmFuZDtcbiAgICAvLyAyMHB4IGJldHdlZW4gdGhlIGhlYWRpbmcsIGRlc2NyaXB0aW9uIGFuZCB0aGUgcmVnaW9uIHNlbGVjdCAoRmlnbWEgZ2FwIDIwKS5cbiAgICAudHNuei1tYXBfX3VpLWNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0NGVtO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiBzcGFjZSgyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMzIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0LWhlYWRpbmcsXG4gICAgJl9fc2VsZWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMjApO1xuICAgIH1cblxuXG4gICAgJi0tbG9hZGluZyB7XG4gICAgICAgIC50c256LW1hcF9fbG9hZGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWluLXN0YXRlIHtcbiAgICAgICAgLnRzbnotbWFwX191aSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LW1hcF9fZGVzY3JpcHRpb24sXG4gICAgICAgIC50c256LW1hcF9fc2VsZWN0LWhlYWRpbmcsXG4gICAgICAgIC50c256LW1hcF9fc2VsZWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC50c256LW1hcF9fc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LW1hcF9fdWktY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkdHNuei1jdGEtc3BhY2luZyAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1tYXBfX21lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LW1hcF9fc3RhdGUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBmYW5jeWJveC4gc2VlIGh0dHA6Ly9mYW5jeWFwcHMuY29tL2ZhbmN5Ym94LzMvXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuYm9keS5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYW5jeWJveC1hY3RpdmUge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTkyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4uZmFuY3lib3gtY29udGFpbmVyICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5mYW5jeWJveC1vdXRlcixcbi5mYW5jeWJveC1pbm5lcixcbi5mYW5jeWJveC1iZyxcbi5mYW5jeWJveC1zdGFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmZhbmN5Ym94LWJnIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYigzMCwgMzAsIDMwKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNDcsIDAsIC43NCwgLjcxKTtcbn1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgICBvcGFjaXR5OiAuOTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yMiwgLjYxLCAuMzYsIDEpO1xufVxuXG4uZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWNhcHRpb24sXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5OTc7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UsIHZpc2liaWxpdHkgMHMgZWFzZSAuMjVzO1xuICAgIGRpcmVjdGlvbjogbHRyO1xufVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24sXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlIDBzLCB2aXNpYmlsaXR5IDBzIGVhc2UgMHM7XG59XG5cbi5mYW5jeWJveC1pbmZvYmFyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4uZmFuY3lib3gtdG9vbGJhciB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uZmFuY3lib3gtc3RhZ2Uge1xuICAgIHotaW5kZXg6IDk5OTk0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBkaXJlY3Rpb246IGx0cjtcbn1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LXN0YWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA5OTk5NDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA0NHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBVc2luZyB3aXRob3V0IHByZWZpeCB3b3VsZCBicmVhayBJRTExICovXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZvbnQtc2l6ZTogMDtcbn1cblxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxuLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1zbGlkZS0tY3VycmVudCxcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICAgIHBhZGRpbmc6IDQ0cHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taHRtbCB7XG4gICAgcGFkZGluZzogNnB4O1xufVxuXG4uZmFuY3lib3gtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0NHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgbSN7YX14LXdpZHRoOiAxMDAlO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk5OTU7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguNSwgMCwgLjE0LCAxKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgbSN7YX14LXdpZHRoOiBub25lO1xufVxuXG4uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG59XG5cbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICBjdXJzb3I6IHpvb20taW47XG59XG5cbi5mYW5jeWJveC1jYW4tc3dpcGUgLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtY2FuLXBhbiAuZmFuY3lib3gtY29udGVudCB7XG4gICAgY3Vyc29yOiBncmFiO1xufVxuXG4uZmFuY3lib3gtaXMtZ3JhYmJpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5mYW5jeWJveC1jb250YWluZXIgW2RhdGEtc2VsZWN0YWJsZT0ndHJ1ZSddIHtcbiAgICBjdXJzb3I6IHRleHQ7XG59XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG0je2F9eC1oZWlnaHQ6IG5vbmU7XG4gICAgbSN7YX14LXdpZHRoOiBub25lO1xufVxuXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLXBkZiAuZmFuY3lib3gtY29udGVudCxcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNlNWUzZGY7XG59XG5cbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtdmlkZW8sXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZpeCBpT1MgKi9cbi5mYW5jeWJveC1pZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLmZhbmN5Ym94LWVycm9yIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG0je2F9eC13aWR0aDogNDAwcHg7XG59XG5cbi5mYW5jeWJveC1lcnJvciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICM0NDQ7XG59XG5cbi8qIEJ1dHRvbnMgKi9cblxuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB2aXNpYmlsaXR5OiBpbmhlcml0O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgLjYpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZhbmN5Ym94LWJ1dHRvbixcbi5mYW5jeWJveC1idXR0b246dmlzaXRlZCxcbi5mYW5jeWJveC1idXR0b246bGluayB7XG4gICAgY29sb3I6ICNjY2M7XG59XG5cbi5mYW5jeWJveC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uLmZhbmN5Ym94LWZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXSxcbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogRml4IElFMTEgKi9cbi5mYW5jeWJveC1idXR0b24gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5mYW5jeWJveC1idXR0b24gc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgc3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZzpudGgtY2hpbGQoMiksXG4uZmFuY3lib3gtYnV0dG9uLS1mc2VudGVyIHN2ZzpudGgtY2hpbGQoMikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYW5jeWJveC1idXR0b24tLXBhdXNlIHN2ZzpudGgtY2hpbGQoMSksXG4uZmFuY3lib3gtYnV0dG9uLS1mc2V4aXQgc3ZnOm50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZhbmN5Ym94LXByb2dyZXNzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogOTk5OTg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY1MjY4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuLyogQ2xvc2UgYnV0dG9uIG9uIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIGh0bWwgY29udGVudCAqL1xuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC00NHB4O1xuICAgIHJpZ2h0OiAtMTJweDtcbiAgICB6LWluZGV4OiA0MDE7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG9wYWNpdHk6IC44O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLWh0bWwgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mYW5jeWJveC1pcy1zY2FsaW5nIC5mYW5jeWJveC1jbG9zZS1zbWFsbCxcbi5mYW5jeWJveC1pcy16b29tYWJsZS5mYW5jeWJveC1jYW4tcGFuIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTmF2aWdhdGlvbiBhcnJvd3MgKi9cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSA1MHB4KTtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbn1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiBkaXYge1xuICAgIHBhZGRpbmc6IDdweDtcbn1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfbGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICBsZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIHBhZGRpbmc6IDMxcHggMjZweCAzMXB4IDZweDtcbn1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbi0tYXJyb3dfcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIHJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICBwYWRkaW5nOiAzMXB4IDZweCAzMXB4IDI2cHg7XG59XG5cbi8qIENhcHRpb24gKi9cblxuLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk2O1xuICAgIHBhZGRpbmc6IDc1cHggNDRweCAyNXB4IDQ0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHRvcCxcbiAgICByZ2JhKDAsIDAsIDAsIC44NSkgMCUsXG4gICAgcmdiYSgwLCAwLCAwLCAuMykgNTAlLFxuICAgIHJnYmEoMCwgMCwgMCwgLjE1KSA2NSUsXG4gICAgcmdiYSgwLCAwLCAwLCAuMDc1KSA3NS41JSxcbiAgICByZ2JhKDAsIDAsIDAsIC4wMzcpIDgyLjg1JSxcbiAgICByZ2JhKDAsIDAsIDAsIC4wMTkpIDg4JSxcbiAgICByZ2JhKDAsIDAsIDAsIDApIDEwMCVcbiAgICApO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICNlZWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5Ac3VwcG9ydHMgKHBhZGRpbmc6IG0je2F9eCgwcHgpKSB7XG4gICAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiA3NXB4IG0je2F9eCg0NHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgbSN7YX14KDI1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSkgbSN7YX14KDQ0cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuICAgIH1cbn1cblxuLmZhbmN5Ym94LWNhcHRpb24tLXNlcGFyYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbn1cblxuLmZhbmN5Ym94LWNhcHRpb25fX2JvZHkge1xuICAgIG0je2F9eC1oZWlnaHQ6IDUwdmg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmZhbmN5Ym94LWNhcHRpb24gYSxcbi5mYW5jeWJveC1jYXB0aW9uIGE6bGluayxcbi5mYW5jeWJveC1jYXB0aW9uIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogTG9hZGluZyBpbmRpY2F0b3IgKi9cblxuLmZhbmN5Ym94LWxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogLTI1cHggMCAwIC0yNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzg4ODtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi8qIFRyYW5zaXRpb24gZWZmZWN0cyAqL1xuXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgLjI1LCAxKTtcbn1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXG5cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xufVxuXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogem9vbS1pbi1vdXQgKi9cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG59XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjUsIC41LCAuNSk7XG59XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG59XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHJvdGF0ZSAqL1xuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbn1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xufVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBjaXJjdWxhciAqL1xuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSguMSkgc2tldygtMTBkZWcpO1xufVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSguMSkgc2tldygxMGRlZyk7XG59XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xufVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG0je2F9eC1oZWlnaHQ6IDU3NnB4KSB7XG4gICAgLmZhbmN5Ym94LXNsaWRlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0ZTRlNGU7XG4gICAgICAgIGNvbG9yOiAjZjJmNGY2O1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1jYXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyAocGFkZGluZzogbSN7YX14KDBweCkpIHtcbiAgICAgICAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogbSN7YX14KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbSN7YX14KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogU2hhcmUgKi9cclxuXHJcbi5mYW5jeWJveC1zaGFyZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmUgaDEge1xyXG4gICAgY29sb3I6ICMyMjI7XHJcbiAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmUgcCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW46IDAgNXB4IDEwcHggNXB4O1xyXG4gICAgbWluLXdpZHRoOiAxMzBweDtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOnZpc2l0ZWQsXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmxpbmsge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIHtcclxuICAgIGJhY2tncm91bmQ6ICMzYjU5OTg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMzQ0ZTg2O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQge1xyXG4gICAgYmFja2dyb3VuZDogI2JkMDgxZDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXB0OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNhYTA3MTk7XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMWRhMWYyO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHc6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzBkOTVlODtcclxufVxyXG5cclxuLmZhbmN5Ym94LXNoYXJlX19idXR0b24gc3ZnIHtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIG1hcmdpbi1yaWdodDogN3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAtMXB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBzdmcgcGF0aCB7XHJcbiAgICBmaWxsOiAjZmZmO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hhcmVfX2lucHV0IHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkN2Q3ZDc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgY29sb3I6ICM1ZDViNWI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW46IDEwcHggMCAwIDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn0iLCJcclxuLyogRnVsbHNjcmVlbiAgKi9cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW46OmJlZm9yZSB7XHJcblx0d2lkdGg6IDE1cHg7XHJcblx0aGVpZ2h0OiAxMXB4O1xyXG5cdGxlZnQ6IGNhbGMoNTAlIC0gN3B4KTtcclxuXHR0b3A6IGNhbGMoNTAlIC0gNnB4KTtcclxuXHRib3JkZXI6IDJweCBzb2xpZDtcclxuXHRiYWNrZ3JvdW5kOiBub25lO1xyXG59XHJcbiIsIi8qIFNsaWRlc2hvdyBidXR0b24gKi9cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBsYXkge31cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXBsYXk6OmJlZm9yZSxcclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XHJcblx0dG9wOiBjYWxjKDUwJSAtIDZweCk7XHJcblx0bGVmdDogY2FsYyg1MCUgLSA0cHgpO1xyXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUge1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMDtcclxuXHRib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xyXG5cdGJvcmRlci1yYWRpdXM6IDFweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XHJcblx0d2lkdGg6IDdweDtcclxuXHRoZWlnaHQ6IDExcHg7XHJcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xyXG59XHJcbiIsIi8qIFRodW1icyAqL1xyXG5cclxuLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZGRkO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xyXG4gICAgcGFkZGluZzogMnB4IDJweCA0cHggMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMjEycHg7XHJcbiAgICB6LWluZGV4OiA5OTk5NTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1icy14IHtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcclxuICAgIHJpZ2h0OiAyMTJweDtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCB7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteCAuZmFuY3lib3gtdGh1bWJzX19saXN0IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMteSAuZmFuY3lib3gtdGh1bWJzX19saXN0Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogN3B4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgLjMpO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzLXkgLmZhbmN5Ym94LXRodW1ic19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZDogIzJhMmEyYTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5mYW5jeWJveC10aHVtYnNfX2xpc3QgYSB7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDRweCk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6OmJlZm9yZSB7XHJcbiAgICBib3JkZXI6IDZweCBzb2xpZCAjZmY1MjY4O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcclxuICAgIHotaW5kZXg6IDk5OTkxO1xyXG59XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzX19saXN0IGE6Zm9jdXM6OmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxufVxyXG5cclxuLmZhbmN5Ym94LXRodW1ic19fbGlzdCBhLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6OmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1NzZweCkge1xyXG4gICAgLmZhbmN5Ym94LXRodW1icyB7XHJcbiAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xyXG4gICAgICAgIHJpZ2h0OiAxMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZmFuY3lib3gtdGh1bWJzX19saXN0IGEge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICB9XHJcbn0iLCIvLyBmYW5jeWJveC4gc2VlIGh0dHA6Ly9mYW5jeWFwcHMuY29tL2ZhbmN5Ym94LzMvXG5AaW1wb3J0ICcuL2ZhbmN5Ym94LmNvcmUnO1xuQGltcG9ydCAnZmFuY3lib3gvc3JjL2Nzcy9zaGFyZSc7XG5AaW1wb3J0ICdmYW5jeWJveC9zcmMvY3NzL2Z1bGxzY3JlZW4nO1xuQGltcG9ydCAnZmFuY3lib3gvc3JjL2Nzcy9zbGlkZXNob3cnO1xuQGltcG9ydCAnZmFuY3lib3gvc3JjL2Nzcy90aHVtYnMnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIDIuMCBsaWdodGJveCDigJQgRmlnbWEgbm9kZSAzMzY6MTYwOS5cbi8vXG4vLyBBIGZ1bGwtc2NyZWVuIFdISVRFIHBvcHVwOiB0aGUgaW1hZ2UgY2VudHJlZCwgYSBibHVlIGNpcmNsZS1vdXRsaW5lIGNsb3NlIHRvcC1yaWdodCwgdGhpbiBibHVlXG4vLyBhcnJvd3MgcGlubmVkIHRvIHRoZSB2aWV3cG9ydCBlZGdlcyBhdCBpbWFnZSBtaWQtaGVpZ2h0LCBhbmQgYSBjYXB0aW9uIHJvdyBiZWxvdyB0aGUgaW1hZ2Ug4oCUXG4vLyBhIHRleHQgYmxvY2sgKHRpdGxlICsgb3B0aW9uYWwgZGVzY3JpcHRpb24sIGNhcHBlZCBhdCA0MHJlbSkgd2l0aCBhbiBvcHRpb25hbCB5ZWxsb3dcbi8vIFwiRW5xdWlyZSBub3dcIiBBY3Rpb24gQnV0dG9uIHRvIGl0cyByaWdodC5cbi8vXG4vLyBUaGlzIHNraW4gaXMgc2hhcmVkIGJ5IEJPVEggRmFuY3lib3ggcGF0aHMgKHRoZSBuYXRpdmUgYC50c256LWxpZ2h0Ym94YCBiaW5kaW5nIGFuZCB0aGUgbGVnYWN5XG4vLyBFMmdhbGxlcnkgb3BlbmVyKSwgc28gZXZlcnkgZnVsbC1zY3JlZW4gZ2FsbGVyeSBhY3Jvc3MgdGhlIHNpdGUgZ2V0cyB0aGUgMi4wIGxvb2suIFRoZSBjYXB0aW9uXG4vLyBET00gaXMgYnVpbHQgaW4gSlMg4oCUIHNlZSB0cy5mYW5jeUJveFRlbXBsYXRlLmpzIChgYnVpbGRDYXB0aW9uYCkuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGhlIGltYWdlIChhbmQgaXRzIGNhcHRpb24pIG5ldmVyIGZpbGwgdGhlIHdob2xlIHdpbmRvdyDigJQgY2FwcGVkIHRvIHRoZSBjb21wIHdpZHRoICg5MDhweClcbi8vIGFuZCBjZW50cmVkLCBzbyB0aGVyZSBpcyBicmVhdGhpbmcgcm9vbSB0byB0aGUgYXJyb3dzIGF0IHRoZSB2aWV3cG9ydCBlZGdlcy5cbiR0c256LWxpZ2h0Ym94LW1heC13aWR0aDogcmVtLWNhbGMoOTA4KTtcblxuLy8gVGhlIGFycm93IGdseXBoIChGaWdtYSAzMzY6MTkwNyksIEJyYW5kIEJsdWUsIGFzIGEgYmFja2dyb3VuZCBpbWFnZS4gTGVmdCBhcnJvdyBpcyB0aGlzIGZsaXBwZWQuXG4kdHNuei1saWdodGJveC1hcnJvdzogJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyNDYlMjIgaGVpZ2h0PSUyMjQ2JTIyIHZpZXdCb3g9JTIyMCAwIDQ2IDQ2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk0yNS44NzUgOC42MjVMMjMuODE5NCAxMC42Mjc0TDM0LjcxNTYgMjEuNTYyNUg1Ljc1VjI0LjQzNzVIMzQuNzE1NkwyMy44MTk0IDM1LjMyMzdMMjUuODc1IDM3LjM3NUw0MC4yNSAyM0wyNS44NzUgOC42MjVaJTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyLyUzRSUzQy9zdmclM0UnO1xuXG4uZmFuY3lib3gtaXMtb3BlbiB7XG4gICAgLmZhbmN5Ym94LWJnIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLy8gMi4wOiBzb2xpZCB3aGl0ZSBiYWNrZHJvcCwgbm90IHRoZSBkYXJrIGJyYW5kIHdhc2guXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi5mYW5jeWJveC1idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4vLyBGYW5jeWJveCBoaWRlcyBpdHMgY2hyb21lIHdoaWxlIGNoYW5naW5nIHNsaWRlcyBhbmQgb25seSByZXZlYWxzIGl0IGFnYWluIG9uIHBvaW50ZXJcbi8vIG1vdmVtZW50LiBUaGUgMi4wIGNvbXAgdHJlYXRzIGNsb3NlL3ByZXZpb3VzL25leHQgYXMgcGVyc2lzdGVudCBjb250cm9scywgc28ga2VlcCB0aGVtXG4vLyBhdmFpbGFibGUgdGhyb3VnaG91dCBuYXZpZ2F0aW9uIChpbmNsdWRpbmcga2V5Ym9hcmQgYW5kIHN3aXBlIGNoYW5nZXMpLlxuLmZhbmN5Ym94LXRvb2xiYXIsXG4uZmFuY3lib3gtbmF2aWdhdGlvbiAuZmFuY3lib3gtYnV0dG9uIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xufVxuXG4vLyBDbG9zZSDigJQgdGhlIGJsdWUgY2lyY2xlLW91dGxpbmUgXCLinJVcIiAoRmlnbWEgMzM2OjE5MTMpLCB0b3AtcmlnaHQuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gICAgdG9wOiByZW0tY2FsYygxNik7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoNTQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNTQpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMyk7XG4gICAgfVxuXG4gICAgLy8gRmFuY3lib3ggY29yZSBzZXRzIGAuZmFuY3lib3gtYnV0dG9uOmhvdmVyIHsgY29sb3I6ICNmZmYgfWAsIHdoaWNoIHdvdWxkIHR1cm4gdGhlXG4gICAgLy8gc3Ryb2tlZCBpY29uIHdoaXRlLiBLZWVwIGl0IEJyYW5kIEJsdWUsIGRhcmtlbmluZyBvbiBpbnRlcmFjdGlvbiBsaWtlIHRoZSAyLjAgYnV0dG9ucy5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQtYmx1ZS1ob3ZlcjtcbiAgICB9XG5cbiAgICAudHNuei1saWdodGJveF9fY2xvc2UtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC8vIEZhbmN5Ym94IGNvcmUgZm9yY2VzIGAuZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHsgZmlsbDogY3VycmVudENvbG9yOyBzdHJva2Utd2lkdGg6IDAgfWBcbiAgICAgICAgLy8g4oCUIHdoaWNoIGZsYXR0ZW5zIHRoaXMgb3V0bGluZWQgY2lyY2xlLeKclSBpbnRvIGEgc29saWQgZGlzYy4gUmVzdG9yZSB0aGUgc3Ryb2tlZCBsb29rLlxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogMy4xNTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQXJyb3dzIOKAlCBiYXJlIEJyYW5kIEJsdWUgZ2x5cGhzIChubyBjaXJjbGUpLCBhdCB0aGUgdmlld3BvcnQgZWRnZXMsIGNlbnRyZWQgb24gdGhlIGltYWdlLlxuLmZhbmN5Ym94LW5hdmlnYXRpb24ge1xuICAgIC5mYW5jeWJveC1idXR0b24ge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDYpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAje3JlbS1jYWxjKDIzKX0pO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ2KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDYpO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JHRzbnotbGlnaHRib3gtYXJyb3d9Jyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXJyb3dfbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXJyb3dfcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDExKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBObyBjb3VudGVyIGluIHRoZSAyLjAgY29tcCDigJQgaGlkZSBpdCB3aGVyZXZlciBpdCByZW5kZXJzICh0b29sYmFyIG9yIGFwcGVuZGVkIGludG8gY29udGVudCkuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZhbmN5Ym94LWltYWdlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vIENhcCB0byB0aGUgY29tcCB3aWR0aCBhbmQgY2VudHJlIHdpdGhpbiBGYW5jeWJveCdzIChmdWxsLXdpZHRoKSBjb250ZW50LCBrZWVwaW5nIHJhdGlvLlxuICAgIC8vIFdlIHNpemUgdGhlIGltYWdlIHJhdGhlciB0aGFuIHRoZSBjb250ZW50LCBzbyBGYW5jeWJveCdzIG93biBjZW50cmluZyB0cmFuc2Zvcm0gaXMgbGVmdFxuICAgIC8vIHVudG91Y2hlZCDigJQgdGhlIHBvcHVwIHN0YXlzIGEgcGxhaW4gZnVsbC1zY3JlZW4gRmFuY3lib3guXG4gICAgbWF4LXdpZHRoOiAkdHNuei1saWdodGJveC1tYXgtd2lkdGg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLyBJbWFnZSBzaXRzIHBsYWlubHkgb24gdGhlIHdoaXRlIGdyb3VuZCDigJQgbm8gY2FyZCBmcmFtZSwgc2hhZG93IG9yIHBhZGRpbmcuXG4uZmFuY3lib3gtY29udGVudCB7XG4gICAgLmZhbmN5Ym94LXNsaWRlICYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMZXQgdGhlIGNvbnRlbnQga2VlcCBGYW5jeWJveCdzIG93biBmdWxsLXZpZXdwb3J0LCBjZW50cmVkIGJveCDigJQgd2UganVzdCBjZW50cmUgdGhlXG4gICAgLy8gaW1hZ2UgKyBjYXB0aW9uIGdyb3VwIHZlcnRpY2FsbHkgaW5zaWRlIGl0IChmbGV4IGNvbHVtbikgYW5kIGNhcC9jZW50cmUgdGhlbVxuICAgIC8vIGhvcml6b250YWxseSAodGhlaXIgb3duIG1hcmdpbi1hdXRvKS4gTm90aGluZyBmaWdodHMgRmFuY3lib3gncyB0cmFuc2Zvcm0uXG4gICAgLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4vLyBZb3VUdWJlIGlmcmFtZSBzbGlkZXMgc2hhcmUgdGhlIHNhbWUgY2FwcGVkIHdpZHRoIGFuZCBjYXB0aW9uIHRyZWF0bWVudCBhcyBpbWFnZXMsIGJ1dCB0aGVcbi8vIG1lZGlhIGl0c2VsZiBpcyBhIHJlc3BvbnNpdmUgMTY6OSBwbGF5ZXIuIGB0cy55b3V0dWJlTGlnaHRib3hgIHdyYXBzIHRoZSBpZnJhbWUgc28gdGhlIEFQSSBjYW5cbi8vIHJlcGxhY2UvY29udHJvbCBpdCB3aXRob3V0IHRoZSBjYXB0aW9uIGJlY29taW5nIHBhcnQgb2YgdGhlIGFzcGVjdC1yYXRpbyBib3guXG4uZmFuY3lib3gtc2xpZGUudHNuei1saWdodGJveC15b3V0dWJlIHtcbiAgICAvLyBGYW5jeWJveCBub3JtYWxseSBjZW50cmVzIGlubGluZS1ibG9jayBpZnJhbWUgY29udGVudCB3aXRoIGEgMTAwJS1oaWdoIDo6YmVmb3JlXG4gICAgLy8gcHNldWRvLWVsZW1lbnQuIE91ciBjYXB0aW9uIHR1cm5zIHRoZSBjb250ZW50IGludG8gYSBmbGV4IGNvbHVtbiwgc28gbWFrZSB0aGUgc2xpZGVcbiAgICAvLyBpdHNlbGYgdGhlIGNlbnRyaW5nIGNvbnRhaW5lciBhbmQgY2VudHJlIHRoZSBjb21wbGV0ZSBwbGF5ZXIgKyBjYXB0aW9uIGdyb3VwLlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYygxNjApfSk7XG4gICAgICAgIG1heC13aWR0aDogJHRzbnotbGlnaHRib3gtbWF4LXdpZHRoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAudHNuei15b3V0dWJlLXBsYXllciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWN1c3RvbS1jYXB0aW9uLFxuICAgIC5mYW5jeWJveC1jdXN0b20tY2FwdGlvbi1pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmZhbmN5Ym94LWNhcHRpb24td3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gMi4wIGNhcHRpb24gKGJ1aWx0IGluIEpTKVxuLmZhbmN5Ym94LWN1c3RvbS1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbn1cblxuLmZhbmN5Ym94LWN1c3RvbS1jYXB0aW9uLWlubmVyIHtcbiAgICAvLyBDYXBwZWQgYW5kIGNlbnRyZWQgdG8gdGhlIGltYWdlIHdpZHRoIHNvIHRoZSBjYXB0aW9uIHJvdyBhbGlnbnMgdW5kZXIgdGhlIGltYWdlLlxuICAgIC8vIGBzcGFjZSgyNClgIG1hdGNoZXMgdGhlIGNvbXAncyBnYXAgYmV0d2VlbiBpbWFnZSBhbmQgY2FwdGlvbi5cbiAgICBtYXgtd2lkdGg6ICR0c256LWxpZ2h0Ym94LW1heC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiBzcGFjZSgyNCkgMCAwO1xufVxuXG4vLyBUaGUgY2FwdGlvbiByb3c6IHRleHQgb24gdGhlIGxlZnQsIEVucXVpcmUgYnV0dG9uIG9uIHRoZSByaWdodC5cbi50c256LWxpZ2h0Ym94LWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICAvLyBOYXRoYW4ncyA0MHJlbSBjYXAgKEZpZ21hIGRyYXdzIGl0IGF0IDU4NHB4KS5cbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg2NDApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDgpO1xuICAgIH1cblxuICAgIC8vIFRpdGxlIOKAlCBINSAoZGVza3RvcCksIEJvZHkgY29sb3VyIChGaWdtYSAzMzY6MTkxOCkuIGBzdHJvbmdgIGNvdmVycyB0aGUgbGVnYWN5IGdhbGxlcnlcbiAgICAvLyBjYXB0aW9uLCB3aGljaCBoaXN0b3JpY2FsbHkgYm9sZHMgdGhlIHRpdGxlIGlubGluZS5cbiAgICAmX190aXRsZSxcbiAgICAmX190ZXh0IHN0cm9uZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjcpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHRzbnotdHJhY2tpbmctc251ZztcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgJl9fZW5xdWlyZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTW9iaWxlXG4vLyBUaGUgaW1hZ2Ugc2xpZGUgc2hpcHMgYHBhZGRpbmc6IDQ0cHggMGAgKHplcm8gaG9yaXpvbnRhbCksIGxlYXZpbmcgdGhlIHBvcHVwIGVkZ2UtdG8tZWRnZSBvblxuLy8gcGhvbmVzIOKAlCBnaXZlIGl0IHNvbWUgYnJlYXRoaW5nIHJvb20uXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMjQpIHNwYWNlKDE2KTtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtc2xpZGUudHNuei1saWdodGJveC15b3V0dWJlIHtcbiAgICAgICAgcGFkZGluZzogc3BhY2UoMjQpIHNwYWNlKDE2KTtcblxuICAgICAgICAuZmFuY3lib3gtY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuMCBtb2JpbGU6IHRoZSBwcmV2L25leHQgYXJyb3dzIGxlYXZlIHRoZSB2aWV3cG9ydCBlZGdlcyBhbmQgYmVjb21lIGEgcmlnaHQtYWxpZ25lZFxuICAgIC8vIHBhaXIgZG93biBpbiB0aGUgY2FwdGlvbiBhcmVhIChOYXRoYW4ncyBtYXJrdXApLiBSZXBvc2l0aW9uIHZpYSBDU1Mgb25seSDigJQgdGhlIGJ1dHRvbnNcbiAgICAvLyBzdGF5IHB1dCBpbiB0aGUgRE9NIHNvIEZhbmN5Ym94J3MgbmF2aWdhdGlvbiBoYW5kbGVycyByZW1haW4gYm91bmQuXG4gICAgLmZhbmN5Ym94LW5hdmlnYXRpb24gLmZhbmN5Ym94LWJ1dHRvbiB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiBzcGFjZSg0OCk7XG5cbiAgICAgICAgJi0tYXJyb3dfbGVmdCB7XG4gICAgICAgICAgICAvLyBTaXQgaW1tZWRpYXRlbHkgbGVmdCBvZiB0aGUgbmV4dCBhcnJvdzogNDZweCBidXR0b24gKyAxMnB4IGdhcC5cbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMTYgKyA0NiArIDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFycm93X3JpZ2h0IHtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBMaWdodGJveCB0cmlnZ2VyIOKAlCByZXVzYWJsZSwgb3B0LWluLlxuLy8gRmlnbWE6IFRvdGFsc3BhbiBSZWZyZXNoLCBub2RlIDIwNzoyNTExIChEZWZhdWx0IC8gSG92ZXIgc3RhdGVzKS5cbi8vXG4vLyBUaGUgYmVoYXZpb3VyIChvcGVuIGZ1bGwtc2NyZWVuKSBpcyBGYW5jeWJveCAzLCBib3VuZCBhdXRvbWF0aWNhbGx5IHRvIGFueSBlbGVtZW50XG4vLyBjYXJyeWluZyBgZGF0YS1mYW5jeWJveGAg4oCUIHNlZSBhcHAuanMuIFRoaXMgcGFydGlhbCBvd25zIG9ubHkgdGhlICp0cmlnZ2VyJ3MqIGxvb2s6IGFcbi8vIGJsb2NrIHdyYXBzIGFuIGltYWdlIGluIGA8YSBjbGFzcz1cInRzbnotbGlnaHRib3hcIiBkYXRhLWZhbmN5Ym94PVwiZ3JvdXBcIiBocmVmPVwi4oCmZnVsbOKAplwiPmAsXG4vLyBkcm9wcyBpbiBgUGFydGlhbHMvQ29tcG9uZW50cy9MaWdodGJveE92ZXJsYXlgLCBhbmQgZ2V0cyB0aGUgMi4wIGhvdmVyIHN0YXRlIGZvciBmcmVlLlxuLy9cbi8vIFRoZSBob3ZlciBjb21wIGlzIGEgc29saWQgQnJhbmQgQmx1ZSB3YXNoIGNvdmVyaW5nIHRoZSBpbWFnZSB3aXRoIGEgQnJhbmQgWWVsbG93XG4vLyBtYWduaWZpZXIgY2VudHJlZDsgaGVyZSBpdCBmYWRlcyBpbiByYXRoZXIgdGhhbiBoYXJkLWN1dHRpbmcuIEtleWJvYXJkIHVzZXJzIGdldCB0aGUgc2FtZVxuLy8gdmlhIDpmb2N1cyAvIDpmb2N1cy13aXRoaW4sIHNvIHRoZSBhZmZvcmRhbmNlIGlzbid0IGhvdmVyLW9ubHkuXG5cbi8vIFRoZSBjb21wJ3MgbWFnbmlmaWVyIGZyYW1lIGlzIDU2cHgg4oCUIGFuIGljb24gZGltZW5zaW9uLCBub3QgYSBzcGFjaW5nLXNjYWxlIHN0ZXAgKDU2IGlzXG4vLyBvZmYgdGhlIHNjYWxlIG9uIHB1cnBvc2UpLiBOYW1lZCBoZXJlIHJhdGhlciB0aGFuIGlubGluZWQgYXQgdGhlIHBvaW50IG9mIHVzZS5cbiR0c256LWxpZ2h0Ym94LWljb24tc2l6ZTogcmVtLWNhbGMoNTYpO1xuXG4udHNuei1saWdodGJveCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogem9vbS1pbjtcbiAgICAvLyBUaGUgb3ZlcmxheSBpcyBjbGlwcGVkIHRvIHRoZSB0cmlnZ2VyJ3Mgb3duIGJveCDigJQgbWF0dGVycyB3aGVuIHRoZSB0cmlnZ2VyIGFsc29cbiAgICAvLyBjYXJyaWVzIGEgcmFkaXVzIG9yIGFuIGBvdmVyZmxvd2AgY3JvcCAoZS5nLiB0aGUgY2Fyb3VzZWwncyA0OjMgbWVkaWEgZnJhbWUpLlxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLS12aWRlbyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC8vIEJyYW5kIEJsdWUgd2FzaC4gSGlkZGVuIHVudGlsIGhvdmVyL2ZvY3VzLlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHNuei1kdXJhdGlvbi1iYXNlICR0c256LWVhc2luZztcbiAgICAgICAgLy8gRGVjb3JhdGl2ZSDigJQgY2xpY2tzIGZhbGwgdGhyb3VnaCB0byB0aGUgYW5jaG9yLlxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAvLyBWaWRlbyB0aHVtYm5haWxzIGtlZXAgYSByZXN0cmFpbmVkIHBsYXkgYWZmb3JkYW5jZSB2aXNpYmxlIGJlZm9yZSBob3Zlci4gVGhlXG4gICAgICAgIC8vIGV4aXN0aW5nIGltYWdlIG92ZXJsYXkgcmVtYWlucyBvcGFjaXR5OiAwIGFuZCBiZWhhdmVzIGV4YWN0bHkgYXMgYmVmb3JlLlxuICAgICAgICAmLS12aWRlbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjE4KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVybGF5IHNob3dzIG9uIEhPVkVSIE9OTFkg4oCUIGRlbGliZXJhdGVseSBub3Qgb24gYW55IGZvY3VzIHN0YXRlLiBGYW5jeWJveCByZXN0b3Jlc1xuICAgIC8vIGZvY3VzIHRvIHRoZSB0cmlnZ2VyIHdoZW4gdGhlIGxpZ2h0Ym94IGNsb3NlcywgYW5kIENocm9tZSBwYWludHMgYDpmb2N1cy12aXNpYmxlYCBmb3JcbiAgICAvLyB0aGF0IHByb2dyYW1tYXRpYyBgLmZvY3VzKClgIGV2ZW4gYWZ0ZXIgYSBtb3VzZS1kcml2ZW4gb3Blbi9jbG9zZSAoc2NyaXB0IGZvY3VzIGlzXG4gICAgLy8gdHJlYXRlZCBhcyBrZXlib2FyZC1saWtlKSwgd2hpY2ggbGVmdCB0aGUgYmx1ZSB3YXNoIHN0dWNrIG9uIHRoZSBsYXN0LWNsaWNrZWQgaW1hZ2UuXG4gICAgLy8gYDpob3ZlcmAgY2FuJ3Qgc3RpY2s6IG9uY2UgdGhlIGxpZ2h0Ym94IGNsb3NlcyBhbmQgdGhlIGN1cnNvciBpcyBvZmYgdGhlIGltYWdlIHRoZVxuICAgIC8vIG92ZXJsYXkgY2xlYXJzLiBLZXlib2FyZCB1c2VycyBzdGlsbCBnZXQgdGhlIGZvY3VzIHJpbmcgYmVsb3cgcGx1cyB0aGUgYW5jaG9yJ3NcbiAgICAvLyBhcmlhLWxhYmVsLCBzbyB0aGUgYWZmb3JkYW5jZSBpc24ndCBsb3N0IOKAlCBvbmx5IHRoZSByZWR1bmRhbnQgZmlsbCBpcy5cbiAgICAmOmhvdmVyICZfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC8vIEtleWJvYXJkIGZvY3VzIHJpbmcgb24gdGhlIHRyaWdnZXIgaXRzZWxmLiBgOmZvY3VzLXZpc2libGVgIChub3QgYDpmb2N1c2ApIHNvIGFcbiAgICAvLyBtb3VzZSBjbGljayBkb2Vzbid0IGxlYXZlIGEgcmluZzsga2V5Ym9hcmQgVGFiIGRvZXMuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgd2lkdGg6ICR0c256LWxpZ2h0Ym94LWljb24tc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdHNuei1saWdodGJveC1pY29uLXNpemU7XG4gICAgICAgIC8vIEJyYW5kIFllbGxvdyBtYWduaWZpZXIg4oCUIHRoZSBpY29uIGZpbGxzIHdpdGggY3VycmVudENvbG9yLlxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICAgICAmLS12aWRlbyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjZSgxMik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRzbnotZm9ybS1lYXNlOiBjdWJpYy1iZXppZXIoMC4xMSwgMC45MiwgMC4wNSwgMC45OSk7XG5cbi50c256LWZvcm0ge1xuICAgIEBpbmNsdWRlIHRzbnotZ3JpZCgnZm9ybScpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyAyLjA6IHRoZSB2YWxpZGF0aW9uIG1lc3NhZ2Ugc2l0cyBjbGVhbmx5IGJlbG93IGl0cyBmaWVsZC4gRm91bmRhdGlvbidzXG4gICAgLy8gLmZvcm0tZXJyb3IgcHVsbHMgaXRzZWxmIHVwIHdpdGggYSBuZWdhdGl2ZSB0b3AgbWFyZ2luICh0dW5lZCBmb3IgdGhlIG9sZFxuICAgIC8vIGZsb2F0aW5nLWxhYmVsIGJveGVzKSDigJQgcmVzZXQgdGhhdCBzbyBpdCByZWFkcyBhcyBhIG5vcm1hbCBnYXAgdW5kZXIgdGhlXG4gICAgLy8gZmlsbGVkIGlucHV0LiBGaWVsZCBzcGFjaW5nIGlzIG93bmVkIGJ5IHRoZSBmb3JtIGdyaWQsIHNvIG5vIGJvdHRvbSBtYXJnaW4uXG4gICAgLmZvcm0tZXJyb3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgxMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmX19wb3N0LXN1Ym1pdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGN1c3RvbS01O1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdHNuei1mb3JtLWVhc2U7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cblxuICAgICZfX3JvdyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAmX19oYWxmLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMiwgJGJyZWFrcG9pbnQ6IGxhcmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3R3by10aGlyZHMtcm93IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsICRicmVha3BvaW50OiBzbWFsbCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDIgb2YgMywgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDIgb2YgMylcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29uZS10aGlyZC1yb3cge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAzLCAkYnJlYWtwb2ludDogc21hbGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAzKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXV0by1jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZTogMSBvZiAxLCAkYnJlYWtwb2ludDogc21hbGwpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0byk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaHJpbmstY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6IDEgb2YgMSwgJGJyZWFrcG9pbnQ6IHNtYWxsKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyKTtcbiAgICB9XG5cbiAgICAmX19idXR0b24tZ3JvdXAge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAoJHNwYWNpbmc6IDAuMzc1cmVtKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2xvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICB9XG5cbiAgICAmX19tYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgxNiBieSA5KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0LWdyYXk7XG4gICAgfVxuXG4gICAgJl9fbWFwLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19tYXAtYXNzaXN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogY3VzdG9tLTE7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0c256LWZvcm0tZWFzZTtcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgfVxuXG4gICAgJl9fbWFwLWxvYWRpbmcsXG4gICAgJl9fbWFwLWZlZWRiYWNrIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJl9fbWFwLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLyogY29sdW1uIHwgcm93ICovXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19tYXAtbG9hZGluZyB7XG4gICAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAmX19tYXAtaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICB9XG5cbiAgICAmX19tYXAtaGVhZGluZy1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgyIG9mIDMsICRndXR0ZXJzOiAwKTtcbiAgICB9XG5cbiAgICAmX19tYXAtaGVhZGluZy1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCAkZ3V0dGVyczogMCk7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgICZfX2NvdmVyLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgbWFyZ2luOiAtMS43NXJlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyAkdHNuei1mb3JtLWVhc2UsICB0cmFuc2Zvcm0gMC41cyAkdHNuei1mb3JtLWVhc2U7XG4gICAgfVxuXG4gICAgJi0tbWFwLWFjdGl2ZSB7XG4gICAgICAgIC50c256LWZvcm1fX21hcC1hc3Npc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tYXAtbG9hZGVkIHtcbiAgICAgICAgLnRzbnotZm9ybV9fbWFwLWxvYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1hcC1zdWNjZXNzIHtcbiAgICAgICAgLnRzbnotZm9ybV9fbWFwLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jYXJkLXN0eWxlIHtcbiAgICAgICAgLnRzbnotZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcigpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3NzApO1xuICAgICAgICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgICAgICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aWRlIHtcbiAgICAgICAgLnRzbnotZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDExMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbG9hZGluZyB7XG4gICAgICAgIC50c256LWZvcm1fX2FjdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWZvcm1fX2xvYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb21wbGV0ZSB7XG4gICAgICAgIC50c256LWZvcm1fX3ByZS1zdWJtaXQsXG4gICAgICAgIC50c256LWZvcm1fX2xvYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWZvcm1fX3Bvc3Qtc3VibWl0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV3c2xldHRlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgLnRzbnotZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWZvcm1fX3Bvc3Qtc3VibWl0LW1lc3NhZ2Uge1xuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBoMyxcbiAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvbnRhY3Qge1xuICAgICAgICAudHNuei1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuMCBjb250YWN0IGZvcm0g4oCUIHBsYWluIChub24tY2FyZCkgZm9ybSwgbWF4IDYwcmVtIGNlbnRyZWQsIGJsdWUgU2VuZCBNZXNzYWdlIGJ1dHRvbi5cbiAgICAmLS1jb250YWN0LW56IHtcbiAgICAgICAgLnRzbnotZm9ybV9fZm9ybSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDk2MCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV2ZW4gdmVydGljYWwgcmh5dGhtIHZpYSBnYXAg4oCUIGxldCB0aGUgZmxvdyBjb250YWluZXIgb3duIHRoZSBzcGFjaW5nIGJldHdlZW5cbiAgICAgICAgLy8gcm93cy9maWVsZHMgcmF0aGVyIHRoYW4gZWFjaCBmaWVsZCdzIG93biBtYXJnaW4uIGRpc3BsYXk6bm9uZSBjaGlsZHJlblxuICAgICAgICAvLyAoYWJpZGUtZXJyb3IsIGluYWN0aXZlIG1hcC1hc3Npc3QpIGNvbGxhcHNlIG91dCBhbmQgYWRkIG5vIGdhcC5cbiAgICAgICAgLnRzbnotZm9ybV9fcHJlLXN1Ym1pdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gWmVybyB0aGUgcGVyLWZpZWxkIG1hcmdpbnMgc28gZ2FwIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHZlcnRpY2FsIHNwYWNpbmcuXG4gICAgICAgIC8vIChOb3QgLnRzbnotZm9ybV9fcm93IOKAlCBpdHMgbmVnYXRpdmUgZ3V0dGVyIG1hcmdpbnMgZHJpdmUgdGhlIHR3by1jb2x1bW4gbGF5b3V0LilcbiAgICAgICAgLnRzbnotaW5wdXQsXG4gICAgICAgIC50c256LXNlbGVjdCxcbiAgICAgICAgLnRzbnotdGV4dGFyZWEsXG4gICAgICAgIC50c256LWNoZWNrYm94LWdyb3VwLFxuICAgICAgICAudHNuei1mb3JtX19hY3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzZWxlY3QsXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGVuIHRoZSB0d28tY29sdW1uIHJvd3Mgc3RhY2sgKG1vYmlsZSksIGtlZXAgdGhlbSBldmVubHkgc3BhY2VkIHRvby5cbiAgICAgICAgLnRzbnotZm9ybV9fcm93IHtcbiAgICAgICAgICAgIHJvdy1nYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdpdmUgdGhlIFNlbmQgTWVzc2FnZSBidXR0b24gZG91YmxlIHRoZSByaHl0aG0gYWJvdmUgaXQgKGdhcCArIG1hcmdpbikuXG4gICAgICAgIC50c256LWZvcm1fX2FjdGlvbnMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW50ZXJlc3RzIGRyb3Bkb3duIHNpdHMgYXQgaGFsZiB3aWR0aCBvbiBkZXNrdG9wIChGaWdtYSkuXG4gICAgICAgIC50c256LXNlbGVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGdWxsLWJsZWVkIHN1Ym1pdCBvbiBtb2JpbGUgKEZpZ21hKSwgYXV0byB3aWR0aCBmcm9tIG1lZGl1bSB1cC5cbiAgICAgICAgLnRzbnotZm9ybV9fYWN0aW9ucyAudHNuei1hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JtLWxldmVsIHZhbGlkYXRpb24gc3VtbWFyeSBpbiB0aGUgMi4wIGVycm9yIHJlZCAoI0VEMUMyNCkuXG4gICAgICAgIFtkYXRhLWFiaWRlLWVycm9yXS5jYWxsb3V0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHRzbnotYnJhbmQtcmVkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdHNuei1icmFuZC1yZWQsIDAuMDgpO1xuICAgICAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuMDogc2FtZSBnYXAtYmFzZWQgdmVydGljYWwgcmh5dGhtIGFzIHRoZSBjb250YWN0IGZvcm0gKC0tY29udGFjdC1ueikg4oCUIHRoZSBmbG93XG4gICAgLy8gY29udGFpbmVyIG93bnMgdGhlIHNwYWNpbmcgYmV0d2VlbiBmaWVsZHMgcmF0aGVyIHRoYW4gZWFjaCBmaWVsZCdzIG93biBtYXJnaW4uXG4gICAgLy8gZGlzcGxheTpub25lIGNoaWxkcmVuIChhYmlkZS1lcnJvciwgaW5hY3RpdmUgbWFwLWFzc2lzdCkgY29sbGFwc2Ugb3V0IGFuZCBhZGQgbm8gZ2FwLlxuICAgICYtLWFuc3dlci1zZXJ2aWNlcyB7XG4gICAgICAgIC50c256LWZvcm1fX3ByZS1zdWJtaXQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFplcm8gdGhlIHBlci1maWVsZCBtYXJnaW5zIHNvIGdhcCBpcyB0aGUgc2luZ2xlIHNvdXJjZSBvZiB2ZXJ0aWNhbCBzcGFjaW5nLlxuICAgICAgICAvLyAoTm90IC50c256LWZvcm1fX3JvdyDigJQgaXRzIG5lZ2F0aXZlIGd1dHRlciBtYXJnaW5zIGRyaXZlIHRoZSB0d28tY29sdW1uIGxheW91dC4pXG4gICAgICAgIC52ZXItZm9ybV9fY29udGVudC1sZWdlbmQtY29udGFpbmVyLFxuICAgICAgICAudmVyLWZvcm1fX2ZyYW5jaGlzZS1kaXNwbGF5LFxuICAgICAgICAudHNuei1pbnB1dCxcbiAgICAgICAgLnRzbnotc2VsZWN0LFxuICAgICAgICAudHNuei10ZXh0YXJlYSxcbiAgICAgICAgLnRzbnotY2hlY2tib3gtZ3JvdXAsXG4gICAgICAgIC50c256LWJ1dHRvbi1ncm91cCxcbiAgICAgICAgLnRzbnotZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgc2VsZWN0LFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU29mdGVyLCBsb3dlci1jb250cmFzdCBwbGFjZWhvbGRlciB0ZXh0ICgwODAwIGZvcm0pIOKAlCBsaWdodGVyIGdyZXkgYW5kIGRpYWxsZWQgYmFjay5cbiAgICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAgICAgICB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICR0c256LW1lZC1ncmF5O1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV2hlbiB0aGUgdHdvLWNvbHVtbiByb3cgc3RhY2tzIChtb2JpbGUpLCBrZWVwIGl0IGV2ZW5seSBzcGFjZWQgdG9vLlxuICAgICAgICAudHNuei1mb3JtX19yb3cge1xuICAgICAgICAgICAgcm93LWdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2l2ZSB0aGUgc3VibWl0IGJ1dHRvbiBkb3VibGUgdGhlIHJoeXRobSBhYm92ZSBpdCAoZ2FwICsgbWFyZ2luKS5cbiAgICAgICAgLnRzbnotZm9ybV9fYWN0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjZSgyNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1lbnRyeSB7XG4gICAgICAgIC50c256LWZvcm1fX3ByZS1zdWJtaXQge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgJHRzbnotZm9ybS1lYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNvdmVyZWQge1xuICAgICAgICAudHNuei1mb3JtX19wcmUtc3VibWl0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1mb3JtX19jb3Zlci1pbWFnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZlci1pbm5lci1wYWdlLS1hbnN3ZXItc2VydmljZXMtZm9ybSB7XG4gICAgLnRzbnotYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAudHNuei1ibG9ja19fY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTEwMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg4MTApIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50c256LXByZWZvb3RlcixcbiAgICAudHNuei1mb290ZXIsXG4gICAgLnRzbnotYnJlYWRjcnVtYnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50c256LWJ1dHRvbi1ncm91cF9fYnV0dG9uIHtcbiAgICAgICAgLy8gRW5zdXJlIHJhZGlvIGJ1dHRvbiBncm91cCBidXR0b25zIGFyZSBzdHlsZWQgY29ycmVjdGx5XG4gICAgfVxuXG4gICAgLy8gU3BhY2luZyBiZWxvdyB0aGUgaW50cm8gaXMgb3duZWQgYnkgdGhlIGZvcm0gZ2FwIChzZWUgLS1hbnN3ZXItc2VydmljZXMpIOKAlCBubyBvd24gcGFkZGluZy5cbiAgICAudmVyLWZvcm1fX2NvbnRlbnQtbGVnZW5kLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC50c256LWlucHV0LS1hbnN3ZXItc2VydmljZXMtZW1haWwge1xuICAgICAgICAudHNuei1pbnB1dF9fbGFiZWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlIC0gI3syICogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpfSkgLyAxLjEyNSk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50c256LWlucHV0LS11c2VkLFxuICAgICAgICAmLnRzbnotaW5wdXQtLWZvY3VzZWQge1xuICAgICAgICAgICAgLnRzbnotaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoKDEwMCUgLSAjezIgKiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCl9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHNuei1pbnB1dC0tYnVpbGQtbG9jYXRpb24ge1xuICAgICAgICAudHNuei1pbnB1dF9fbGFiZWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlIC0gI3syICogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpfSkgLyAxLjEyNSk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50c256LWlucHV0LS11c2VkLFxuICAgICAgICAmLnRzbnotaW5wdXQtLWZvY3VzZWQge1xuICAgICAgICAgICAgLnRzbnotaW5wdXRfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoKDEwMCUgLSAjezIgKiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCl9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVyLWZvcm1fX2ZyYW5jaGlzZS1kaXNwbGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjJmMjtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcblxuICAgICAgICAudmVyLWZvcm1fX2ZyYW5jaGlzZS1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZXItZm9ybV9fZnJhbmNoaXNlLW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQ29udGFjdCBmb3JtIGJsb2NrIOKAlCB0aGUgc2hhcmVkIGVucXVpcnkgZm9ybSBvdXRwdXQgYXMgYSByZXVzYWJsZSBibG9jay4gVGhlIGZvcm0gb3duc1xuLy8gaXRzIG93biBsYXlvdXQgKGNvbXBvbmVudHMvX2Zvcm0uc2NzcyDihpIgLnRzbnotZm9ybS0tY29udGFjdC1ueiwgOTYwIGNlbnRyZWQpOyB0aGlzXG4vLyBwYXJ0aWFsIG9ubHkgc3R5bGVzIHRoZSBvcHRpb25hbCBibG9jayBoZWFkaW5nIHJlbmRlcmVkIGFib3ZlIGl0LlxuLnRzbnotY29udGFjdC1mb3JtIHtcbiAgICAmX19oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2UoMjQpO1xuICAgIH1cblxuICAgIC8vIENhcCArIGNlbnRyZSB0aGUgaGVhZGluZyBzbyBpdCBhbGlnbnMgd2l0aCB0aGUgOTYwLXdpZGUgY2VudHJlZCBmb3JtIGJlbG93LlxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDk2MCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cbiIsIi8vIEZyYW5jaGlzZSBPcHBvcnR1bml0eSBGb3JtIGJsb2NrIOKAlCBvdXRwdXRzIHRoZSBIdWJTcG90IGZyYW5jaGlzZSBlbnF1aXJ5IGVtYmVkIGFzIGFcbi8vIHJldXNhYmxlIGJsb2NrLiBUaGUgZW1iZWQgc2tpbnMgaXRzZWxmIChjb21wb25lbnRzL19odWJzcG90LWZvcm1zLnNjc3Mg4oaSXG4vLyAudHNuei1odWJzcG90LWZvcm0pOyB0aGlzIHBhcnRpYWwgb25seSBob2xkcyB0aGUgZm9ybSB0byB0aGUgcGFnZSBndXR0ZXIgYW5kIGFcbi8vIGNvbWZvcnRhYmxlIGNlbnRyZWQgbWVhc3VyZSwgYW5kIHN0eWxlcyB0aGUgb3B0aW9uYWwgYmxvY2sgaGVhZGluZyBhYm92ZSBpdC5cbi50c256LWZyYW5jaGlzZS1vcHBvcnR1bml0eS1mb3JtIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICB9XG5cbiAgICAvLyBDYXAgKyBjZW50cmUgdGhlIGhlYWRpbmcgYW5kIHRoZSBlbWJlZGRlZCBmb3JtIHRvIHRoZSBzYW1lIG1lYXN1cmUuXG4gICAgJl9faGVhZGluZyxcbiAgICAudHNuei1odWJzcG90LWZvcm0ge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDk2MCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDI0KTtcbiAgICB9XG59XG4iLCIvLyAyLjAgY29udGFjdCBzdHJpcCDigJQgdGhyZWUgaWNvbiArIHRhZ2xpbmUvbGFiZWwgbGlua3Mgb24gYSB3aGl0ZSBiYW5kLlxuLy8gRmlnbWEgXCJUb3RhbHNwYW4gUmVmcmVzaFwiOiBkZXNrdG9wIDE5NTAtNjAwNiwgbW9iaWxlIDE5NTctMzU0NS5cbi8vXG4vLyBJY29uIGdseXBoIHRyYWNrcyB0aGUgU1ZHIGFydHdvcmsgKH41NXB4IGluIHRoZSBjb21wKSwgc28gaXQncyBhIG5hbWVkIGxvY2FsLCBub3QgYVxuLy8gc3BhY2luZyB0b2tlbi4gVGhlIGNvbHVtbiBpcyBrZXB0IG9ubHkgYSB0b3VjaCB3aWRlciB0aGFuIHRoZSBnbHlwaCBzbyBhIGNlbnRyZWQgc3RhY2tcbi8vIGRvZXNuJ3QgaW5oZXJpdCBwaGFudG9tIGxlZnQgcGFkZGluZzsgaXRzIGhlaWdodCBjYXJyaWVzIHRoZSBiZXR3ZWVuLWl0ZW0gcmh5dGhtLlxuJHRzbnotcHJlZm9vdGVyLWljb24tZ2x5cGg6IHJlbS1jYWxjKDU1KTtcbiR0c256LXByZWZvb3Rlci1pY29uLWNvbDogc3BhY2UoNjQpO1xuJHRzbnotcHJlZm9vdGVyLWljb24tem9uZS1oOiBzcGFjZSg5Nik7IC8vIHZlcnRpY2FsIHJoeXRobSBiZXR3ZWVuIHN0YWNrZWQgaXRlbXMgKEZpZ21hIGNlbGwg4omIIDk4cHgpXG5cbi50c256LXByZWZvb3RlciB7XG4gICAgQGV4dGVuZCAlaGlkZS1mb3ItcHJpbnQ7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXJlc2V0KCRjb2xvcjogJHRzbnotYnJhbmQtYmx1ZSwgJGJhY2tncm91bmQtY29sb3I6ICR0c256LXdoaXRlKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBzcGFjZSg0OCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHNwYWNlKDgwKTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgLy8gTW9iaWxlOiB0aGUgc3RhY2sgc2hyaW5rcyB0byBpdHMgd2lkZXN0IGl0ZW0gYW5kIGNlbnRyZXMgYXMgYSBibG9jaywgd2hpbGUgdGhlXG4gICAgICAgIC8vIGl0ZW1zIGtlZXAgYSBzaGFyZWQgbGVmdCBlZGdlIChwZXIgdGhlIGNvbXApLiBEZXNrdG9wOiBmdWxsLXdpZHRoIHJvdy5cbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXgtd2lkdGg6IDcwcmVtOyAvLyBGaWdtYTogc3RyaXAgaXMgY2VudHJlZCBhdCA3MHJlbSwgbmFycm93ZXIgdGhhbiB0aGUgcGFnZSBjb250ZW50IHdpZHRoXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiBzcGFjZSgyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLWJsdWU7XG5cbiAgICAgICAgJjpob3ZlciAudHNuei1wcmVmb290ZXJfX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdHNuei1icmFuZC1ibHVlLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRml4ZWQtd2lkdGggY29sdW1uIGtlZXBzIHRoZSB0ZXh0IGxlZnQtZWRnZXMgYWxpZ25lZCBhY3Jvc3MgaXRlbXM7IHRoZSBoZWlnaHQgc2V0c1xuICAgIC8vIHRoZSBzdGFja2VkIHZlcnRpY2FsIHJoeXRobS5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogJHRzbnotcHJlZm9vdGVyLWljb24tY29sO1xuICAgICAgICBoZWlnaHQ6ICR0c256LXByZWZvb3Rlci1pY29uLXpvbmUtaDtcbiAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXllbGxvdztcblxuICAgICAgICAvLyBFeHBsaWNpdCB3aWR0aCBBTkQgaGVpZ2h0IOKAlCB0aGUgb3V0ZXIgPHN2Zz4gY2FycmllcyBubyB2aWV3Qm94ICh0aGF0IGxpdmVzIG9uIHRoZVxuICAgICAgICAvLyBpbm5lciA8c3ltYm9sPiksIHNvIGlPUyBTYWZhcmkgY2FuJ3QgcmVzb2x2ZSBgd2lkdGg6IGF1dG9gIGZyb20gdGhlIHN5bWJvbCdzIHJhdGlvXG4gICAgICAgIC8vIGFuZCBjb2xsYXBzZXMgdGhlIGljb24gdG8gbm90aGluZy4gVGhlIGdseXBocyBhcmUgc3F1YXJlICh2aWV3Qm94IOKJiCA1NsOXNTYpLCBzbyBhXG4gICAgICAgIC8vIHNxdWFyZSBib3ggbWF0Y2hlcyB0aGUgYXJ0d29yay4gTWlycm9yIHRoZSBoZWFkZXIncyBpY29uIHNpemluZyBwYXR0ZXJuLlxuICAgICAgICAudHNuei1zeW1ib2wge1xuICAgICAgICAgICAgd2lkdGg6ICR0c256LXByZWZvb3Rlci1pY29uLWdseXBoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkdHNuei1wcmVmb290ZXItaWNvbi1nbHlwaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMnJlbTtcbiAgICB9XG5cbiAgICAvLyAudHNuei10YWdsaW5lIHN1cHBsaWVzIHRoZSAxMnB4IHVwcGVyY2FzZSB0cmFja2luZzsgaW5oZXJpdCB0aGUgYmx1ZS5cbiAgICAmX190YWdsaW5lIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7IC8vIExhYmVsIE1vYmlsZVxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7IC8vIExhYmVsIERlc2t0b3BcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIE5ld3NsZXR0ZXIg4oCUIDIuMCByZWZyZXNoLlxuLy9cbi8vIEZpZ21hOiBGb290ZXIgLyBOZXdzbGV0dGVyIChkZXNrdG9wIDExNTg6MjQxNSwgbW9iaWxlIDE5NTA6NDA3OSkuIEEgbGlnaHQgU2t5IGJhbmRcbi8vIGhvbGRpbmcgdGhlIEh1YlNwb3Qgc2lnbi11cCBmb3JtLCB3aXRoIFNhbSBvdmVyZmxvd2luZyB0aGUgdG9wLXJpZ2h0IG9uIGRlc2t0b3AuIFRoZVxuLy8gc29jaWFsIGljb25zIHRoYXQgdXNlZCB0byBsaXZlIGhlcmUgbW92ZWQgdG8gdGhlIGZvb3RlciAoc2VlIF9mb290ZXIuc2Nzcykg4oCUIHRoZSBiYW5kXG4vLyBpcyBmb3JtICsgU2FtIG9ubHkgbm93LiBGb3JtIGZpZWxkIHN0eWxpbmcgaXMgaW4gX2h1YnNwb3QtZm9ybXMuc2NzcyAoSHViU3BvdCBvd25zIHRoZVxuLy8gbWFya3VwKTsgdGhpcyBmaWxlIG93bnMgdGhlIGJhbmQsIHRoZSBoZWFkaW5nIGFuZCBTYW0uXG4vL1xuLy8gQ29udGFpbmVyIGluc2V0IOKAlCBkb3VibGUgdGhlIHN0YW5kYXJkIHN0ZXAgKDY0IHJhdGhlciB0aGFuIDMyKSBvbiBib3RoIGVkZ2VzIGF0XG4vLyBgbGFyZ2VgLCBpbmNsdWRlZCBvbiBgX19jb250YWluZXJgIHJhdGhlciB0aGFuIHZpYSBgLnRzbnotY29udGFpbmVyLS1pbnNldGAgc28gdGhlXG4vLyBhbW91bnQgaXNuJ3Qgb3ZlcnJpZGRlbiBieSB0aGUgc2hhcmVkIGNsYXNzLiBTYW0ncyByaWdodCBvZmZzZXQgdXNlcyB0aGUgc2FtZSBzdGVwLlxuXG4vLyBTYW0ncyByZW5kZXJlZCBmb290cHJpbnQuIE9mZi1zY2FsZSBieSBuYXR1cmUgKGl0J3MgYW4gaW1hZ2UpLCBzbyBuYW1lZCBjb21wb25lbnRcbi8vIGNvbnN0YW50cyByYXRoZXIgdGhhbiBpbmxpbmUgdmFsdWVzIOKAlCBzYW1lIHRyZWF0bWVudCBhcyB0aGUgbWFzdGhlYWQncyBTYW0uXG4kdHNuei1uZXdzbGV0dGVyLXNhbS13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiR0c256LW5ld3NsZXR0ZXItc2FtLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcbiR0c256LW5ld3NsZXR0ZXItc2FtLWdhcDogc3BhY2UoMzIpOyAvLyBjbGVhcmFuY2UgcmVzZXJ2ZWQgYmV0d2VlbiB0aGUgZm9ybSBhbmQgU2FtXG4kdHNuei1uZXdzbGV0dGVyLWluc2V0LXN0ZXA6IDY0OyAgICAgLy8gZG91YmxlIHRoZSBzdGFuZGFyZCB0c256LWNvbnRhaW5lci1pbnNldCBzdGVwXG5cbi50c256LW5ld3NsZXR0ZXIge1xuICAgIEBleHRlbmQgJWhpZGUtZm9yLXByaW50O1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1yZXNldCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yLCAkYmFja2dyb3VuZC1jb2xvcjogJHRzbnotc2t5KTtcbiAgICBAaW5jbHVkZSB0c256LWdyaWQoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWNvbnRhaW5lci1pbnNldChib3RoLCAkdHNuei1uZXdzbGV0dGVyLWluc2V0LXN0ZXApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogc3BhY2UoMzIpICogMik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tLCAkZ3V0dGVyczogc3BhY2UoNDgpICogMik7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMTYpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgICAgIC8vIEtlZXAgdGhlIGZvcm0gY2xlYXIgb2YgU2FtLCB3aG8gc2l0cyBhdCB0aGUgYmFuZCdzIHJpZ2h0IGVkZ2Ugb24gZGVza3RvcC5cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skdHNuei1uZXdzbGV0dGVyLXNhbS13aWR0aH0gKyAjeyR0c256LW5ld3NsZXR0ZXItc2FtLWdhcH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTsgICAgIC8vIEg0IE1vYmlsZVxuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNudWc7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7IC8vIEg0XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkdHNuei10cmFja2luZy10aWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBTYW0uIFNsb3QgaXMgY2FwcGVkIHRvIHRoZSBjb250YWluZXIgd2lkdGggYW5kIGNlbnRyZWQgc28gU2FtIGxhbmRzIGF0IHRoZSBjb250ZW50XG4gICAgLy8gZWRnZTsgdGhlIHBpY3R1cmUgaXMgYm90dG9tLWFuY2hvcmVkIHRvIHRoZSBiYW5kIGFuZCB0YWxsZXIgdGhhbiBpdCwgc28gaGlzIGhlYWRcbiAgICAvLyBvdmVyZmxvd3MgdGhlIGJhbmQgdG9wICh0aGUgYmFuZCBrZWVwcyBpdHMgZGVmYXVsdCB2aXNpYmxlIG92ZXJmbG93KS5cbiAgICAmX19zYW0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbWF4LXdpZHRoOiAkZ3JpZC1jb250YWluZXItbWF4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NhbS1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogJHRzbnotbmV3c2xldHRlci1zYW0td2lkdGg7XG4gICAgICAgIGhlaWdodDogJHRzbnotbmV3c2xldHRlci1zYW0taGVpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cbiAgICAgICAgLy8gSW5zZXQgZnJvbSB0aGUgc2xvdCdzIHJpZ2h0IGVkZ2UgYnkgdGhlIHBhZ2UgZ3V0dGVyLCBzbyBTYW0gYWxpZ25zIHdpdGggdGhlXG4gICAgICAgIC8vIGNvbnRlbnQgY29sdW1uLiBBdCBgbGFyZ2VgIGFkZCB0aGUgc2FtZSBleHRyYSBzdGVwIGFzIGBfX2NvbnRhaW5lcmAuXG4gICAgICAgIEBlYWNoICRicCwgJHRvdGFsIGluICRncmlkLWNvbnRhaW5lci1wYWRkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICR0b3RhbCAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICByaWdodDogbWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZywgbGFyZ2UpICogMC41ICsgc3BhY2UoJHRzbnotbmV3c2xldHRlci1pbnNldC1zdGVwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50c256LXNpdGVtYXAge1xuICAgIEBpbmNsdWRlIHRzbnotY2FyZC1zdHlsZSgkcGFkZGluZy10YXJnZXQ6ICd3cmFwcGVyJyk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWNhcmQtY29sbGFwc2U7XG4gICAgfVxuXG4gICAgJl9fbGlzdCxcbiAgICAmX19jaGlsZC1saXN0LFxuICAgICZfX2dyYW5kY2hpbGQtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgICZfX2NoaWxkLWxpc3QsXG4gICAgJl9fZ3JhbmRjaGlsZC1saXN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgJiN7Jn0ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hpbGQtbGluayB7XG4gICAgICAgICYjeyZ9IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyYW5kY2hpbGQtbGluayB7XG4gICAgICAgICYjeyZ9IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwLjVlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi50c256LXNlYXJjaC1yZXN1bHRzIHtcbiAgICBAaW5jbHVkZSB0c256LWNhcmQtc3R5bGUoJHBhZGRpbmctdGFyZ2V0OiAnd3JhcHBlcicpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgIH1cbn1cbiIsIi8qIFZlbmRvciAqL1xuJGdsaWRlLWNsYXNzOiAndHNuei1zbGlkZXInO1xuQGltcG9ydCAnZ2xpZGUuY29yZSc7XG5cbiR0c256LXNsaWRlci1tYXgtd2lkdGg6IDE2MDA7XG4kdHNuei1zbGlkZXItbWF4LWhlaWdodDogNTYwO1xuXG4udHNuei1zbGlkZXIge1xuICAgIEBleHRlbmQgJWhpZGUtZm9yLXByaW50O1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1yZXNldCgkd2hpdGUsICRyZXNldC1saW5rczogZmFsc2UpO1xuICAgIEBpbmNsdWRlIHRzbnotY3RhLXN0eWxlKFxuICAgICAgICAkd3JhcHBlci1jbGFzczogJ2N0YS13cmFwcGVyJyxcbiAgICAgICAgJHRvcC1jbGFzczogJ2N0YS10b3AnLCBcbiAgICAgICAgJGNvbnRlbnQtY2xhc3M6ICdjdGEtY29udGVudCcsXG4gICAgICAgICRoZWFkaW5nLWNsYXNzOiAnY3RhLWhlYWRpbmcnLFxuICAgICAgICAkZGVzY3JpcHRpb24tY2xhc3M6ICdjdGEtZGVzY3JpcHRpb24nXG4gICAgKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygkdHNuei1zbGlkZXItbWF4LXdpZHRoKTtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDM4MCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0c256LWJsb2NrLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAqICgxNTUvMzIwKSk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKCR0c256LXNsaWRlci1tYXgtaGVpZ2h0KTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBib3gtc2hhZG93OiAkY2FyZC1zaGFkb3c7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogI3soJHRzbnotc2xpZGVyLW1heC1oZWlnaHQvJHRzbnotc2xpZGVyLW1heC13aWR0aCl9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcblxuICAgICAgICAubGF6eWxvYWRlZCA+ICYge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnRzLW91dGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTIzMikge1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTB2dyAtICN7KCRnbG9iYWwtd2lkdGggLyAyKX0pO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHNuei1zbGlkZXItbWF4LXdpZHRoKSB7XG4gICAgICAgICAgICByaWdodDogKHJlbS1jYWxjKCR0c256LXNsaWRlci1tYXgtd2lkdGgpIC8gMikgLSAoJGdsb2JhbC13aWR0aCAvIDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudHMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoKDEwMCUgLSAje21hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSAqIDJ9KSAqICgyLzMpKSArICN7ICRjYXJkLXBhZGRpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgoMTAwJSAtICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpfSkgKiAoMi8zKSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhIHtcbiAgICAgICAgfiAjeyZ9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICB1cmwoJy4uL2ltZy9jb3JydWdhdGUuc3ZnJyksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRwcmltYXJ5LWNvbG9yLCAkZGFyay1ibHVlKTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YS1oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEtZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDc3MCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICB9XG5cbiAgICAmX19jdGEtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXBhZGRpbmcqMjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtcGFkZGluZyoyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cCgkc3BhY2luZzogcmVtLWNhbGMoNSkpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cCgkc3BhY2luZzogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbGFyZ2UpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZCgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg2MTUpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2Fycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogY2FsYyg1MCUgLSAyMnB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDEwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogIHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2xpZGUgdXNlcyBsb3dlciBsZXZlbCBCRU0gbW9kaWZpZXJzXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTIyKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjklMjIgaGVpZ2h0PSUyMjE2JTIyIHZpZXdCb3g9JTIyMCAwIDkgMTYlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTS4zMiA3LjJMNy4xMi4zNGExLjEgMS4xIDAgMCAxIDEuNTYgMGMuNDMuNDQuNDMgMS4xNSAwIDEuNThMMi42NyA4bDYgNi4wOWMuNDQuNDMuNDQgMS4xNCAwIDEuNThhMS4xIDEuMSAwIDAgMS0xLjU2IDBMLjMyIDguOGExLjEyIDEuMTIgMCAwIDEgMC0xLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHbGlkZSB1c2VzIGxvd2VyIGxldmVsIEJFTSBtb2RpZmllcnNcbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKC0yMik7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk04LjY4IDguOGwtNi44IDYuODdhMS4xIDEuMSAwIDAgMS0xLjU2IDAgMS4xMyAxLjEzIDAgMCAxIDAtMS41OEw2LjMzIDhsLTYtNi4wOWExLjEzIDEuMTMgMCAwIDEgMC0xLjU4IDEuMSAxLjEgMCAwIDEgMS41NiAwTDguNjggNy4yYTEuMTIgMS4xMiAwIDAgMSAwIDEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1bGxldHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19idWxsZXQge1xuICAgICAgICB3aWR0aDogMC43NWVtO1xuICAgICAgICBoZWlnaHQ6IDAuNzVlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygyKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkd2hpdGUsIDAuNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMC4yNWVtIDAuNWVtIDAgZmFkZS1vdXQoJGJsYWNrLCAwLjkpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIDAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zYW0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHdpZHRoOiByZW0tYmV0d2VlbihyZW0tY2FsYyg4NyksIHJlbS1jYWxjKDIxMCksIHJlbS1jYWxjKDMyMCksIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpKTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygyMTApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1iZXR3ZWVuKHJlbS1jYWxjKDE1MCksIHJlbS1jYWxjKDM2MSksIHJlbS1jYWxjKDMyMCksIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpKTtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMzYxKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogLTQ1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgcmlnaHQ6IDEyMCU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tYmV0d2VlbihyZW0tY2FsYyg4NiwgMTQpLCByZW0tY2FsYygxMTYpLCByZW0tY2FsYygzMjApLCBtYXAtZ2V0KCRicmVha3BvaW50cywgeGxhcmdlKSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6ICRjYXJkLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC45ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhY2Nlc3NhYmlsaXR5IGVsZW1lbnRzXG4gICAgJl9faGVhZGluZyxcbiAgICAmX19saXZlLXJlZ2lvbixcbiAgICAmX19idWxsZXQtdGV4dCxcbiAgICAmX19jdXJyZW50LXRleHQge1xuICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLS1zd2lwZWFibGUge1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgfVxuXG4gICAgJi0tZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICAgIH1cblxuICAgICYtLXdpdGgtYmFkZ2Uge1xuICAgICAgICAudHNuei1zbGlkZXJfX3NsaWRlLWhlYWRpbmcge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2xpZGVyIHtcbiAgICAgICAgLnRzbnotc2xpZGVyX19idWxsZXRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LXNsaWRlcl9fYXJyb3dzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1zbGlkZXJfX2N0YSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotc2xpZGVyX19jdGEtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5cclxuLiN7JGdsaWRlLWNsYXNzfSB7XHJcbiAgJHRoaXM6ICY7XHJcblxyXG4gICRzZTogJGdsaWRlLWVsZW1lbnQtc2VwYXJhdG9yO1xyXG4gICRzbTogJGdsaWRlLW1vZGlmaWVyLXNlcGFyYXRvcjtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICoge1xyXG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gICYjeyRzZX10cmFjayB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgJiN7JHNlfXNsaWRlcyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4tWTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcblxyXG4gICAgJiN7JGdsaWRlLW1vZGlmaWVyLXNlcGFyYXRvcn1kcmFnZ2luZyB7XHJcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJiN7JHNlfXNsaWRlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgIGEge1xyXG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XHJcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYjeyRzZX1hcnJvd3Mge1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmI3skc2V9YnVsbGV0cyB7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB9XHJcblxyXG4gICYjeyRzbX1ydGwge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgfVxyXG59XHJcbiIsIi8qIFZlbmRvciAqL1xuQGltcG9ydCAnc3dpcGVyJztcblxuLnRzbnotY2Fyb3VzZWwge1xuICAgICZfX2NvbnRhaW5lciB7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBjYWxjKDUwJSk7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAgcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXJyb3ctbGVmdCB7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjklMjIgaGVpZ2h0PSUyMjE2JTIyIHZpZXdCb3g9JTIyMCAwIDkgMTYlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTS4zMiA3LjJMNy4xMi4zNGExLjEgMS4xIDAgMCAxIDEuNTYgMGMuNDMuNDQuNDMgMS4xNSAwIDEuNThMMi42NyA4bDYgNi4wOWMuNDQuNDMuNDQgMS4xNCAwIDEuNThhMS4xIDEuMSAwIDAgMS0xLjU2IDBMLjMyIDguOGExLjEyIDEuMTIgMCAwIDEgMC0xLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdy1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiByZW0tY2FsYyg2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNOC42OCA4LjhsLTYuOCA2Ljg3YTEuMSAxLjEgMCAwIDEtMS41NiAwIDEuMTMgMS4xMyAwIDAgMSAwLTEuNThMNi4zMyA4bC02LTYuMDlhMS4xMyAxLjEzIDAgMCAxIDAtMS41OCAxLjEgMS4xIDAgMCAxIDEuNTYgMEw4LjY4IDcuMmExLjEyIDEuMTIgMCAwIDEgMCAxLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwtY29udGFpbmVyIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjUlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICAgJiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgIC5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jYXJkLXN0eWxlIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLWNvbGxhcHNlO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJGd1dHRlcnM6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgICYtLWNhcmQtc3R5bGUtLWZyYW5jaGlzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJGd1dHRlcnM6NXB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5pdGlhbDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCRndXR0ZXJzOjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuIiwiJHRzbnotdmlkZW8tYmFzZS1zaXplOiAxcmVtO1xuJHRzbnotdmlkZW8tbGluZS1oZWlnaHQ6IDEuNDtcbiR0c256LXZpZGVvLXRpdGxlLXNpemU6IDEuMTI1cmVtO1xuJHRzbnotdmlkZW8tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNTtcblxuLnRzbnotdmlkZW8ge1xuICAgIEBpbmNsdWRlIHRzbnotY2FyZC1zdHlsZSgkcGFkZGluZy10YXJnZXQ6ICdjb250ZW50JywgJHNoYWRvdy10YXJnZXQ6ICd3cmFwcGVyJyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbXBvbmVudC1yZXNldDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkdHNuei12aWRlby10aXRsZS1zaXplLCAkdHNuei12aWRlby10aXRsZS1saW5lLWhlaWdodCwgMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2FwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkdHNuei12aWRlby1iYXNlLXNpemUsICR0c256LXZpZGVvLWxpbmUtaGVpZ2h0LCA1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRibGFjaywgMC43KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbaHJlZl0ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wbGF5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgIH1cblxuICAgICYtLWZlYXR1cmVkIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1jYXJkLXN0eWxlKCRwYWRkaW5nLXRhcmdldDogJ3dyYXBwZXInLCAkc2hhZG93LXRhcmdldDogJ3dyYXBwZXInKTtcblxuICAgICAgICAudHNuei12aWRlb19fd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0c256LWNhcmQtY29sbGFwc2U7XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei12aWRlb19fY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotdmlkZW9fX2hlYWRpbmcge1xuICAgICAgICAgICAgQGV4dGVuZCAlaDM7XG4gICAgICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUtb2ZmO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRzbnotdmlkZW9fX2NhcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXVsdGlsaW5lLXRydW5jYXRlLW9mZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LXZpZGVvX19pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogVmVuZG9yICovXG4kZ2xpZGUtY2xhc3M6ICd0c256LWF3YXJkcyc7XG5AaW1wb3J0ICdnbGlkZS5jb3JlJztcblxuLnRzbnotYXdhcmRzIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzBweCAwcHg7XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTMycHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gKDIgKiAje21hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKX0pKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIH1cblxuICAgICZfX3NsaWRlcyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICAvL21hcmdpbi1yaWdodDogMTBweDsgLy8gRml4ZWQgcHggdmFsdWUgdG8gbWF0Y2ggc2xpZGVyIHNwYWNpbmdcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTQwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRpc2FibGVke1xuICAgICAgICAudHNuei1hd2FyZHNfX3dyYXBwZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hd2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0NSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgc2NhbGU6IDAuODtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiBjYWxjKDUwJSAtIDIycHgpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwLjU2MjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2xpZGUgdXNlcyBsb3dlciBsZXZlbCBCRU0gbW9kaWZpZXJzXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgbGVmdDogLTEzJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogLTEyJTtcbiAgICAgICAgICAgICAgICBzY2FsZTogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSUyMjklMjIgaGVpZ2h0PSUyMjE2JTIyIHZpZXdCb3g9JTIyMCAwIDkgMTYlMjIgeG1sbnM9JTIyaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQ9JTIyTS4zMiA3LjJMNy4xMi4zNGExLjEgMS4xIDAgMCAxIDEuNTYgMGMuNDMuNDQuNDMgMS4xNSAwIDEuNThMMi42NyA4bDYgNi4wOWMuNDQuNDMuNDQgMS4xNCAwIDEuNThhMS4xIDEuMSAwIDAgMS0xLjU2IDBMLjMyIDguOGExLjEyIDEuMTIgMCAwIDEgMC0xLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHbGlkZSB1c2VzIGxvd2VyIGxldmVsIEJFTSBtb2RpZmllcnNcbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgcmlnaHQ6IC0xMyU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHNjYWxlOiAxO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTIlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHsgICBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNOC42OCA4LjhsLTYuOCA2Ljg3YTEuMSAxLjEgMCAwIDEtMS41NiAwIDEuMTMgMS4xMyAwIDAgMSAwLTEuNThMNi4zMyA4bC02LTYuMDlhMS4xMyAxLjEzIDAgMCAxIDAtMS41OCAxLjEgMS4xIDAgMCAxIDEuNTYgMEw4LjY4IDcuMmExLjEyIDEuMTIgMCAwIDEgMCAxLjU4eiUyMiBmaWxsPSUyMiUyMzAzNEVBMiUyMiBmaWxsLXJ1bGU9JTIybm9uemVybyUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2xpZGVfX2Fycm93LS1kaXNhYmxlZHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cblxuICAgICYtLXNsaWRlciB7XG5cbiAgICAgICAgLnRzbnotYXdhcmRzX19hcnJvdyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICAgICAgICAgIHNjYWxlOiAwLjg7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHNjYWxlOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDEwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgLnRzbnotYXdhcmRzX19hcnJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi50c256LWF3YXJkczpub3QoLnRzbnotYXdhcmRzLS1sdHIpe1xuICAgIC50c256LWF3YXJkc19fc2xpZGVze1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59IiwiLy8gRnJhbmNoaXNlIEF3YXJkcyDigJQgRWxlbWVudEZyYW5jaGlzZUF3YXJkcyAoMi4wKS5cbi8vIEZpZ21hOiAxMjE2OjUwNTUgKGRlc2t0b3ApIC8gMTk1MDo0NDAzIChtb2JpbGUpLlxuLy9cbi8vIEEgd2hpdGUgYmFuZCBob2xkaW5nIGEgcmlnaHQtdG8tbGVmdCBtYXJxdWVlIG9mIGF3YXJkIG1lZGFsbGlvbnMuIFRoZSB0cmFjayBzY3JvbGxzIGluc2lkZVxuLy8gYSBjb250YWluZXItd2lkdGggdmlld3BvcnQg4oCUIGNsaXBwZWQgYXQgdGhlIGNvbnRhaW5lciBlZGdlLCBub3QgdGhlIGJyb3dzZXIgd2luZG93IOKAlCBhbmRcbi8vIGxvb3BzIHNlYW1sZXNzbHkuIFdoZW4gdGhlcmUgYXJlIHRvbyBmZXcgbWVkYWxsaW9ucyB0byBmaWxsIHRoZSB2aWV3cG9ydCB0aGUgSlMgYWRkc1xuLy8gYC0tc3RhdGljYCBhbmQgdGhleSBzaXQgY2VudHJlZCB3aXRoIG5vIGFuaW1hdGlvbjsgYHByZWZlcnMtcmVkdWNlZC1tb3Rpb25gIGRvZXMgdGhlIHNhbWUuXG4vL1xuLy8gVGhlIGxlZ2FjeSBHbGlkZSBzbGlkZXIgKF9hd2FyZHMuc2NzcyAvIHRzLmF3YXJkcy5qcyAvIEF3YXJkcy5zcykgaXMgZGVsaWJlcmF0ZWx5IGxlZnRcbi8vIGFsb25lIOKAlCBpdCBzdGlsbCBkcml2ZXMgdGhlIGxlZ2FjeSBmcmFuY2hpc2UvbG9jYXRpb24gdGVtcGxhdGVzLlxuXG4vLyBNZWRhbGxpb24gc2l6ZSBpcyBjYXJyaWVkIG92ZXIgZnJvbSB0aGUgbGVnYWN5IHNsaWRlcjsgdGhlIDQwcHggZ2FwIGlzIGZyb20gdGhlIDIuMCBjb21wLlxuLy8gRGVsaWJlcmF0ZWx5IGluIHB4LCBOT1QgcmVtOiB0aGUgdGhlbWUgc2NhbGVzIHRoZSByb290IGZvbnQtc2l6ZSAoODcuNSUg4oaSIDEwMCUgYXQgeHhsYXJnZSxcbi8vIHNlZSBfdHlwb2dyYXBoeS5zY3NzKSwgc28gcmVtIHNpemluZyB3b3VsZCBqdW1wIHRoZSBtZWRhbGxpb25zIH4xNCUgbGFyZ2VyIGF0IHh4bGFyZ2UgYW5kXG4vLyBtYWtlIHRoZSBtYXJxdWVlIHJlYWQgYXMgYSBkaWZmZXJlbnQgc3BlZWQgZWl0aGVyIHNpZGUgb2YgdGhhdCBicmVha3BvaW50LiBGaXhlZCBweCBrZWVwc1xuLy8gdGhlIG1lZGFsbGlvbnMg4oCUIGFuZCBzbyB0aGUgc2Nyb2xsIOKAlCBpZGVudGljYWwgYXQgZXZlcnkgc2NyZWVuIHNpemUuXG4kdHNuei1hd2FyZHMtbWFycXVlZS1pdGVtLXdpZHRoOiAxNDBweDtcbiR0c256LWF3YXJkcy1tYXJxdWVlLWl0ZW0tbWF4OiAxMzJweDtcbiR0c256LWF3YXJkcy1tYXJxdWVlLWdhcDogNDBweDtcblxuLnRzbnotYXdhcmRzLW1hcnF1ZWUge1xuICAgIC8vIE5vcm1hbCBjb250YWluZXIgd2lkdGggKyBjZW50cmluZywgYnV0IG5vIHNpZGUgZ3V0dGVycyDigJQgdGhlIG1lZGFsbGlvbnMgY2xpcCBmbHVzaCBhdCB0aGVcbiAgICAvLyBjb250YWluZXIgZWRnZSwgbm90IGluc2lkZSBhbiBpbnNldC4gYHh5LWdyaWQtY29udGFpbmVyYCBpcyBhdm9pZGVkIG9uIHB1cnBvc2U6IGl0IGVtaXRzXG4gICAgLy8gcmVzcG9uc2l2ZSBwYWRkaW5nICg2cmVtIGZyb20gYGxhcmdlYCkgaW4gaXRzIG93biBtZWRpYSBibG9jayB0aGF0IGEgZmxhdCBvdmVycmlkZSBjYW4ndFxuICAgIC8vIHVuZG8sIHNvIHRoZSB3aWR0aC9jZW50cmluZyBhcmUgc2V0IGJ5IGhhbmQgaW5zdGVhZC5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAmX192aWV3cG9ydCB7XG4gICAgICAgIC8vIENsaXBzIHRoZSB0cmFjayBhdCB0aGUgY29udGFpbmVyIGVkZ2U7IHRoZSBtZWRhbGxpb25zIHNjcm9sbCB0aHJvdWdoIHRoaXMgd2luZG93LlxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX3RyYWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vIFNocmluay13cmFwIHRvIHRoZSBtZWRhbGxpb25zLiBXaXRob3V0IHRoaXMgdGhlIGJsb2NrLWxldmVsIDx1bD4ga2VlcHMgYHdpZHRoOiBhdXRvYFxuICAgICAgICAvLyBhbmQgc3RyZXRjaGVzIHRvIHRoZSB2aWV3cG9ydCwgc28gYHRyYW5zbGF0ZVgoLTUwJSlgIHdvdWxkIGJlIGhhbGYgdGhlICp2aWV3cG9ydCpcbiAgICAgICAgLy8gKHZhcnlpbmcgcGVyIGJyZWFrcG9pbnQg4oaSIGFwcGFyZW50IHNwZWVkIGRyaWZ0cykgaW5zdGVhZCBvZiBoYWxmIHRoZSAqY29udGVudCouIFdpdGhcbiAgICAgICAgLy8gbWF4LWNvbnRlbnQsIC01MCUgaXMgZXhhY3RseSBvbmUgbWVkYWxsaW9uIHNldCBhdCBldmVyeSBzaXplOiBjb25zdGFudCBweC9zICsgYVxuICAgICAgICAvLyBzZWFtbGVzcyBsb29wLlxuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICAvLyBSaWdodC10by1sZWZ0LCBmb3JldmVyLiBEdXJhdGlvbiBpcyB3cml0dGVuIGlubGluZSBieSB0aGUgSlMgc28gdGhlIHNwZWVkIHN0YXlzXG4gICAgICAgIC8vIGNvbnN0YW50IChweC9zZWMpIHJlZ2FyZGxlc3Mgb2YgaG93IG1hbnkgbWVkYWxsaW9ucyB0aGVyZSBhcmUuXG4gICAgICAgIGFuaW1hdGlvbjogdHNuei1hd2FyZHMtbWFycXVlZS1zY3JvbGwgbGluZWFyIGluZmluaXRlO1xuXG4gICAgICAgIC8vIFBhdXNlIG9uIGhvdmVyIHNvIGEgbWVkYWxsaW9uIGNhbiBiZSBsb29rZWQgYXQuXG4gICAgICAgIC50c256LWF3YXJkcy1tYXJxdWVlOmhvdmVyICYge1xuICAgICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6ICR0c256LWF3YXJkcy1tYXJxdWVlLWl0ZW0td2lkdGg7XG4gICAgICAgIC8vIFRoZSBnYXAgbGl2ZXMgb24gdGhlIGl0ZW0gKG5vdCBmbGV4IGBnYXBgKSBzbyBhIHdob2xlIGl0ZW0rZ2FwIHRpbGVzIGV2ZW5seSBhbmQgdGhlXG4gICAgICAgIC8vIC01MCUgbG9vcCBpcyBzZWFtbGVzcyDigJQgdGhlIGxhc3QgaXRlbSdzIHRyYWlsaW5nIGdhcCBiZWNvbWVzIHRoZSB3cmFwIGdhcC4gVGhlIEpTXG4gICAgICAgIC8vIGNsb25lcyBleGFjdGx5IG9uZSBzZXQsIHNvIHRyYW5zbGF0ZVgoLTUwJSkgbGFuZHMgZWFjaCBoYWxmIG9uIHRoZSBvdGhlci4gU2VlIHRoZXJlLlxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR0c256LWF3YXJkcy1tYXJxdWVlLWdhcDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHRzbnotYXdhcmRzLW1hcnF1ZWUtaXRlbS1tYXg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvbyBmZXcgbWVkYWxsaW9ucyB0byBmaWxsIHRoZSB2aWV3cG9ydDogbm8gc2Nyb2xsLCBjZW50cmVkLCBubyB0cmFpbGluZyBnYXAuXG4gICAgJi0tc3RhdGljIHtcbiAgICAgICAgLnRzbnotYXdhcmRzLW1hcnF1ZWVfX3RyYWNrIHtcbiAgICAgICAgICAgIC8vIEJhY2sgdG8gZnVsbCB3aWR0aCBzbyBqdXN0aWZ5LWNvbnRlbnQgY2FuIGNlbnRyZSB0aGUgcm93ICh0aGUgbWFycXVlZSB0cmFjayBpc1xuICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIG1heC1jb250ZW50IOKAlCBzZWUgYWJvdmUpLlxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LWF3YXJkcy1tYXJxdWVlX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLnRzbnotYXdhcmRzLW1hcnF1ZWVfX3RyYWNrIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyB0c256LWF3YXJkcy1tYXJxdWVlLXNjcm9sbCB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICAgIC8vIE9uZSBoYWxmIG9mIHRoZSAoZG91YmxlZCkgdHJhY2sg4oCUIGV4YWN0bHkgb25lIG1lZGFsbGlvbiBzZXQuIFNlZSB0aGUgSlMgY2xvbmUgbm90ZS5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbn1cbiIsIi50c256LWN1c3RvbWlzZSB7XG4gICAgQGluY2x1ZGUgdHNuei1jYXJkLXN0eWxlKCRwYWRkaW5nLXRhcmdldDogJ3dyYXBwZXInKTtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSB0c256LWNhcmQtY29sbGFwc2U7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtbGlzdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgJl9fY2Fyb3VzZWwge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAje21hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIHNtYWxsKSAqIDJ9KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LWNhcmQtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCkgKiA0fSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIlaGlkZS1mb3ItcHJpbnQge1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbiVyZXNldC1mb3ItcHJpbnQge1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuJWNsZWFyLWJhY2tncm91bmQtZm9yLXByaW50IHtcbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLyogVmVuZG9yICovXG4kZ2xpZGUtY2xhc3M6ICd0c256LXRpY2tlcic7XG5AaW1wb3J0ICdnbGlkZS5jb3JlJztcblxuLnRzbnotdGlja2VyIHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgIH1cblxuICAgICZfX3NsaWRlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICN7Jn0gKyAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHNuei10aWNrZXItLWNhcm91c2VsICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG8oKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxLjNlbTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICByaWdodDogMC42cmVtO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMC40MjVyZW0gMC43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXByaW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtcmVzZXQoJGNvbG9yOiAkd2hpdGUsICRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciwgJGZvbnQtc2l6ZTogMS4xMjVlbSk7XG4gICAgfVxuXG4gICAgJi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgY29tcG9uZW50LXJlc2V0KCRjb2xvcjogJHByaW1hcnktY29sb3IsICRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yLCAkZm9udC1zaXplOiAxLjEyNWVtKTtcbiAgICB9XG5cbiAgICAmLS10ZXJ0aWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbXBvbmVudC1yZXNldCgkY29sb3I6ICR3aGl0ZSwgJGJhY2tncm91bmQtY29sb3I6IG1peCgkdGVydGlhcnktY29sb3IsICRibGFjaywgODcuNSUpLCAkZm9udC1zaXplOiAxLjEyNWVtKTtcbiAgICB9XG5cbiAgICAmLS1jbG9zZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIiR0c256LXNsaWRlLW1heC13aWR0aDogMTYwMDtcbiR0c256LXNsaWRlLW1heC1oZWlnaHQ6IDU2MDtcbiR0c256LXNsaWRlLXdpZGUtbW9iLWJwOiA0MjFweDtcbiR0c256LXNsaWRlLW1vYi1yYXRpbzogMzgwLzQyMDtcbiR0c256LXNsaWRlLXdpZGUtbW9iLXJhdGlvOiAxNTUvMzIwO1xuXG4udHNuei1zbGlkZSB7XG4gICAgQGV4dGVuZCAlaGlkZS1mb3ItcHJpbnQ7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXJlc2V0KCR3aGl0ZSwgJHJlc2V0LWxpbmtzOiBmYWxzZSk7XG4gICAgQGluY2x1ZGUgdHNuei1jdGEtc3R5bGUoXG4gICAgICAgICR3cmFwcGVyLWNsYXNzOiBcImN0YS13cmFwcGVyXCIsXG4gICAgICAgICR0b3AtY2xhc3M6IFwiY3RhLXRvcFwiLFxuICAgICAgICAkY29udGVudC1jbGFzczogXCJjdGEtY29udGVudFwiLFxuICAgICAgICAkaGVhZGluZy1jbGFzczogXCJjdGEtaGVhZGluZ1wiLFxuICAgICAgICAkZGVzY3JpcHRpb24tY2xhc3M6IFwiY3RhLWRlc2NyaXB0aW9uXCJcbiAgICApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICZfX3BpY3R1cmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogI3skdHNuei1zbGlkZS1tb2ItcmF0aW99KTtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoJHRzbnotc2xpZGUtbWF4LWhlaWdodCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LXNsaWRlLXdpZGUtbW9iLWJwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAjeyR0c256LXNsaWRlLXdpZGUtbW9iLXJhdGlvfSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwdncgKiAjeyR0c256LXNsaWRlLW1heC1oZWlnaHQvJHRzbnotc2xpZGUtbWF4LXdpZHRofVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sYXp5bG9hZGVkID4gJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCgxMDB2dyAqICN7JHRzbnotc2xpZGUtbW9iLXJhdGlvfSkgLSAyLjVyZW0pO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdHNuei1zbGlkZS13aWRlLW1vYi1icCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygoMTAwdncgKiAjeyR0c256LXNsaWRlLXdpZGUtbW9iLXJhdGlvfSkgLSAyLjVyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYyhcbiAgICAgICAgICAgICAgICAoMTAwdncgKiAjeyR0c256LXNsaWRlLW1heC1oZWlnaHQvJHRzbnotc2xpZGUtbWF4LXdpZHRofSkgLVxuICAgICAgICAgICAgICAgICAgICAyLjVyZW1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDIpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRzbnotc2xpZGUtbWF4LXdpZHRoKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCN7cmVtLWNhbGMoJHRzbnotc2xpZGUtbWF4LWhlaWdodCl9IC0gMi41cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YS13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIC8gMik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY29ycnVnYXRlLnN2Z1wiKSxcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRwcmltYXJ5LWNvbG9yLCAkZGFyay1ibHVlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhcjtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAoJHNwYWNpbmc6IHJlbS1jYWxjKDUpKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAoJHNwYWNpbmc6IHJlbS1jYWxjKDUpKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAoXG4gICAgICAgICAgICAgICAgJHNwYWNpbmc6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIGxhcmdlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZCgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg2MTUpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zYW0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIHdpZHRoOiAyLjFlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjZlbTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBmb250LXNpemU6IHJlbS1iZXR3ZWVuKFxuICAgICAgICAgICAgcmVtLWNhbGMoNDAsIDE0KSxcbiAgICAgICAgICAgIDYuMjVyZW0sXG4gICAgICAgICAgICByZW0tY2FsYygzMjApLFxuICAgICAgICAgICAgbWFwLWdldCgkYnJlYWtwb2ludHMsIHhsYXJnZSlcbiAgICAgICAgKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNi4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBzbWFsbCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWJldHdlZW4oXG4gICAgICAgICAgICByZW0tY2FsYyg4NiwgMTQpLFxuICAgICAgICAgICAgcmVtLWNhbGMoMTE2KSxcbiAgICAgICAgICAgIHJlbS1jYWxjKDMyMCksXG4gICAgICAgICAgICBtYXAtZ2V0KCRicmVha3BvaW50cywgeGxhcmdlKVxuICAgICAgICApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uby1jb250ZW50IHtcbiAgICAgICAgLnRzbnotc2xpZGVfX2JhY2tncm91bmQge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogI3skdHNuei1zbGlkZS1tb2ItcmF0aW99KTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKCR0c256LXNsaWRlLW1heC1oZWlnaHQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0c256LXNsaWRlLXdpZGUtbW9iLWJwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3ICogI3skdHNuei1zbGlkZS13aWRlLW1vYi1yYXRpb30pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAxMDB2dyAqICN7JHRzbnotc2xpZGUtbWF4LWhlaWdodC8kdHNuei1zbGlkZS1tYXgtd2lkdGh9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRzbnotZnJhbmNoaXNlU2xpZGUge1xuICAgIC50c256LXNsaWRlX19jdGEtY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNTNyZW07XG4gICAgfVxuICAgIC50c256LXNsaWRlX19idXR0b25zIC50c256LWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgIH1cbiAgICAudHNuei1zbGlkZV9fYnV0dG9ucyAudHNuei1idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRzbnotZnJhbmNoaXNlU2xpZGVfX2N0YS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1zbGlkZV9fY3RhLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudHNuei1zbGlkZV9fbG9jYXRpb25fX2NvbnRhY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50c256LXNsaWRlX19sb2NhdGlvbl9fbWV0YSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAudHNuei1zbGlkZV9fYnV0dG9ucyB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0gMi4wIG1hc3RoZWFkIHNsaWRlIChzdGFuZGFyZCwgbm9uLWZyYW5jaGlzZSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFRoZSByZWZyZXNoZWQgc2xpZGU6IGZ1bGwtd2lkdGggaW1hZ2UsIGFuIG9wdGlvbmFsIGhlYWRpbmcgb3ZlciBpdCwgYW5kIGEgYmx1ZSBjb250ZW50XG4gICBiYW5kIGJlbG93IChuZXZlciBvdmVybGFwcGluZykgd2l0aCBTYW0gb3ZlcmZsb3dpbmcgdGhlIGJhbmQgdG9wLiBUaHJlZSBjb250ZW50IGxheW91dHNcbiAgIOKAlCBzdGFja2VkIC8gc3BsaXQgLyBpbmxpbmUg4oCUIGRyaXZlbiBieSB0aGUgcGVyLXNsaWRlIENvbnRlbnRMYXlvdXQgZmllbGQuXG5cbiAgIFNjb3BlZCB0byAudHNuei1zbGlkZS0tcmVmcmVzaCBzbyBpdCBvdmVycmlkZXMgdGhlIGxlZ2FjeSAudHNuei1zbGlkZSBydWxlcyBhYm92ZVxuICAgd2l0aG91dCB0b3VjaGluZyB0aGUgZnJhbmNoaXNlIHNsaWRlLCB3aGljaCBzdGlsbCBkZXBlbmRzIG9uIHRoZW0uIFRoZSB3aG9sZSBsZWdhY3lcbiAgIGJsb2NrIGFib3ZlIGNhbiBiZSBkZWxldGVkIG9uY2UgdGhlIGZyYW5jaGlzZSBzbGlkZXIgcGF0aCBpcyByZXRpcmVkLiAqL1xuXG4vLyBJbmxpbmUgbGF5b3V0IOKAlCB0aGUgaGVhZGluZyBnZXRzIGEgZGVmaW5lZCBjb2x1bW4gKG1pbuKGkm1heCksIHRoZSBib2R5IGlzIGNhcHBlZCwgYW5kIHRoZVxuLy8gc3BhY2UgYmV0d2VlbiB0aGVtIGZpbGxzOyBtYXRjaGVzIEZpZ21hIGAyOjEzMGAgKGhlYWRpbmcgMzAwLCBib2R5IDQ0NCwgYnV0dG9uIHBpbm5lZCByaWdodCkuXG4kdHNuei1zbGlkZS1pbmxpbmUtaGVhZGluZy1taW46IHJlbS1jYWxjKDIwMCk7XG4kdHNuei1zbGlkZS1pbmxpbmUtaGVhZGluZy1tYXg6IHJlbS1jYWxjKDMwMCk7XG4kdHNuei1zbGlkZS1pbmxpbmUtYm9keS1tYXg6IHJlbS1jYWxjKDQ0NCk7XG5cbi8vIEJvcnJvdyBhIHNpemUvd2VpZ2h0L2xpbmUtaGVpZ2h0L3RyYWNraW5nIGZyb20gdGhlIHR5cGUgc2NhbGUgcmF0aGVyIHRoYW4gcmVzdGF0aW5nIHB4LlxuQG1peGluIHRzbnotc2xpZGUtaGVhZGluZygkdG9rZW4pIHtcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJHRva2VuLCAnZm9udC1zaXplJyk7XG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRva2VuLCAnZm9udC13ZWlnaHQnKTtcbiAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkdG9rZW4sICdsaW5lLWhlaWdodCcpO1xuICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCR0b2tlbiwgJ2xldHRlci1zcGFjaW5nJyk7XG59XG5cbi50c256LXNsaWRlLS1yZWZyZXNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgLy8gSW1hZ2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAudHNuei1zbGlkZV9fbWVkaWEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnRzbnotc2xpZGVfX3BpY3R1cmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgei1pbmRleDogYXV0bzsgLy8gbGVnYWN5IC50c256LXNsaWRlX19waWN0dXJlIGlzIHotaW5kZXg6IDE7IGRvbid0IHN0YWNrIGFib3ZlIHRoZSBiYW5kXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotbWFzdGhlYWQtYXNwZWN0O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC8vIFRyYW5zcGFyZW50IGJsYWNrIG92ZXJsYXkgb24gdGhlIHBob3RvIChDTVMgSW1hZ2VPdmVybGF5OiAwIC8gMC4yIC8gMC41KS5cbiAgICAvLyAwIGhhcyBubyBtb2RpZmllci4gT3ZlcmxheSBoZWFkaW5nIHNpdHMgYWJvdmUgdGhpcyB2aWEgLnRzbnotc2xpZGVfX292ZXJsYXkuXG4gICAgJi50c256LXNsaWRlLS1vdmVybGF5LTIwIHtcbiAgICAgICAgLS10c256LXNsaWRlLWltYWdlLW92ZXJsYXk6IDAuNDtcbiAgICB9XG5cbiAgICAmLnRzbnotc2xpZGUtLW92ZXJsYXktNTAge1xuICAgICAgICAtLXRzbnotc2xpZGUtaW1hZ2Utb3ZlcmxheTogMC42O1xuICAgIH1cblxuICAgICYudHNuei1zbGlkZS0tb3ZlcmxheS0yMCxcbiAgICAmLnRzbnotc2xpZGUtLW92ZXJsYXktNTAge1xuICAgICAgICAudHNuei1zbGlkZV9fcGljdHVyZTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG9wYWNpdHk6IHZhcigtLXRzbnotc2xpZGUtaW1hZ2Utb3ZlcmxheSk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9wdGlvbmFsIGhlYWRpbmcgb3ZlciB0aGUgaW1hZ2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLnRzbnotc2xpZGVfX292ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1tYXN0aGVhZC1ndXR0ZXIocGFkZGluZy1sZWZ0LCBwYWRkaW5nLXJpZ2h0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAudHNuei1zbGlkZV9fb3ZlcmxheS1oZWFkaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDg4Mik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG4gICAgLy8gQmx1ZSBjb250ZW50IGJhbmQgYmVsb3cgdGhlIGltYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAudHNuei1zbGlkZV9fY3RhLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkdHNuei1tYXN0aGVhZC1iYW5kLXJ1bGUgc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAvLyBLaWxsIHRoZSBsZWdhY3kgb3ZlcmxhcHBpbmctQ1RBIGZhZGUgKG9wYWNpdHkgMCB1bnRpbCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgdGhlblxuICAgICAgICAvLyBhIDAuNHMgZGVsYXkpLiBUaGUgMi4wIGJhbmQgaXMgcGFydCBvZiB0aGUgc2xpZGU7IFN3aXBlcidzIGZhZGUgYWxyZWFkeSBjb3ZlcnMgaXQuXG4gICAgICAgIC8vIExlYXZpbmcgdGhhdCBvcGFjaXR5IGluIHBsYWNlIGFsc28gY3JlYXRlZCBhIHN0YWNraW5nIGNvbnRleHQgdGhhdCB0cmFwcGVkIFNhbVxuICAgICAgICAvLyB1bmRlciAudHNuei1zbGlkZV9fcGljdHVyZSAoei1pbmRleDogMSkgd2hlbmV2ZXIgdGhlIHdyYXBwZXIgd2Fzbid0IGZ1bGx5IG9wYXF1ZS5cbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAgICAgICAvLyBCZWF0IHRoZSBsZWdhY3kgMCwyLDAgc2VsZWN0b3JzIChpbml0aWFsaXplZCDihpIgb3BhY2l0eSAwLCBhY3RpdmUg4oaSIGRlbGF5IDAuNHMpLlxuICAgICAgICAuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAmLFxuICAgICAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBIGNvbnNpc3RlbnQgbWluaW11bSBiYW5kIGhlaWdodCBvbiBkZXNrdG9wOyB0aGUgY29udGFpbmVyIGZpbGxzIGl0IChiZWxvdykgc29cbiAgICAgICAgLy8gc2hvcnQgY29udGVudCBzdGlsbCByZWFkcyBhcyBhIGZ1bGwgYmFuZCBhbmQgU2FtIGtlZXBzIHNpdHRpbmcgYXQgaXRzIGJvdHRvbS5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMjAzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcHMgdGhlIGJhbmQgY29udGVudCB0byB0aGUgc2FtZSB3aWR0aCBhcyBldmVyeSBvdGhlciBibG9jayDigJQgdGhlIGJhbmQgYmFja2dyb3VuZFxuICAgIC8vIHN0YXlzIGZ1bGwtYmxlZWQsIHRoZSBjb250ZW50IGxpbmVzIHVwIHdpdGggdGhlIHBhZ2UgY29udGFpbmVyLiBNaXJyb3JzXG4gICAgLy8geHktZ3JpZC1jb250YWluZXIncyBtYXgtd2lkdGg7IHRoZSBwYWdlIGd1dHRlciBpcyBhcHBsaWVkIG9uIHRoZSBpbm5lciBiZWxvdy5cbiAgICAvLyAoU2FtIGlzIGEgc2libGluZyBvZiAuc3dpcGVyLXdyYXBwZXIsIG5vdCBhIGNoaWxkIG9mIHRoaXMgY29udGFpbmVyIOKAlCBzZWUgX21hc3RoZWFkLnNjc3MuKVxuICAgIC50c256LXNsaWRlX19jdGEtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6ICRncmlkLWNvbnRhaW5lci1tYXg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxleDogMTsgICAgICAgICAgICAgICAgIC8vIGZpbGwgdGhlIGJhbmQncyBtaW4taGVpZ2h0XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBjZW50cmUgdGhlIGNvbnRlbnQgd2l0aGluIHRoZSBiYW5kXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHNuei1zbGlkZV9fY3RhLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyBCYXNlIGlzIGEgc2ltcGxlIHZlcnRpY2FsIHN0YWNrIChtb2JpbGUsIGFuZCB0aGUgc3RhY2tlZCBsYXlvdXQgYXQgZXZlcnkgd2lkdGgpLlxuICAgICAgICAvLyBGbGV4LCBub3QgZ3JpZCwgc28gdGhlIGdhcCBvbmx5IGV2ZXIgZmFsbHMgKmJldHdlZW4qIHByZXNlbnQgaXRlbXMg4oCUIGFuIGFic2VudFxuICAgICAgICAvLyBidXR0b24gbGVhdmVzIG5vIHRyYWlsaW5nIHJvdyBnYXAuIFNwbGl0L2lubGluZSBzd2l0Y2ggdG8gZ3JpZCBhdCBsYXJnZS5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdHNuei1tYXN0aGVhZC1iYW5kLXBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdHNuei1tYXN0aGVhZC1iYW5kLXBhZGRpbmc7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotbWFzdGhlYWQtZ3V0dGVyKHBhZGRpbmctbGVmdCwgcGFkZGluZy1yaWdodCk7XG5cbiAgICAgICAgLy8gUmVzZXJ2ZSB0aGUgbGVmdCBndXR0ZXIgZm9yIFNhbSBvbiBkZXNrdG9wLCBhZGRlZCBvbiB0b3Agb2YgdGhlIHBhZ2UgZ3V0dGVyLlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3ttYXAtZ2V0KCRncmlkLWNvbnRhaW5lci1wYWRkaW5nLCBsYXJnZSkgLyAyfSArXG4gICAgICAgICAgICAgICAgI3skdHNuei1tYXN0aGVhZC1zYW0td2lkdGh9ICtcbiAgICAgICAgICAgICAgICAjeyR0c256LW1hc3RoZWFkLXNhbS1nYXB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRzbnotc2xpZGVfX2N0YS1oZWFkaW5nIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1zbGlkZS1oZWFkaW5nKG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXN0eWxlcywgJ3NtYWxsJyksICdoMicpKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0c256LXNsaWRlLWhlYWRpbmcobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc3R5bGVzLCAnbWVkaXVtJyksICdoMicpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50c256LXNsaWRlX19oaWdobGlnaHQge1xuICAgICAgICBjb2xvcjogJHRzbnotYnJhbmQteWVsbG93O1xuICAgIH1cblxuICAgIC50c256LXNsaWRlX19jdGEtYm9keSB7XG4gICAgICAgIGdyaWQtYXJlYTogYm9keTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAudHNuei1zbGlkZV9fY3RhLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTsgLy8gUGFyYWdyYXBoXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkdHNuei10cmFja2luZy1zbnVnO1xuICAgIH1cblxuICAgIC50c256LXNsaWRlX19idXR0b25zIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjdGE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyAvLyBsZWZ0IGJ5IGRlZmF1bHQgKG92ZXJyaWRlcyB0aGUgbGVnYWN5IGNlbnRyZWQgcnVsZSk7IGlubGluZSBwaW5zIHJpZ2h0XG4gICAgICAgIGdhcDogc3BhY2UoMTYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICAvLyBBIGxlZ2FjeSBjbGVhcmZpeCBsZWF2ZXMgOjpiZWZvcmUvOjphZnRlciBvbiB0aGlzIGVsZW1lbnQ7IGFzIGZsZXggaXRlbXMgdGhleSdkXG4gICAgICAgIC8vIHRha2UgYSBgZ2FwYCBzbG90IGVhY2ggYW5kIHRocm93IG9mZiBhbGlnbm1lbnQuIE5vIGNsZWFyZml4IG5lZWRlZCBpbiBhIGZsZXggcm93LlxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAyNS15ZWFyIGJhZGdlIChob21lIG9ubHkpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC50c256LXNsaWRlX19iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxMTYpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDExNik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpO1xuICAgIH1cbn1cblxuLy8gRGVza3RvcCBjb250ZW50LWJhbmQgbGF5b3V0cy4gU21hbGwgc3RheXMgc3RhY2tlZCBmb3IgZXZlcnkgbW9kZTsgdGhlIGRpZmZlcmVuY2VzIGtpY2tcbi8vIGluIGF0IGxhcmdlLiBPcmRlcmVkIGFmdGVyIHRoZSBiYXNlIHNvIGVxdWFsLXNwZWNpZmljaXR5IHJ1bGVzIHdpbiBieSBzb3VyY2Ugb3JkZXIuXG4udHNuei1zbGlkZS0tc3BsaXQgLnRzbnotc2xpZGVfX2N0YS1pbm5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAnaGVhZGluZyBjdGEnXG4gICAgICAgICAgICAnYm9keSAgICBjdGEnO1xuICAgICAgICBjb2x1bW4tZ2FwOiBzcGFjZSg0OCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4udHNuei1zbGlkZS0tc3BsaXQgLnRzbnotc2xpZGVfX2N0YS1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotc2xpZGUtaGVhZGluZyhtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zdHlsZXMsICdtZWRpdW0nKSwgJ2gxJykpO1xuICAgIH1cbn1cblxuLnRzbnotc2xpZGUtLWlubGluZSAudHNuei1zbGlkZV9fY3RhLWlubmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpcbiAgICAgICAgICAgIG1pbm1heCgkdHNuei1zbGlkZS1pbmxpbmUtaGVhZGluZy1taW4sICR0c256LXNsaWRlLWlubGluZS1oZWFkaW5nLW1heClcbiAgICAgICAgICAgIG1pbm1heCgwLCAxZnIpXG4gICAgICAgICAgICBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnaGVhZGluZyBib2R5IGN0YSc7XG4gICAgICAgIGNvbHVtbi1nYXA6IHNwYWNlKDQ4KTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbi50c256LXNsaWRlLS1pbmxpbmUgLnRzbnotc2xpZGVfX2N0YS1ib2R5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogJHRzbnotc2xpZGUtaW5saW5lLWJvZHktbWF4O1xuICAgIH1cbn1cblxuLy8gU3RhY2tlZCAmIHNwbGl0OiBhIHRvdWNoIG1vcmUgY2xlYXJhbmNlIGJldHdlZW4gU2FtIGFuZCB0aGUgY29udGVudCwgYW5kIHRoZSBjYXB0aW9uXG4vLyBjYXBwZWQgc28gaXQgZG9lc24ndCBydW4gdGhlIGZ1bGwgY29sdW1uIHdpZHRoIChtYXRjaGVzIHRoZSBjb21wcykuXG4udHNuei1zbGlkZS0tc3RhY2tlZCAudHNuei1zbGlkZV9fY3RhLWlubmVyLFxuLnRzbnotc2xpZGUtLXNwbGl0IC50c256LXNsaWRlX19jdGEtaW5uZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKFxuICAgICAgICAgICAgI3ttYXAtZ2V0KCRncmlkLWNvbnRhaW5lci1wYWRkaW5nLCBsYXJnZSkgLyAyfSArXG4gICAgICAgICAgICAjeyR0c256LW1hc3RoZWFkLXNhbS13aWR0aH0gK1xuICAgICAgICAgICAgI3tzcGFjZSg0OCl9XG4gICAgICAgICk7XG4gICAgfVxufVxuXG4udHNuei1zbGlkZS0tc3RhY2tlZCAudHNuei1zbGlkZV9fY3RhLWJvZHksXG4udHNuei1zbGlkZS0tc3BsaXQgLnRzbnotc2xpZGVfX2N0YS1ib2R5IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cbn1cblxuLnRzbnotc2xpZGUtLWlubGluZSAudHNuei1zbGlkZV9fY3RhLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7IC8vIGhlYWRpbmcgdG9wcyBvdXQ7IGJvZHkgJiBidXR0b24gc3RheSBjZW50cmVkIGluIHRoZSByb3dcbiAgICAgICAgQGluY2x1ZGUgdHNuei1zbGlkZS1oZWFkaW5nKG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXN0eWxlcywgJ21lZGl1bScpLCAnaDQnKSk7XG4gICAgfVxufVxuXG4udHNuei1zbGlkZS0taW5saW5lIC50c256LXNsaWRlX19idXR0b25zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IC8vIHBpbiB0aGUgYnV0dG9uIHRvIHRoZSByaWdodCBlZGdlIG9mIHRoZSBiYW5kIGNvbnRlbnRcbiAgICB9XG59XG4iLCIudHNuei1zcGVjaWFsIHtcbiAgICBAaW5jbHVkZSB0c256LWNhcmQtc3R5bGUoJHNoYWRvdy10YXJnZXQ6ICd3cmFwcGVyJyk7XG5cbiAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRzbnotY2FyZC1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtdWx0aWxpbmUtdHJ1bmNhdGUoJHRzbnotY2FyZC10aXRsZS1zaXplLCAkdHNuei1jYXJkLXRpdGxlLWxpbmUtaGVpZ2h0LCAxKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29tcG9uZW50LXJlc2V0KCRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG87XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUtb3V0KCRibGFjaywgMC45NSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmW2hyZWZdIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG11bHRpbGluZS10cnVuY2F0ZSgkdHNuei1jYXJkLWJhc2Utc2l6ZSwgJHRzbnotY2FyZC1saW5lLWhlaWdodCwgMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIHRzbnotYnV0dG9uLXN0eWxlKHNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAyZW0pO1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMmVtKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDRlbTtcbiAgICAgICAgICAgIGhlaWdodDogNGVtO1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmX19zYXZpbmdzIHtcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1pZC1yZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAmX19wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGVybXMge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuIiwiJHRzbnotYmFubmVyLXJhdGlvOiAzMDAvMTE3MDtcbiR0c256LWJhbm5lci1tb2ItcmF0aW86IDMwMC80MjA7XG5cbi50c256LWJhbm5lciB7XG4gICAgQGluY2x1ZGUgdHNuei1ncmlkKCdiYW5uZXInKTtcblxuICAgICZfX2Jhbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvKiBWZW5kb3IgKi9cbiRnbGlkZS1jbGFzczogJ3RzbnotdGVzdGltb25pYWxzJztcbkBpbXBvcnQgJ2dsaWRlLmNvcmUnO1xuXG4udHNuei10ZXN0aW1vbmlhbHMge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzMHB4IDBweDtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzJweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAoMiAqICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgc21hbGwpfSkpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIC8vd2lkdGg6IHJlbS1jYWxjKDE0MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXN0aW9taW5hbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0NSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IGNhbGMoNTAlIC0gMjJweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHbGlkZSB1c2VzIGxvd2VyIGxldmVsIEJFTSBtb2RpZmllcnNcbiAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiAtMTMlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTIlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JTIyOSUyMiBoZWlnaHQ9JTIyMTYlMjIgdmlld0JveD0lMjIwIDAgOSAxNiUyMiB4bWxucz0lMjJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyUyMiUzRSUzQ3BhdGggZD0lMjJNLjMyIDcuMkw3LjEyLjM0YTEuMSAxLjEgMCAwIDEgMS41NiAwYy40My40NC40MyAxLjE1IDAgMS41OEwyLjY3IDhsNiA2LjA5Yy40NC40My40NCAxLjE0IDAgMS41OGExLjEgMS4xIDAgMCAxLTEuNTYgMEwuMzIgOC44YTEuMTIgMS4xMiAwIDAgMSAwLTEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdsaWRlIHVzZXMgbG93ZXIgbGV2ZWwgQkVNIG1vZGlmaWVyc1xuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICByaWdodDogLTEzJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMiU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIgeyAgIFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0lMjI5JTIyIGhlaWdodD0lMjIxNiUyMiB2aWV3Qm94PSUyMjAgMCA5IDE2JTIyIHhtbG5zPSUyMmh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJTIyJTNFJTNDcGF0aCBkPSUyMk04LjY4IDguOGwtNi44IDYuODdhMS4xIDEuMSAwIDAgMS0xLjU2IDAgMS4xMyAxLjEzIDAgMCAxIDAtMS41OEw2LjMzIDhsLTYtNi4wOWExLjEzIDEuMTMgMCAwIDEgMC0xLjU4IDEuMSAxLjEgMCAwIDEgMS41NiAwTDguNjggNy4yYTEuMTIgMS4xMiAwIDAgMSAwIDEuNTh6JTIyIGZpbGw9JTIyJTIzMDM0RUEyJTIyIGZpbGwtcnVsZT0lMjJub256ZXJvJTIyLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWx0ciB7XG4gICAgICAgIC50c256LXRlc3RpbW9uaWFsc19fYXJyb3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgc2NhbGU6IDAuODtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgc2NhbGU6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMTAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMC41NjI1cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi44MTI1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAudHNuei10ZXN0aW1vbmlhbHNfX2Fycm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRzbnotdGVzdGltb25pYWxzLnRzbnotdGVzdGltb25pYWxzLS1sdHJ7XG4gICAgLnRzbnotdGVzdGltb25pYWxzX19zbGlkZXtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XG5cbiAgICAgICAgJi0tYWN0aXZle1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRzbnotdGVzdGltb25pYWxzX19zbGlkZS5nbGlkZV9fc2xpZGUtLWFjdGl2ZXtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbiIsIi8vIDIuMDogdGhlIGxpZ2h0LWdyZXkgYmFuZCBhbmQgdG9wL2JvdHRvbSBzcGFjaW5nIGFyZSBibG9jayBjaHJvbWUgbm93IOKAlCB0aGUgb3V0ZXJcbi8vIHNlY3Rpb24gY2FycmllcyBgdHNuei1ibG9jay0tbGlnaHRlc3QtZ3JheWAgcGx1cyB0aGUgQ01TIHBhZGRpbmcgbW9kaWZpZXJzIChzZWVcbi8vIGVsZW1lbnRzLnltbCkuIFRoZSBjb21wb25lbnQgb3ducyBvbmx5IHRoZSBjb250YWluZXIgKyBjYXJkIGdyaWQuXG4udHNuei10ZXN0aW1vbmlhbHMtZ3JpZCB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiByZW0tY2FsYygyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IHJnYmEoJGJsYWNrLCAwLjA2KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjQpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgICZfX2luaXRpYWxzIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDU2KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1Nik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U3RjJGRjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICB9XG5cbiAgICAmX19ibHVyYiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogIzAwMkU2NDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BlcnNvbiB7XG4gICAgICAgIG1hcmdpbjogYXV0byAwIDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgICAgIGNvbG9yOiAjRDRBODEzO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG59XG4iLCIvLyBWaWRlbyBUZXN0aW1vbmlhbCBTbGlkZXIg4oCUIEVsZW1lbnRWaWRlb1Rlc3RpbW9uaWFsU2xpZGVyLlxuLy8gRmlnbWE6IDMyNToxMTEzIChkZXNrdG9wKSAvIDEzMTY6MjI3MiAobW9iaWxlKS5cbi8vXG4vLyBIT1cgVEhFIENIUk9NRSBTVEFZUyBTVElMTFxuLy8gVGhlIGhlYWRpbmcgYW5kIHRoZSBkb3RzL2Fycm93cyByb3cgYXJlIGJsb2NrLWxldmVsLCBub3QgcGVyLXNsaWRlLCBzbyB0aGV5IHJlbmRlciBvbmNlXG4vLyBvdXRzaWRlIHRoZSBTd2lwZXIuIE9uIGBsYXJnZWAgdGhleSBhcmUgb3ZlcmxhaWQgb250byB0aGUgY29udGVudCBjb2x1bW4gb2YgdGhlIHNhbWVcbi8vIGdyaWQgcm93IHRoZSBzbGlkZXIgb2NjdXBpZXMg4oCUIGhlYWRpbmcgcGlubmVkIHRvIHRoZSB0b3AsIGNvbnRyb2xzIHRvIHRoZSBib3R0b20g4oCUIGFuZFxuLy8gZWFjaCBzbGlkZSBjYXJyaWVzIGFuIGludmlzaWJsZSBlY2hvIG9mIGJvdGggc28gaXRzIGNvcHkgaXMgaW5zZXQgYnkgZXhhY3RseSB0aGUgcmlnaHRcbi8vIGFtb3VudC4gVGhlIGVjaG8gaXMgdGhlIHNhbWUgbWFya3VwIGF0IHRoZSBzYW1lIGNvbHVtbiB3aWR0aCwgc28gdGhlIHJlc2VydmF0aW9uIGlzXG4vLyBwaXhlbC1leGFjdCBmb3IgYW55IGhlYWRpbmcgbGVuZ3RoLCBhdCBhbnkgZm9udC1zaXplLCB3aXRoIG5vIEpTIG1lYXN1cmluZyBhbnl0aGluZy5cbi8vIEJlbG93IGBsYXJnZWAgdGhlIGRlc2lnbiBzdGFja3MgYW5kIHRoZSBlY2hvIGJlY29tZXMgdGhlIHZpc2libGUgaGVhZGluZywgd2hpbGUgdGhlIHJlYWxcbi8vIDxoMj4gZHJvcHMgdG8gc2NyZWVuLXJlYWRlci1vbmx5IGFuZCB0aGUgY29udHJvbHMgZmFsbCBpbnRvIG5vcm1hbCBmbG93IHVuZGVybmVhdGguXG4vL1xuLy8gU2xpZGUgaGVpZ2h0cyBhcmUgZXF1YWwgYnkgZGVmYXVsdCAoYGF1dG9IZWlnaHRgIGlzIG9mZiksIHNvIGEgbG9uZ2VyIHF1b3RlIGNhbm5vdCBtYWtlXG4vLyB0aGUgYmxvY2sganVtcCBvbiBzbGlkZSBjaGFuZ2UuXG5cbi8vIENvbXAgY29sdW1uIHdpZHRocywgdXNlZCBhcyBmbGV4IHJhdGlvcyBzbyB0aGUgc3BsaXQgc3RheXMgcHJvcG9ydGlvbmFsIGF0IGFueSB3aWR0aC5cbiR0c256LXZpZGVvLXRlc3RpbW9uaWFsLW1lZGlhLWNvbDogNTYwO1xuJHRzbnotdmlkZW8tdGVzdGltb25pYWwtYm9keS1jb2w6IDY5MjtcblxuLy8gVGhlIGNvbnRyb2xzIHJvdyByZXNlcnZlcyBhIGNvbnN0YW50IGhlaWdodCB3aGV0aGVyIG9yIG5vdCB0aGUgYXJyb3dzIHJlbmRlciwgc28gdGhlXG4vLyBjb3B5IGFib3ZlIGl0IHNpdHMgaW4gdGhlIHNhbWUgcGxhY2Ugb24gYSBvbmUtc2xpZGUgYmxvY2sgYXMgb24gYSBmaXZlLXNsaWRlIG9uZS5cbi8vIHNwYWNlKDQ4KSBhbHNvIGdpdmVzIHRoZSBhcnJvdyBidXR0b25zIGEgNDhweCBoaXQgdGFyZ2V0IOKAlCB0aGUgY29tcCdzIGljb24gYm94IGlzIDQ2LlxuJHRzbnotdmlkZW8tdGVzdGltb25pYWwtY29udHJvbHMtaGVpZ2h0OiBzcGFjZSg0OCk7XG5cbi8vIFVuYm91bmQgaW4gRmlnbWE6IHRoZSBpbmFjdGl2ZSBkb3QgZmlsbCAobm9kZSAxNzU2OjIyNTQpLiBOb3QgY2xvc2UgZW5vdWdoIHRvIGFueSBncmV5XG4vLyBpbiB0aGUgcGFsZXR0ZSB0byBhbGlhcywgc28gaXQgaXMgbmFtZWQgaGVyZSByYXRoZXIgdGhhbiByZXBlYXRlZCBpbmxpbmUuXG4kdHNuei12aWRlby10ZXN0aW1vbmlhbC1kb3QtaW5hY3RpdmU6ICNkMWQ2ZGI7XG5cbi8vIFR5cGUgdG9rZW5zIHRoZSBjb21wIHVzZXMgZm9yIHRoZSBoZWFkaW5nIOKAlCBIMyBvbiBkZXNrdG9wLCBINiBvbiBtb2JpbGUg4oCUIHB1bGxlZCBmcm9tXG4vLyB0aGUgc2NhbGUgcmF0aGVyIHRoYW4gcmVzdGF0ZWQuIFRoZSBlbGVtZW50IGlzIGFuIDxoMj4gc2VtYW50aWNhbGx5OyBvbmx5IGl0cyBzaXplIGlzXG4vLyBib3Jyb3dlZC5cbiR0c256LXZpZGVvLXRlc3RpbW9uaWFsLWhlYWRpbmctc21hbGw6IG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXN0eWxlcywgJ3NtYWxsJyksICdoNicpO1xuJHRzbnotdmlkZW8tdGVzdGltb25pYWwtaGVhZGluZy1sYXJnZTogbWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc3R5bGVzLCAnbWVkaXVtJyksICdoMycpO1xuXG5AbWl4aW4gdHNuei12aWRlby10ZXN0aW1vbmlhbC10eXBlKCR0b2tlbikge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdG9rZW4sICdmb250LXNpemUnKTtcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdG9rZW4sICdmb250LXdlaWdodCcpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCR0b2tlbiwgJ2xpbmUtaGVpZ2h0Jyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJHRva2VuLCAnbGV0dGVyLXNwYWNpbmcnKTtcbn1cblxuLy8gVGhlIHR3by1jb2x1bW4gc3BsaXQsIHNoYXJlZCBieSB0aGUgbGF5b3V0IGdyaWQgYW5kIGJ5IGVhY2ggc2xpZGUgc28gdGhlIG92ZXJsYWlkIGNocm9tZVxuLy8gbGFuZHMgb24gZXhhY3RseSB0aGUgc2FtZSBjb2x1bW4gYXMgdGhlIGNvcHkgaXQgc2l0cyBhYm92ZS5cbkBtaXhpbiB0c256LXZpZGVvLXRlc3RpbW9uaWFsLWNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOlxuICAgICAgICBtaW5tYXgoMCwgI3skdHNuei12aWRlby10ZXN0aW1vbmlhbC1tZWRpYS1jb2x9ZnIpXG4gICAgICAgIG1pbm1heCgwLCAjeyR0c256LXZpZGVvLXRlc3RpbW9uaWFsLWJvZHktY29sfWZyKTtcbiAgICAvLyBMb25naGFuZHMsIG5vdCBgZ2FwYC4gQm90aCBoYXZlIHRvIGJlIHNldCDigJQgdGhlIGNvbHVtbiBnYXAgZm9yIHRoZSBzcGxpdCwgdGhlIHJvd1xuICAgIC8vIGdhcCB0byBjbGVhciB0aGUgc3RhY2tlZCBsYXlvdXQncyDigJQgYW5kIGEgYGdhcDogMGAgd3JpdHRlbiBhZnRlciBhIGBjb2x1bW4tZ2FwYFxuICAgIC8vIHNpbGVudGx5IHdpcGVzIHRoZSBjb2x1bW4gZ2FwIGJhY2sgb3V0LlxuICAgIHJvdy1nYXA6IDA7XG4gICAgY29sdW1uLWdhcDogc3BhY2UoNDgpO1xufVxuXG4udHNuei12aWRlby10ZXN0aW1vbmlhbCB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICAgICAvLyBUaGUgbW9iaWxlIGZyYW1lIHVzZXMgYSAyNHB4IHBhZ2UgZWRnZTsgdGhlIHNoYXJlZCBjb250YWluZXIgaXMgMTZweCBhdCBzbWFsbC5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xheW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRzbnotdmlkZW8tdGVzdGltb25pYWwtY29sdW1ucztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc2xpZGVyXG5cbiAgICAmX19zbGlkZXIge1xuICAgICAgICAvLyBTd2lwZXIgNCdzIC5zd2lwZXItY29udGFpbmVyIGNhcnJpZXMgdGhlc2UgdG9vLCBidXQgdGhlIGJsb2NrIG93bnMgaXRzIG93blxuICAgICAgICAvLyBjbGlwcGluZyByYXRoZXIgdGhhbiBkZXBlbmRpbmcgb24gd2hlcmUgdGhhdCB2ZW5kb3IgQ1NTIGxhbmRzIGluIHRoZSBjYXNjYWRlLlxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLy8gUkVRVUlSRUQg4oCUIGRvIG5vdCByZW1vdmUsIGFuZCBkb24ndCBcInRpZHlcIiB0aGUgd2lkdGggYXdheS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gU3dpcGVyIDQncyBgLnN3aXBlci1jb250YWluZXJgIHNldHMgYG1hcmdpbi1sZWZ0L3JpZ2h0OiBhdXRvYC4gQXV0byBzaWRlIG1hcmdpbnNcbiAgICAgICAgLy8gb24gYSBncmlkIG9yIGZsZXggaXRlbSBzd2l0Y2ggb2ZmIHN0cmV0Y2ggYW5kIG1ha2UgdGhlIGJveCBzaHJpbmstdG8tZml0IGl0c1xuICAgICAgICAvLyBtYXgtY29udGVudCDigJQgd2hpY2ggaGVyZSBpcyB0aGUgd2hvbGUgcm93IG9mIHNsaWRlcy4gVGhlIHNsaWRlciB0aGVuIG1lYXN1cmVzXG4gICAgICAgIC8vIDTDlyB0aGUgdHJhY2ssIFN3aXBlciByZWFkcyB0aGF0IGluZmxhdGVkIHdpZHRoIG9uIHRoZSBuZXh0IHJlc2l6ZSBhbmQgd3JpdGVzIGl0XG4gICAgICAgIC8vIHRvIGV2ZXJ5IHNsaWRlLCB3aGljaCBpbmZsYXRlcyBpdCBhZ2FpbjogMTI0OCDihpIgNTA4OCDihpIgMjA0NDgg4oaSIDMyNzY0OCDihpIgY2xhbXAgYXRcbiAgICAgICAgLy8gMTYuN00sIHdpdGhpbiBmb3VyIHJlc2l6ZXMuIENvbmZpcm1lZCBpbiBDaHJvbWl1bS5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuICAgICAgICAvLyBTd2lwZXIgNCBzZXRzIGhlaWdodDoxMDAlIG9uIHNsaWRlczsgYXV0byBsZXRzIHRoZW0gc3RyZXRjaCB0byB0aGUgdGFsbGVzdFxuICAgICAgICAvLyBpbnN0ZWFkLCB3aGljaCBpcyB3aGF0IGtlZXBzIGV2ZXJ5IHNsaWRlIHRoZSBzYW1lIGhlaWdodC5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRzbnotdmlkZW8tdGVzdGltb25pYWwtY29sdW1ucztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lZGlhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcblxuICAgICAgICAvLyBGaXhlZCByYXRpbyBvbiBwdXJwb3NlIOKAlCBhIDE2Ojkgc291cmNlIGxldHRlcmJveGVzIGluc2lkZSB0aGUgNDozIGJveCByYXRoZXJcbiAgICAgICAgLy8gdGhhbiB0aGUgYmxvY2sgY2hhbmdpbmcgc2hhcGUgcGVyIHZpZGVvLlxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvZHktaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgLy8gQ29tcCBkcmF3cyAxNiB0byB0aGUgcXVvdGUgZ2x5cGggYW5kIDIxIHRvIHRoZSBhdHRyaWJ1dGlvbjsgb3BlbmVkIHVwIHRvIGFcbiAgICAgICAgICAgIC8vIHNpbmdsZSAyNCBvbiBOYXRoYW4ncyBjYWxsIGFmdGVyIHNlZWluZyBpdCBvbiBzY3JlZW4uXG4gICAgICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgICAgIC8vIENvbXAgc2V0cyAyNCBiZWxvdyB0aGUgaGVhZGluZyBydWxlOyBvcGVuZWQgdG8gMzIgb24gTmF0aGFuJ3MgY2FsbC5cbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDMyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gaGVhZGluZ1xuXG4gICAgLy8gVHdvIGNvcGllcyBleGlzdDogdGhlIHJlYWwgPGgyPiBpbiB0aGUgYmxvY2sgY2hyb21lLCBhbmQgdGhlIHBlci1zbGlkZSBgLS1lY2hvYC5cbiAgICAvLyBFeGFjdGx5IG9uZSBpcyBleHBvc2VkIHRvIGFzc2lzdGl2ZSB0ZWNoIGF0IGVhY2ggYnJlYWtwb2ludCwgYW5kIGV4YWN0bHkgb25lIGlzXG4gICAgLy8gdmlzaWJsZS5cbiAgICAmX19oZWFkaW5nLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy8gTW9iaWxlIGtlZXBzIHRoZSBzdGFjaydzIG93biByaHl0aG07IHRoZSBjb21wIG9ubHkgdGlnaHRlbnMgdGhlIGhlYWRpbmcgdG8gaXRzXG4gICAgICAgIC8vIHJ1bGUsIGFuZCBwYWRzIHRoZSBibG9jaywgYXQgZGVza3RvcC5cbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSg0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDEwKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHJlYWwgPGgyPi4gT3ZlcmxhaWQgb24gdGhlIGNvbnRlbnQgY29sdW1uIGF0IGxhcmdlOyBiZWxvdyB0aGF0IHRoZSBlY2hvIGlzXG4gICAgICAgIC8vIHRoZSBvbmUgb24gc2NyZWVuLCBzbyB0aGlzIGRyb3BzIHRvIHNjcmVlbi1yZWFkZXItb25seSByYXRoZXIgdGhhbiBkaXNwbGF5Om5vbmVcbiAgICAgICAgLy8g4oCUIHRoZSBoZWFkaW5nIGhhcyB0byBzdGF5IGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgYXQgZXZlcnkgd2lkdGguXG4gICAgICAgICYtLWNocm9tZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGVyLXNsaWRlIGNvcHkuIFZpc2libGUgYmVsb3cgbGFyZ2U7IGF0IGxhcmdlIGl0IG9ubHkgcmVzZXJ2ZXMgdGhlIHJvb20gdGhlXG4gICAgICAgIC8vIHJlYWwgaGVhZGluZyBpcyBvdmVybGFpZCBpbnRvLCBhbmQgYHZpc2liaWxpdHlgIHRha2VzIGl0IG91dCBvZiB0aGUgYTExeSB0cmVlLlxuICAgICAgICAmLS1lY2hvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei12aWRlby10ZXN0aW1vbmlhbC10eXBlKCR0c256LXZpZGVvLXRlc3RpbW9uaWFsLWhlYWRpbmctc21hbGwpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0c256LXZpZGVvLXRlc3RpbW9uaWFsLXR5cGUoJHRzbnotdmlkZW8tdGVzdGltb25pYWwtaGVhZGluZy1sYXJnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDTVMgXCJTbWFsbFwiIGhlYWRpbmcgc2l6ZSDigJQgMS41cmVtIGF0IGV2ZXJ5IGJyZWFrcG9pbnQgKGJvdGggY2hyb21lIGFuZCBlY2hvIGNvcGllcykuXG4gICAgJi0taGVhZGluZy1zbWFsbCB7XG4gICAgICAgIC50c256LXZpZGVvLXRlc3RpbW9uaWFsX19oZWFkaW5nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcnVsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRzbnotYm9yZGVyLXN1YnRsZTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHF1b3RlXG5cbiAgICAmX19xdW90ZS1tYXJrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgc2hhcmVkIC5zdmctaWNvbiBjYXBzIGV2ZXJ5IGlubGluZSBpY29uIGF0IDFlbTsgdGhlc2UgdHdvIGFyZSBzaXplZFxuICAgICAgICAvLyBhcnR3b3JrLCBub3QgdGV4dC1oZWlnaHQgZ2x5cGhzLCBzbyB0aGUgY2FwcyBoYXZlIHRvIGNvbWUgb2ZmLlxuICAgICAgICAuc3ZnLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogc3BhY2UoNDgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIC8vIFRoZSBjb21wIG1pcnJvcnMgdGhlIGV4cG9ydGVkIGdseXBoICh0aGUgRmlnbWEgaW5zdGFuY2UgY2Fycmllc1xuICAgICAgICAgICAgLy8gcm90YXRlKDE4MGRlZykgKyBzY2FsZVkoLTEpLCB3aGljaCBjb21wb3NlcyB0byBzY2FsZVgoLTEpKS4gS2VwdCBoZXJlIHNvXG4gICAgICAgICAgICAvLyB0aGUgaWNvbiBwYXJ0aWFsIHN0YXlzIGEgZmFpdGhmdWwgZXhwb3J0LlxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmx1cmIge1xuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAvLyBMZWFkXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNudWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdHRyaWJ1dGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29udHJvbHNcblxuICAgICZfX2NvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAvLyBNdXN0IG1hdGNoIHRoZSBlY2hvIGV4YWN0bHkg4oCUIHRoaXMgaXMgdGhlIHJlc2VydmF0aW9uIHRoZSBjb3B5IHNpdHMgYWJvdmUuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkdHNuei12aWRlby10ZXN0aW1vbmlhbC1jb250cm9scy1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250cm9scy1lY2hvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICR0c256LXZpZGVvLXRlc3RpbW9uaWFsLWNvbnRyb2xzLWhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHNwYWNlKDgpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmX19idWxsZXQge1xuICAgICAgICB3aWR0aDogc3BhY2UoOCk7XG4gICAgICAgIGhlaWdodDogc3BhY2UoOCk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei12aWRlby10ZXN0aW1vbmlhbC1kb3QtaW5hY3RpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHNuei1kdXJhdGlvbi1mYXN0ICR0c256LWVhc2luZztcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Fycm93cyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoOCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAkdHNuei12aWRlby10ZXN0aW1vbmlhbC1jb250cm9scy1oZWlnaHQ7XG4gICAgICAgIGhlaWdodDogJHRzbnotdmlkZW8tdGVzdGltb25pYWwtY29udHJvbHMtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nLCBvcGFjaXR5ICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgIC8vIGA6Zm9jdXMtdmlzaWJsZWAsIG5vdCBgOmZvY3VzYCDigJQgYSBjbGlja2VkIGFycm93IGtlZXBzIGZvY3VzLCBhbmQgb24gYDpmb2N1c2BcbiAgICAgICAgLy8gdGhlIGJsdWUgaG92ZXIgY29sb3VyIHN0dWNrIG9uIGl0IHVudGlsIHlvdSBjbGlja2VkIGVsc2V3aGVyZS4gS2V5Ym9hcmQgZm9jdXNcbiAgICAgICAgLy8gc3RpbGwgZ2V0cyBib3RoIHRoZSBjb2xvdXIgYW5kIHRoZSByaW5nIGJlbG93LlxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3ZnLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcmV2IC5zdmctaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3dpcGVyJ3Mgb3duIGRpc2FibGVkL2hpZGRlbiBjbGFzc2VzLCByZW5hbWVkIG9udG8gdGhlIGJsb2NrIGluIHRoZSBKUyBvcHRpb25zLlxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQSBzaW5nbGUgdGVzdGltb25pYWwgaGFzIG5vdGhpbmcgdG8gcGFnZSB0aHJvdWdoLlxuICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgLnRzbnotdmlkZW8tdGVzdGltb25pYWxfX2NvbnRyb2xzLFxuICAgICAgICAudHNuei12aWRlby10ZXN0aW1vbmlhbF9fY29udHJvbHMtZWNobyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gRnJhbmNoaXNlIFRlc3RpbW9uaWFscyDigJQgRWxlbWVudEZyYW5jaGlzZVRlc3RpbW9uaWFscy5cbi8vIEZpZ21hOiAxODE3OjI0NjcgKGRlc2t0b3ApIC8gMTk1MDo0Njc3IChtb2JpbGUpLlxuLy9cbi8vIEEgd2hpdGUgYmFuZCwgc2luZ2xlIGNvbHVtbjogdGhlIGhlYWRpbmcgKCsgZnVsbC13aWR0aCBydWxlKSBhbmQgdGhlIGRvdHMvYXJyb3dzIHJvdyBhcmVcbi8vIGJsb2NrIGNocm9tZSB0aGF0IHJlbmRlciBvbmNlLCBzdGFja2VkIGFib3ZlIGFuZCBiZWxvdyB0aGUgU3dpcGVyLiBVbmxpa2UgdGhlIFZpZGVvXG4vLyBUZXN0aW1vbmlhbCBTbGlkZXIgYW5kIENvbnRlbnQgQ2Fyb3VzZWwgdGhlcmUgaXMgbm8gc2lkZSBjb2x1bW4sIHNvIG5vdGhpbmcgaXMgb3ZlcmxhaWRcbi8vIGFuZCBubyBlY2hvLXNwYWNlciBpcyBuZWVkZWQg4oCUIHRoZSBjb250cm9scyBzaW1wbHkgc2l0IHVuZGVyIHRoZSBzbGlkZXIuXG4vL1xuLy8gU2xpZGUgaGVpZ2h0cyBhcmUgZXF1YWwgYnkgZGVmYXVsdCAoYGF1dG9IZWlnaHRgIG9mZiBpbiB0aGUgSlMpLCBzbyBhIGxvbmdlciBxdW90ZSBjYW4ndFxuLy8gbWFrZSB0aGUgYmxvY2sganVtcCBvbiBzbGlkZSBjaGFuZ2UuIEJlbG93IGBsYXJnZWAgdGhlIHllbGxvdyBxdW90ZSBnbHlwaCBpcyBoaWRkZW4gYW5kXG4vLyB0aGUgY29udHJvbHMgc2hvdyBkb3RzIG9ubHksIGNlbnRyZWQg4oCUIG1hdGNoaW5nIHRoZSBtb2JpbGUgY29tcC5cblxuLy8gVGhlIGNvbnRyb2xzIHJvdyByZXNlcnZlcyBhIGNvbnN0YW50IGhlaWdodCB3aGV0aGVyIG9yIG5vdCB0aGUgYXJyb3dzIHJlbmRlci4gc3BhY2UoNDgpXG4vLyBhbHNvIGdpdmVzIHRoZSBhcnJvdyBidXR0b25zIGEgNDhweCBoaXQgdGFyZ2V0IOKAlCB0aGUgY29tcCdzIGljb24gZnJhbWUgaXMgNDYuXG4kdHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzLWNvbnRyb2xzLWhlaWdodDogc3BhY2UoNDgpO1xuXG4vLyBVbmJvdW5kIGluIEZpZ21hOiB0aGUgaW5hY3RpdmUgZG90IGZpbGwuIE1hdGNoZXMgdGhlIFZpZGVvIFRlc3RpbW9uaWFsIFNsaWRlcidzIGRvdCBzbyB0aGVcbi8vIHR3byB0ZXN0aW1vbmlhbCBjb21wb25lbnRzIHJlYWQgdGhlIHNhbWUuXG4kdHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzLWRvdC1pbmFjdGl2ZTogI2QxZDZkYjtcblxuLy8gSGVhZGluZyB1c2VzIHRoZSBIMyB0b2tlbiDigJQgMjQvMjkgbW9iaWxlIOKGkiAzMi8zNyBkZXNrdG9wLCBFeHRyYUJvbGQg4oCUIHB1bGxlZCBmcm9tIHRoZVxuLy8gc2NhbGUgcmF0aGVyIHRoYW4gcmVzdGF0ZWQuIFRoZSBlbGVtZW50IGlzIGEgc2VtYW50aWMgPGgyPjsgb25seSBpdHMgc2l6ZSBpcyBib3Jyb3dlZC5cbiR0c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHMtaGVhZGluZy1zbWFsbDogbWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc3R5bGVzLCAnc21hbGwnKSwgJ2gzJyk7XG4kdHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzLWhlYWRpbmctbGFyZ2U6IG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXN0eWxlcywgJ21lZGl1bScpLCAnaDMnKTtcblxuQG1peGluIHRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFscy10eXBlKCR0b2tlbikge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkdG9rZW4sICdmb250LXNpemUnKTtcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdG9rZW4sICdmb250LXdlaWdodCcpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCR0b2tlbiwgJ2xpbmUtaGVpZ2h0Jyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJHRva2VuLCAnbGV0dGVyLXNwYWNpbmcnKTtcbn1cblxuLnRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFscyB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG5cbiAgICAgICAgLy8gVGhlIG1vYmlsZSBmcmFtZSB1c2VzIGEgMjRweCBwYWdlIGVkZ2U7IHRoZSBzaGFyZWQgY29udGFpbmVyIGlzIDE2cHggYXQgc21hbGwuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2UoMjQpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjZSgyNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGhlYWRpbmdcblxuICAgICZfX2hlYWRpbmctYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBDb21wIHRpZ2h0ZW5zIHRoZSBoZWFkaW5nIHRvIGl0cyBydWxlIGF0IGRlc2t0b3AuXG4gICAgICAgICAgICBnYXA6IHNwYWNlKDQpO1xuICAgICAgICAgICAgcGFkZGluZzogc3BhY2UoMTApIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgdHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzLXR5cGUoJHRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFscy1oZWFkaW5nLXNtYWxsKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHNuei1mcmFuY2hpc2UtdGVzdGltb25pYWxzLXR5cGUoJHRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFscy1oZWFkaW5nLWxhcmdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3J1bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0c256LWJvcmRlci1zdWJ0bGU7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzbGlkZXJcblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIC8vIFN3aXBlciA0J3MgLnN3aXBlci1jb250YWluZXIgY2FycmllcyB0aGVzZSB0b28sIGJ1dCB0aGUgYmxvY2sgb3ducyBpdHMgb3duIGNsaXBwaW5nXG4gICAgICAgIC8vIHJhdGhlciB0aGFuIGRlcGVuZGluZyBvbiB3aGVyZSB0aGF0IHZlbmRvciBDU1MgbGFuZHMgaW4gdGhlIGNhc2NhZGUuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvLyBSRVFVSVJFRCDigJQgZG8gbm90IHJlbW92ZSwgYW5kIGRvbid0IFwidGlkeVwiIHRoZSB3aWR0aCBhd2F5LlxuICAgICAgICAvL1xuICAgICAgICAvLyBTd2lwZXIgNCdzIGAuc3dpcGVyLWNvbnRhaW5lcmAgc2V0cyBgbWFyZ2luLWxlZnQvcmlnaHQ6IGF1dG9gLiBBdXRvIHNpZGUgbWFyZ2lucyBvblxuICAgICAgICAvLyBhIGZsZXggaXRlbSBzd2l0Y2ggb2ZmIHN0cmV0Y2ggYW5kIG1ha2UgdGhlIGJveCBzaHJpbmstdG8tZml0IGl0cyBtYXgtY29udGVudCDigJQgdGhlXG4gICAgICAgIC8vIHdob2xlIHJvdyBvZiBzbGlkZXMg4oCUIHdoaWNoIFN3aXBlciB0aGVuIHJlYWRzIG9uIHJlc2l6ZSBhbmQgd3JpdGVzIGJhY2sgdG8gZXZlcnlcbiAgICAgICAgLy8gc2xpZGUsIGluZmxhdGluZyB0aGUgd2lkdGggb24gZXZlcnkgc3Vic2VxdWVudCByZXNpemUgdW50aWwgaXQgY2xhbXBzIGluIHRoZVxuICAgICAgICAvLyBtaWxsaW9ucy4gYG1pbi13aWR0aDogMGAgYWxvbmUgZG9lcyBOT1QgZml4IGl0OyB0aGUgYXV0byBtYXJnaW5zIGhhdmUgdG8gZ28uXG4gICAgICAgIC8vIENvbmZpcm1lZCBpbiBDaHJvbWl1bS4gU2VlIHRoZSBtZW1vcnkgbm90ZSBcIlN3aXBlciBpbiBDU1MgZ3JpZCBibG93cyB1cCBvbiByZXNpemVcIi5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuICAgICAgICAvLyBTd2lwZXIgNCBzZXRzIGhlaWdodDoxMDAlIG9uIHNsaWRlczsgYXV0byBsZXRzIHRoZW0gc3RyZXRjaCB0byB0aGUgdGFsbGVzdCBpbnN0ZWFkLFxuICAgICAgICAvLyB3aGljaCBpcyB3aGF0IGtlZXBzIGV2ZXJ5IHNsaWRlIHRoZSBzYW1lIGhlaWdodC5cbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBxdW90ZVxuXG4gICAgJl9fcXVvdGUtbWFyayB7XG4gICAgICAgIC8vIEhpZGRlbiBvbiB0aGUgbW9iaWxlIGNvbXA7IHRoZSB5ZWxsb3cgZ2x5cGggb25seSBhcHBlYXJzIGZyb20gbGFyZ2UuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIHNoYXJlZCAuc3ZnLWljb24gY2FwcyBldmVyeSBpbmxpbmUgaWNvbiBhdCAxZW07IHRoaXMgaXMgc2l6ZWQgYXJ0d29yaywgbm90IGFcbiAgICAgICAgLy8gdGV4dC1oZWlnaHQgZ2x5cGgsIHNvIHRoZSBjYXAgY29tZXMgb2ZmLiBNaXJyb3JlZCBob3Jpem9udGFsbHkgcGVyIHRoZSBjb21wLlxuICAgICAgICAuc3ZnLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogc3BhY2UoNDgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3F1b3RlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAvLyBGb3VuZGF0aW9uJ3MgPGJsb2NrcXVvdGU+IGRlZmF1bHRzIGFkZCBhIGxlZnQgcnVsZSArIDFlbSBpbmRlbnQgKCRibG9ja3F1b3RlLWJvcmRlclxuICAgICAgICAvLyAvIC1wYWRkaW5nKSBhbmQgZm9yY2UgJGJsYWNrIHRleHQ7IHRoaXMgdGVzdGltb25pYWwgaGFzIG5laXRoZXIsIGFuZCB0YWtlcyB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50J3MgYm9keSBjb2xvdXIuXG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpOyAvLyAxcmVtIG9uIG1vYmlsZVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyAvLyBMZWFkXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNudWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hdHRyaWJ1dGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29udHJvbHNcblxuICAgICZfX2NvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy8gTW9iaWxlIHNob3dzIGRvdHMgb25seSwgY2VudHJlZDsgZGVza3RvcCBwaW5zIGRvdHMgbGVmdCwgYXJyb3dzIHJpZ2h0LlxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogJHRzbnotZnJhbmNoaXNlLXRlc3RpbW9uaWFscy1jb250cm9scy1oZWlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogc3BhY2UoOCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX2J1bGxldCB7XG4gICAgICAgIHdpZHRoOiBzcGFjZSg4KTtcbiAgICAgICAgaGVpZ2h0OiBzcGFjZSg4KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHMtZG90LWluYWN0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgICAvLyBIaWRkZW4gb24gcGhvbmVzL3RhYmxldHMg4oCUIHRoZSBzdGFja2VkIGNvbXAgcGFnZXMgYnkgc3dpcGUgYW5kIHNob3dzIGRvdHMgb25seS5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSg4KTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6ICR0c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHMtY29udHJvbHMtaGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6ICR0c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHMtY29udHJvbHMtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nLCBvcGFjaXR5ICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgIC8vIGA6Zm9jdXMtdmlzaWJsZWAsIG5vdCBgOmZvY3VzYCDigJQgYSBjbGlja2VkIGFycm93IGtlZXBzIGZvY3VzLCBhbmQgb24gYDpmb2N1c2AgdGhlXG4gICAgICAgIC8vIGJsdWUgaG92ZXIgY29sb3VyIHdvdWxkIHN0aWNrIHVudGlsIHlvdSBjbGlja2VkIGVsc2V3aGVyZS5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiAuc3ZnLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN3aXBlcidzIG93biBkaXNhYmxlZC9oaWRkZW4gY2xhc3NlcywgcmVuYW1lZCBvbnRvIHRoZSBibG9jayBpbiB0aGUgSlMgb3B0aW9ucy5cbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEEgc2luZ2xlIHRlc3RpbW9uaWFsIGhhcyBub3RoaW5nIHRvIHBhZ2UgdGhyb3VnaC5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIC50c256LWZyYW5jaGlzZS10ZXN0aW1vbmlhbHNfX2NvbnRyb2xzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBJbWFnZSBDYXJvdXNlbCDigJQgRWxlbWVudEltYWdlQ2Fyb3VzZWwuXG4vLyBGaWdtYTogMzI1OjE1MzEgKGRlc2t0b3ApIC8gMTg5NToyNzE2IChtb2JpbGUpLlxuLy9cbi8vIEEgYmxvY2stbGV2ZWwgaGVhZGluZyArIGludHJvIG92ZXIgYSBTd2lwZXIgb2YgaW1hZ2VzLiBUaGUgaGVhZGluZywgaW50cm8gYW5kIHRoZVxuLy8gZG90cy9hcnJvd3Mgcm93IGFyZSBibG9jayBjaHJvbWUg4oCUIHRoZXkgcmVuZGVyIG9uY2UsIG91dHNpZGUgdGhlIFN3aXBlciwgc28gdGhleSBkb24ndFxuLy8gbW92ZSBhcyB0aGUgc2xpZGVzIHBhZ2UuIEV2ZXJ5IGltYWdlIGlzIGxvY2tlZCB0byBhIDQ6MyBib3ggKDQwMMOXMzAwIGNyb3ApIHZpYVxuLy8gYGFzcGVjdC1yYXRpb2AgKyBgb2JqZWN0LWZpdDogY292ZXJgOyB0aGUgcmVuZGVyZWQgd2lkdGggc2NhbGVzIHdpdGggdGhlIHZpZXdwb3J0IGFuZCB0aGVcbi8vIG51bWJlciBvZiBzbGlkZXMgaW4gdmlldywgYnV0IHRoZSByYXRpbyBuZXZlciBjaGFuZ2VzIGFuZCB0aGUgaW1hZ2UgaXMgbmV2ZXIgZGlzdG9ydGVkIG9yXG4vLyBsZXR0ZXJib3hlZC5cbi8vXG4vLyBMaWdodCBiYWNrZ3JvdW5kcyBvbmx5IOKAlCB0aGUgY29tcCBpcyBjb3B5LW9uLXdoaXRlLy1saWdodCB0aHJvdWdob3V0OyB0aGUgYmxvY2sgb2ZmZXJzIG5vXG4vLyBkYXJrIHN1cmZhY2UgKHNlZSBlbGVtZW50cy55bWwpLlxuXG4vLyBVbmJvdW5kIGluIEZpZ21hOiB0aGUgaGVhZGVyIGNvbHVtbiB3cmFwcyBhdCA5Njcgb24gdGhlIDEzMTIgY29udGVudCB3aWR0aC4gTm90IGEgdG9rZW4sXG4vLyBzbyBpdCdzIG5hbWVkIGhlcmUgcmF0aGVyIHRoYW4gaW5saW5lZC5cbiR0c256LWltYWdlLWNhcm91c2VsLWhlYWRlci1tZWFzdXJlOiByZW0tY2FsYyg5NjcpO1xuXG4vLyBzcGFjZSg0OCkgZ2l2ZXMgdGhlIGFycm93IGJ1dHRvbnMgYSA0OHB4IGhpdCB0YXJnZXQg4oCUIHRoZSBjb21wJ3MgaWNvbiBib3ggaXMgNDYuXG4kdHNuei1pbWFnZS1jYXJvdXNlbC1hcnJvdy1zaXplOiBzcGFjZSg0OCk7XG5cbi50c256LWltYWdlLWNhcm91c2VsIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC8vIENvbXA6IDMyIGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGNhcm91c2VsLCBhbmQgYWdhaW4gdG8gdGhlIGNvbnRyb2xzIHJvdy5cbiAgICAgICAgZ2FwOiBzcGFjZSgzMik7XG5cbiAgICAgICAgLy8gVGhlIG1vYmlsZSBmcmFtZSB1c2VzIGEgMjRweCBwYWdlIGVkZ2U7IHRoZSBzaGFyZWQgY29udGFpbmVyIGlzIDE2cHggYXQgc21hbGwuXG4gICAgICAgIC8vIFRoaXMgYWxzbyBzZXRzIHdoZXJlIHRoZSBmaXJzdCBzbGlkZSBzdGFydHMsIHNvIHRoZSBuZXh0IGltYWdlIHBlZWtzIG9mZiB0aGVcbiAgICAgICAgLy8gcmlnaHQgZWRnZS5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gaGVhZGVyXG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDI0KTtcbiAgICAgICAgbWF4LXdpZHRoOiAkdHNuei1pbWFnZS1jYXJvdXNlbC1oZWFkZXItbWVhc3VyZTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc2xpZGVyXG5cbiAgICAmX19zbGlkZXIge1xuICAgICAgICAvLyBTd2lwZXIgNCdzIC5zd2lwZXItY29udGFpbmVyIGNhcnJpZXMgdGhlc2UgdG9vLCBidXQgdGhlIGJsb2NrIG93bnMgaXRzIG93blxuICAgICAgICAvLyBjbGlwcGluZyByYXRoZXIgdGhhbiBkZXBlbmRpbmcgb24gd2hlcmUgdGhhdCB2ZW5kb3IgQ1NTIGxhbmRzIGluIHRoZSBjYXNjYWRlLlxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLy8gUkVRVUlSRUQg4oCUIGRvIG5vdCByZW1vdmUuIFN3aXBlciA0J3MgYC5zd2lwZXItY29udGFpbmVyYCBzZXRzXG4gICAgICAgIC8vIGBtYXJnaW4tbGVmdC9yaWdodDogYXV0b2A7IGF1dG8gc2lkZSBtYXJnaW5zIG9uIGEgZmxleC9ncmlkIGl0ZW0gc3dpdGNoIG9mZlxuICAgICAgICAvLyBzdHJldGNoIGFuZCBsZXQgdGhlIGJveCBncm93IHRvIGl0cyBtYXgtY29udGVudCAodGhlIHdob2xlIHNsaWRlIHRyYWNrKSwgd2hpY2hcbiAgICAgICAgLy8gU3dpcGVyIHRoZW4gcmVhZHMgb24gcmVzaXplIGFuZCB3cml0ZXMgYmFjayB0byBldmVyeSBzbGlkZSDigJQgaW5mbGF0aW5nIHRoZSB3aWR0aFxuICAgICAgICAvLyBvbiBldmVyeSBzdWJzZXF1ZW50IHJlc2l6ZSB1bnRpbCBpdCBjbGFtcHMgaW4gdGhlIG1pbGxpb25zLiBDb25maXJtZWQgaW4gQ2hyb21pdW0uXG4gICAgICAgIC8vIFNlZSB0aGUgbWVtb3J5IG5vdGUgXCJTd2lwZXIgaW4gQ1NTIGdyaWQgYmxvd3MgdXAgb24gcmVzaXplXCIuXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUge1xuICAgICAgICAvLyBTd2lwZXIgc2l6ZXMgdGhlIHNsaWRlIHdpZHRoIHBlciBicmVha3BvaW50IChzbGlkZXNQZXJWaWV3KTsgdGhlIG1lZGlhIGJlbG93XG4gICAgICAgIC8vIHRha2VzIGl0cyBoZWlnaHQgZnJvbSB0aGUgZml4ZWQgcmF0aW8sIHNvIHNsaWRlcyBzdGF5IHRoZSBzYW1lIHNoYXBlIGV2ZXJ5d2hlcmUuXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiA0IC8gMztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvLyBhc3BlY3QtcmF0aW8gaGFzIG5vIElFL29sZGVyLVNhZmFyaSBmYWxsYmFjazsgdGhlIHBhZGRpbmcgdHJpY2sga2VlcHMgdGhlIDQ6M1xuICAgICAgICAvLyBib3ggdGhlcmUgdG9vLlxuICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDQgLyAzKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb250cm9sc1xuXG4gICAgJl9fY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBNb2JpbGUgc2hvd3MgZG90cyBvbmx5LCBjZW50cmVkOyBkZXNrdG9wIHBpbnMgZG90cyBsZWZ0LCBhcnJvd3MgcmlnaHQuXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkeW5hbWljQnVsbGV0cyBpcyBhbHdheXMgb24gKHNlZSBlMi5pbWFnZWNhcm91c2VsLmpzKTogU3dpcGVyIHdyaXRlcyBhbiBpbmxpbmUgYHdpZHRoYFxuICAgIC8vIGhlcmUgYW5kIGFuIGlubGluZSBgbGVmdGAgb24gZWFjaCBidWxsZXQgdG8gc2xpZGUgYSBmaXhlZCB3aW5kb3csIHNvIHRoaXMgaXMgYSBwbGFpblxuICAgIC8vIGlubGluZS1mbG93IHN0cmlwLCBOT1QgZmxleCDigJQgZmxleC9nYXAgd291bGQgZmlnaHQgdGhlIGlubGluZSBvZmZzZXRzIGFuZCBTd2lwZXIgd291bGRcbiAgICAvLyBtaXMtbWVhc3VyZSB0aGUgd2luZG93IChpdCBzaXplcyBmcm9tIGJ1bGxldCBtYXJnaW4tYm94LCBub3QgdGhlIGNvbnRhaW5lciBnYXApLlxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICAvLyBmb250LXNpemU6MCArIGxpbmUtaGVpZ2h0OjAga2lsbHMgdGhlIHdoaXRlc3BhY2UgYmV0d2VlbiBpbmxpbmUtYmxvY2sgYnVsbGV0cyBzb1xuICAgICAgICAvLyB0aGUgc3RyaXAgYWR2YW5jZXMgYnkgZXhhY3RseSBvbmUgYnVsbGV0IG1hcmdpbi1ib3ggcGVyIHN0ZXAuXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLy8gU3F1YXJlIGRvdHMgcGVyIHRoZSBjb21wIChub2RlIDIwNzoyNDk3KSDigJQgbm90IHRoZSByb3VuZCBkb3QgdXNlZCBlbHNld2hlcmUuXG4gICAgLy8gU3BhY2luZyBsaXZlcyBpbiB0aGUgaG9yaXpvbnRhbCBtYXJnaW4gKG5vdCBhIGNvbnRhaW5lciBnYXApIGJlY2F1c2UgU3dpcGVyIG1lYXN1cmVzXG4gICAgLy8gYG91dGVyV2lkdGgodHJ1ZSlgIOKAlCB0aGUgMTJweCBkb3QgKyAyw5dzcGFjZSg0KSA9IGEgMjBweCBhZHZhbmNlIHBlciBidWxsZXQuXG4gICAgJl9fYnVsbGV0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiBzcGFjZSgxMik7XG4gICAgICAgIGhlaWdodDogc3BhY2UoMTIpO1xuICAgICAgICBtYXJnaW46IDAgc3BhY2UoNCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRzbnotZ3JheTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAvLyBSZXN0aW5nIHNpemUgZm9yIGEgYnVsbGV0IE9VVFNJREUgdGhlIHdpbmRvdzogc2hydW5rIHRvIGEgdGhpcmQgc28gc2xpZGVzIHRoYXRcbiAgICAgICAgLy8gc2Nyb2xsIHBhc3QgdGhlIGVkZ2UgZmFkZSBkb3duIGluIHNjYWxlIGJlZm9yZSB0aGUgY29udGFpbmVyIGNsaXBzIHRoZW0sIHJhdGhlclxuICAgICAgICAvLyB0aGFuIHNpdHRpbmcgZnVsbC1zaXplIGFnYWluc3QgdGhlIGNsaXAgbGluZS4gVGhlIHdpbmRvdyBjbGFzc2VzIGJlbG93IHNjYWxlIHRoZVxuICAgICAgICAvLyBhY3RpdmUgYnVsbGV0IGFuZCBpdHMgbmVpZ2hib3VycyBiYWNrIHVwLlxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgICAgICAvLyBgbGVmdGAgaXMgdGhlIHNsaWRpbmcgb2Zmc2V0IFN3aXBlciB3cml0ZXM7IHRyYW5zaXRpb24gaXQgd2l0aCB0aGUgc2NhbGUgc28gdGhlXG4gICAgICAgIC8vIHdpbmRvdyBnbGlkZXMgcmF0aGVyIHRoYW4ganVtcHMuXG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nLFxuICAgICAgICAgICAgdHJhbnNmb3JtICR0c256LWR1cmF0aW9uLWJhc2UgJHRzbnotZWFzaW5nLFxuICAgICAgICAgICAgbGVmdCAkdHNuei1kdXJhdGlvbi1iYXNlICR0c256LWVhc2luZztcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgZHluYW1pYyB3aW5kb3c6IHRoZSBhY3RpdmUgYnVsbGV0IGlzIGZ1bGwgc2l6ZSwgaXRzIG5laWdoYm91cnMgc3RlcCBkb3duLCBhbmRcbiAgICAgICAgLy8gYW55dGhpbmcgcGFzdCB0d28gb3V0IHNocmlua3MgYXdheSAoYW5kIGlzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lcidzIG92ZXJmbG93KS5cbiAgICAgICAgLy8gU3dpcGVyIGFkZHMgdGhlc2UgZGVyaXZlZCBjbGFzc2VzIG9mZiBidWxsZXRBY3RpdmVDbGFzczsgd2l0aG91dCBvdXIgb3duIHJ1bGVzIHRoZXlcbiAgICAgICAgLy8gd291bGQgc3RheSBmdWxsIHNpemUgYmVjYXVzZSB0aGUgdmVuZG9yIHNlbGVjdG9ycyB0YXJnZXQgYC5zd2lwZXItcGFnaW5hdGlvbi0qYC5cbiAgICAgICAgJi0tYWN0aXZlLW1haW4ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWFjdGl2ZS1wcmV2LFxuICAgICAgICAmLS1hY3RpdmUtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWN0aXZlLXByZXYtcHJldixcbiAgICAgICAgJi0tYWN0aXZlLW5leHQtbmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYXJyb3dzIHtcbiAgICAgICAgLy8gSGlkZGVuIG9uIHBob25lcyDigJQgdGhlIG1vYmlsZSBjb21wIHBhZ2VzIGJ5IHN3aXBlIGFuZCBzaG93cyBkb3RzIG9ubHkuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDgpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Fycm93IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogJHRzbnotaW1hZ2UtY2Fyb3VzZWwtYXJyb3ctc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkdHNuei1pbWFnZS1jYXJvdXNlbC1hcnJvdy1zaXplO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nLCBvcGFjaXR5ICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgIC8vIGA6Zm9jdXMtdmlzaWJsZWAsIG5vdCBgOmZvY3VzYCDigJQgYSBjbGlja2VkIGFycm93IGtlZXBzIGZvY3VzLCBhbmQgb24gYDpmb2N1c2AgdGhlXG4gICAgICAgIC8vIGJsdWUgaG92ZXIgY29sb3VyIHdvdWxkIHN0aWNrIHVudGlsIHlvdSBjbGlja2VkIGVsc2V3aGVyZS5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiAuc3ZnLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN3aXBlcidzIG93biBkaXNhYmxlZC9oaWRkZW4gY2xhc3NlcywgcmVuYW1lZCBvbnRvIHRoZSBibG9jayBpbiB0aGUgSlMgb3B0aW9ucy5cbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIENvbnRlbnQgQ2Fyb3VzZWwg4oCUIEVsZW1lbnRDb250ZW50Q2Fyb3VzZWwuXG4vLyBGaWdtYTogMTg1NzoyMjQ1IChkZXNrdG9wKSAvIDE5MTI6MjcwMSAobW9iaWxlKS5cbi8vXG4vLyBUaGUgY29udGVudC1vbmx5IHNpYmxpbmcgb2YgdGhlIFZpZGVvIFRlc3RpbW9uaWFsIFNsaWRlci4gRWFjaCBzbGlkZSBwYWlycyBhbiBpbWFnZSB3aXRoXG4vLyBhIHRhZ2xpbmUsIGhlYWRpbmcsIGJvZHkgY29weSBhbmQgYSBidXR0b24g4oCUIGFsbCBwZXItc2xpZGUuIFRoZSBPTkxZIGJsb2NrIGNocm9tZSBpcyB0aGVcbi8vIGRvdHMvYXJyb3dzIHJvdzogaXQgcmVuZGVycyBvbmNlIG91dHNpZGUgdGhlIFN3aXBlciBhbmQgb24gYGxhcmdlYCBpcyBvdmVybGFpZCBvbnRvIHRoZVxuLy8gYm90dG9tIG9mIHRoZSBjb250ZW50IGNvbHVtbiBvZiB0aGUgc2FtZSBncmlkIHJvdyB0aGUgc2xpZGVyIG9jY3VwaWVzLCBwaW5uZWRcbi8vIGBhbGlnbi1zZWxmOiBlbmRgLiBFYWNoIHNsaWRlIGNhcnJpZXMgYW4gaW52aXNpYmxlIGVjaG8gb2YgdGhhdCByb3cgc28gaXRzIGNvcHkgaXMgaW5zZXRcbi8vIGJ5IGV4YWN0bHkgdGhlIHJpZ2h0IGFtb3VudCDigJQgdGhlIGVjaG8gaXMgdGhlIHNhbWUgcmVzZXJ2YXRpb24gYXQgdGhlIHNhbWUgY29sdW1uIHdpZHRoLFxuLy8gc28gdGhlIHBsYWNlbWVudCBpcyBwaXhlbC1leGFjdCBmb3IgYW55IGNvcHkgbGVuZ3RoLCBhdCBhbnkgZm9udC1zaXplLCB3aXRoIG5vIEpTXG4vLyBtZWFzdXJpbmcuIEJlbG93IGBsYXJnZWAgdGhlIGRlc2lnbiBzdGFja3MgYW5kIHRoZSBjb250cm9scyBmYWxsIGludG8gbm9ybWFsIGZsb3csIGRvdHNcbi8vIG9ubHksIGNlbnRyZWQuXG4vL1xuLy8gU2xpZGUgaGVpZ2h0cyBhcmUgZXF1YWwgYnkgZGVmYXVsdCAoYGF1dG9IZWlnaHRgIG9mZiksIHNvIGEgbG9uZ2VyIHNsaWRlIGNhbm5vdCBtYWtlIHRoZVxuLy8gYmxvY2sganVtcCBvbiBzbGlkZSBjaGFuZ2UuIFRoZSBpbWFnZSBpcyBsb2NrZWQgdG8gYSBmaXhlZCBib3gg4oCUIDEwOjcgaW4gdGhlIHR3by1jb2x1bW5cbi8vIGxheW91dCwgNTozIHdoaWxlIHN0YWNrZWQg4oCUIHZpYSBgYXNwZWN0LXJhdGlvYCArIGBvYmplY3QtZml0OiBjb3ZlcmAsIHNvIGV2ZXJ5IHNsaWRlIGlzIHRoZVxuLy8gc2FtZSBzaGFwZSB3aGF0ZXZlciB0aGUgZWRpdG9yIHVwbG9hZHMuXG5cbi8vIENvbXAgY29sdW1uIHdpZHRocyAobWVkaWEgNjQ5Ljg2OSAvIGJvZHkgNjAxLjYyOCBvbiB0aGUgMTMwMCBjb250ZW50IHdpZHRoKSwgdXNlZCBhcyBmbGV4XG4vLyByYXRpb3Mgc28gdGhlIHNwbGl0IHN0YXlzIHByb3BvcnRpb25hbCBhdCBhbnkgd2lkdGguXG4kdHNuei1jb250ZW50LWNhcm91c2VsLW1lZGlhLWNvbDogNjUwO1xuJHRzbnotY29udGVudC1jYXJvdXNlbC1ib2R5LWNvbDogNjAyO1xuXG4vLyBUaGUgY29udHJvbHMgcm93IHJlc2VydmVzIGEgY29uc3RhbnQgaGVpZ2h0IHdoZXRoZXIgb3Igbm90IHRoZSBhcnJvd3MgcmVuZGVyLCBzbyB0aGUgY29weVxuLy8gYWJvdmUgaXQgc2l0cyBpbiB0aGUgc2FtZSBwbGFjZSBvbiBhIG9uZS1zbGlkZSBibG9jayBhcyBvbiBhIGZvdXItc2xpZGUgb25lLiBzcGFjZSg0OClcbi8vIGFsc28gZ2l2ZXMgdGhlIGFycm93IGJ1dHRvbnMgYSA0OHB4IGhpdCB0YXJnZXQg4oCUIHRoZSBjb21wJ3MgaWNvbiBmcmFtZSBpcyA0Ni5cbiR0c256LWNvbnRlbnQtY2Fyb3VzZWwtY29udHJvbHMtaGVpZ2h0OiBzcGFjZSg0OCk7XG5cbi8vIFRoZSB0d28tY29sdW1uIHNwbGl0LCBzaGFyZWQgYnkgdGhlIGxheW91dCBncmlkIGFuZCBieSBlYWNoIHNsaWRlIHNvIHRoZSBvdmVybGFpZCBjb250cm9sc1xuLy8gbGFuZCBvbiBleGFjdGx5IHRoZSBzYW1lIGNvbHVtbiBhcyB0aGUgY29weSB0aGV5IHNpdCBiZW5lYXRoLlxuQG1peGluIHRzbnotY29udGVudC1jYXJvdXNlbC1jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczpcbiAgICAgICAgbWlubWF4KDAsICN7JHRzbnotY29udGVudC1jYXJvdXNlbC1tZWRpYS1jb2x9ZnIpXG4gICAgICAgIG1pbm1heCgwLCAjeyR0c256LWNvbnRlbnQtY2Fyb3VzZWwtYm9keS1jb2x9ZnIpO1xuICAgIC8vIExvbmdoYW5kcywgbm90IGBnYXBgLiBCb3RoIGhhdmUgdG8gYmUgc2V0IOKAlCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIHNwbGl0LCB0aGUgcm93IGdhcFxuICAgIC8vIHRvIGNsZWFyIHRoZSBzdGFja2VkIGxheW91dCdzIOKAlCBhbmQgYSBgZ2FwOiAwYCB3cml0dGVuIGFmdGVyIGEgYGNvbHVtbi1nYXBgIHNpbGVudGx5XG4gICAgLy8gd2lwZXMgdGhlIGNvbHVtbiBnYXAgYmFjayBvdXQuXG4gICAgcm93LWdhcDogMDtcbiAgICBjb2x1bW4tZ2FwOiBzcGFjZSg0OCk7XG59XG5cbi50c256LWNvbnRlbnQtY2Fyb3VzZWwge1xuICAgIC8vIFRoZSBjb2xvdXJlZCBiYW5kIHBhaW50cyB0aGUgY29tcG9uZW50IGl0c2VsZiwgTk9UIHRoZSBzdXJyb3VuZGluZyAudHNuei1ibG9jay4gSXRzXG4gICAgLy8gdmVydGljYWwgcGFkZGluZyBpcyBhIEZJWEVEIHNwYWNlKDY0KSDigJQgdGhlIGJhbmQncyBvd24gaW50ZXJuYWwgc3BhY2luZyDigJQgc28gdGhlIENNU1xuICAgIC8vIHBhZGRpbmcgbW9kaWZpZXIgb24gLnRzbnotYmxvY2sgKHdoaWNoIGxhbmRzIG9uIHRyYW5zcGFyZW50IHNwYWNlIG5vdyB0aGF0IHRoZSBibG9ja1xuICAgIC8vIGlzbid0IHBhaW50ZWQpIGNvbnRyb2xzIG9ubHkgdGhlIGdhcCBPVVRTSURFIHRoZSBiYW5kLiBUaGUgb2xkIGFsd2F5cy1vblxuICAgIC8vIGB0c256LWJsb2NrLS1vdXRzaWRlLWdhcGAgaXMgZ29uZTsgYSBwYWRkaW5nIG1vZGlmaWVyIGRvZXMgdGhhdCBqb2IuXG4gICAgcGFkZGluZzogc3BhY2UoNjQpIDA7XG5cbiAgICAvLyBDb21wb25lbnQgdGV4dCBjb2xvdXIuIEJvZHkgY29weSBzdGF5cyBkYXJrIG9uIGV2ZXJ5IHN1cmZhY2U7IHRoZSB0YWdsaW5lL2hlYWRpbmcgb3B0XG4gICAgLy8gaW50byBicmFuZC1ibHVlIHRoZW1zZWx2ZXMuXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHN1cmZhY2VcbiAgICAvL1xuICAgIC8vIEJhY2tncm91bmQgaXMgY2hvc2VuIGluIHRoZSBDTVMgYnV0IGJvdW5kIHRvIGNvbXBvbmVudC1zY29wZWQgbW9kaWZpZXIgY2xhc3NlcyAoc2VlXG4gICAgLy8gZWxlbWVudHMueW1sIOKGkiBibG9ja19iYWNrZ3JvdW5kX3N0eWxlcykgcmVuZGVyZWQgZGlyZWN0bHkgb24gdGhpcyBlbGVtZW50IGJ5IHRoZVxuICAgIC8vIHRlbXBsYXRlIOKAlCBub3QgdGhlIHNoYXJlZCBgdHNuei1ibG9jay0tKmAgb25lcywgd2hpY2ggd291bGQgcGFpbnQgdGhlIHdob2xlIHNlY3Rpb25cbiAgICAvLyBpbmNsdWRpbmcgaXRzIHRyYW5zcGFyZW50IG91dGVyIHBhZGRpbmcuXG4gICAgJi0tc3VyZmFjZS1saWdodC1ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0LWdyYXk7XG4gICAgfVxuXG4gICAgJi0tc3VyZmFjZS1kYXJrLWdyYXkge1xuICAgICAgICAvLyBGaWdtYSBcIlNreVwiLlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1iYWNrZ3JvdW5kLWRhcmstZ3JheTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICAgICAvLyBUaGUgbW9iaWxlIGZyYW1lIHVzZXMgYSAyNHB4IHBhZ2UgZWRnZTsgdGhlIHNoYXJlZCBjb250YWluZXIgaXMgMTZweCBhdCBzbWFsbC5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xheW91dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogc3BhY2UoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRzbnotY29udGVudC1jYXJvdXNlbC1jb2x1bW5zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzbGlkZXJcblxuICAgICZfX3NsaWRlciB7XG4gICAgICAgIC8vIFN3aXBlciA0J3MgLnN3aXBlci1jb250YWluZXIgY2FycmllcyB0aGVzZSB0b28sIGJ1dCB0aGUgYmxvY2sgb3ducyBpdHMgb3duIGNsaXBwaW5nXG4gICAgICAgIC8vIHJhdGhlciB0aGFuIGRlcGVuZGluZyBvbiB3aGVyZSB0aGF0IHZlbmRvciBDU1MgbGFuZHMgaW4gdGhlIGNhc2NhZGUuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvLyBSRVFVSVJFRCDigJQgZG8gbm90IHJlbW92ZSwgYW5kIGRvbid0IFwidGlkeVwiIHRoZSB3aWR0aCBhd2F5LlxuICAgICAgICAvL1xuICAgICAgICAvLyBTd2lwZXIgNCdzIGAuc3dpcGVyLWNvbnRhaW5lcmAgc2V0cyBgbWFyZ2luLWxlZnQvcmlnaHQ6IGF1dG9gLiBBdXRvIHNpZGUgbWFyZ2lucyBvblxuICAgICAgICAvLyBhIGdyaWQgb3IgZmxleCBpdGVtIHN3aXRjaCBvZmYgc3RyZXRjaCBhbmQgbWFrZSB0aGUgYm94IHNocmluay10by1maXQgaXRzXG4gICAgICAgIC8vIG1heC1jb250ZW50IOKAlCB0aGUgd2hvbGUgcm93IG9mIHNsaWRlcyDigJQgd2hpY2ggU3dpcGVyIHRoZW4gcmVhZHMgb24gcmVzaXplIGFuZFxuICAgICAgICAvLyB3cml0ZXMgYmFjayB0byBldmVyeSBzbGlkZSwgaW5mbGF0aW5nIHRoZSB3aWR0aCBvbiBldmVyeSBzdWJzZXF1ZW50IHJlc2l6ZSB1bnRpbCBpdFxuICAgICAgICAvLyBjbGFtcHMgaW4gdGhlIG1pbGxpb25zLiBgbWluLXdpZHRoOiAwYCBhbG9uZSBkb2VzIE5PVCBmaXggaXQ7IHRoZSBhdXRvIG1hcmdpbnMgaGF2ZVxuICAgICAgICAvLyB0byBnby4gQ29uZmlybWVkIGluIENocm9taXVtLiBTZWUgdGhlIG1lbW9yeSBub3RlIFwiU3dpcGVyIGluIENTUyBncmlkIGJsb3dzIHVwIG9uXG4gICAgICAgIC8vIHJlc2l6ZVwiLlxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG4gICAgICAgIC8vIFN3aXBlciA0IHNldHMgaGVpZ2h0OjEwMCUgb24gc2xpZGVzOyBhdXRvIGxldHMgdGhlbSBzdHJldGNoIHRvIHRoZSB0YWxsZXN0IGluc3RlYWQsXG4gICAgICAgIC8vIHdoaWNoIGlzIHdoYXQga2VlcHMgZXZlcnkgc2xpZGUgdGhlIHNhbWUgaGVpZ2h0LlxuICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHNuei1jb250ZW50LWNhcm91c2VsLWNvbHVtbnM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1lZGlhXG5cbiAgICAmX19tZWRpYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLy8gU3RhY2tlZDogYSB3aWRlciA1OjMgYmFuZCwgbWF0Y2hpbmcgdGhlIG1vYmlsZSBjb21wLlxuICAgICAgICBhc3BlY3QtcmF0aW86IDUgLyAzO1xuXG4gICAgICAgIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogNSAvIDMpIHtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBCZXNpZGUgdGhlIGNvcHk6IHRoZSAxMDo3IGJveCBmcm9tIHRoZSBkZXNrdG9wIGNvbXAgKDY0OS44Njkgw5cgNDU3IOKJiCAxLjQyMjtcbiAgICAgICAgICAgIC8vIDEwOjcgPSAxLjQyODYgaXMgdGhlIG5lYXJlc3Qgc2ltcGxlIHJhdGlvLCAwLjUlIG9mZikuIGFsaWduLXNlbGYga2VlcHMgaXQgZnJvbVxuICAgICAgICAgICAgLy8gc3RyZXRjaGluZyB0byB0aGUgcm93IGhlaWdodCBzbyBpdCBob2xkcyBpdHMgcmF0aW87IHRoZSBib2R5IGNvbHVtbiBzdHJldGNoZXMuXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTAgLyA3O1xuXG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEwIC8gNykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGJvZHlcblxuICAgICZfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHNwYWNlKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBGaWxscyB0aGUgcm93IGhlaWdodCBzbyB0aGUgY29udGVudCBzaXRzIGF0IHRoZSB0b3AgYW5kIHRoZSBjb250cm9scy1lY2hvIGlzXG4gICAgICAgICAgICAvLyBwdXNoZWQgdG8gdGhlIGJvdHRvbSwgd2hlcmUgdGhlIG92ZXJsYWlkIGNvbnRyb2xzIGxhbmQuXG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiBzcGFjZSgyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHRhZ1xuXG4gICAgJl9fdGFnIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy8gQ29tcDogdGFnbGluZSB0byBydWxlIGlzIDVweCBvbiBkZXNrdG9wIC8gMTBweCBvbiBtb2JpbGUg4oCUIHNwYWNlKDgpIHNwbGl0cyB0aGUgdHdvXG4gICAgICAgIC8vIGFuZCBzdGF5cyBvbiB0aGUgc2NhbGUuXG4gICAgICAgIGdhcDogc3BhY2UoOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSg0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNlKDEwKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGFnbGluZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICZfX3J1bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIC8vIENvbXAgZHJhd3MgcmdiYSgwLDAsMCwwLjEpOyByZXVzaW5nICR0c256LWJvcmRlci1zdWJ0bGUgKDAuMDgpIGZvciBjb25zaXN0ZW5jeSB3aXRoXG4gICAgICAgIC8vIHRoZSBWaWRlbyBUZXN0aW1vbmlhbCBTbGlkZXIncyBydWxlLlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1ib3JkZXItc3VidGxlO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29weVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIC8vIFNlbWFudGljIDxoMz47IHRoZSBIMyB0b2tlbiBhbHJlYWR5IGdpdmVzIDI0LzI5IG1vYmlsZSDihpIgMzIvMzcgZGVza3RvcCwgRXh0cmFCb2xkLlxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBMZWFkIOKAlCB0aGUgY29tcCBzZXRzIDIwLzMyIGJvZHkgY29weSBvbiBkZXNrdG9wLlxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNudWc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGJ1dHRvblxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgLy8gQSBjb2x1bW4gc28gdGhlIGlubGluZS1mbGV4IEFjdGlvbiBCdXR0b24gc3RyZXRjaGVzIHRvIGZ1bGwgd2lkdGggb24gbW9iaWxlICh0aGVcbiAgICAgICAgLy8gY29tcCdzIGZ1bGwtd2lkdGggYnV0dG9uKTsgYSByb3cgZnJvbSBsYXJnZSBzbyBpdCB0YWtlcyBpdHMgbmF0dXJhbCB3aWR0aCwgbGVmdC5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb250cm9sc1xuXG4gICAgJl9fY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvLyBNb2JpbGUgc2hvd3MgZG90cyBvbmx5LCBjZW50cmVkOyBkZXNrdG9wIHBpbnMgZG90cyBsZWZ0LCBhcnJvd3MgcmlnaHQgYXQgdGhlIGJvdHRvbVxuICAgICAgICAvLyBvZiB0aGUgY29udGVudCBjb2x1bW4uXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgLy8gTXVzdCBtYXRjaCB0aGUgZWNobyBleGFjdGx5IOKAlCB0aGlzIGlzIHRoZSByZXNlcnZhdGlvbiB0aGUgY29weSBzaXRzIGFib3ZlLlxuICAgICAgICAgICAgbWluLWhlaWdodDogJHRzbnotY29udGVudC1jYXJvdXNlbC1jb250cm9scy1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250cm9scy1lY2hvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICR0c256LWNvbnRlbnQtY2Fyb3VzZWwtY29udHJvbHMtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogc3BhY2UoOCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIFJvdW5kIGRvdHMgcGVyIHRoZSBjb21wICgxMS41NjNweCk6IGFjdGl2ZSBpcyBhIGZpbGxlZCBCcmFuZCBZZWxsb3cgZGlzYywgaW5hY3RpdmUgYVxuICAgIC8vIE1lZCBHcmF5IHJpbmcuXG4gICAgJl9fYnVsbGV0IHtcbiAgICAgICAgd2lkdGg6IHNwYWNlKDEyKTtcbiAgICAgICAgaGVpZ2h0OiBzcGFjZSgxMik7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0c256LW1lZC1ncmF5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmcsXG4gICAgICAgICAgICBib3JkZXItY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgICAvLyBIaWRkZW4gb24gcGhvbmVzL3RhYmxldHMg4oCUIHRoZSBzdGFja2VkIGNvbXAgcGFnZXMgYnkgc3dpcGUgYW5kIHNob3dzIGRvdHMgb25seS5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSg4KTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6ICR0c256LWNvbnRlbnQtY2Fyb3VzZWwtY29udHJvbHMtaGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6ICR0c256LWNvbnRlbnQtY2Fyb3VzZWwtY29udHJvbHMtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nLCBvcGFjaXR5ICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgIC8vIGA6Zm9jdXMtdmlzaWJsZWAsIG5vdCBgOmZvY3VzYCDigJQgYSBjbGlja2VkIGFycm93IGtlZXBzIGZvY3VzLCBhbmQgb24gYDpmb2N1c2AgdGhlXG4gICAgICAgIC8vIGJsdWUgaG92ZXIgY29sb3VyIHdvdWxkIHN0aWNrIHVudGlsIHlvdSBjbGlja2VkIGVsc2V3aGVyZS5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN2Zy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiAuc3ZnLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN3aXBlcidzIG93biBkaXNhYmxlZC9oaWRkZW4gY2xhc3NlcywgcmVuYW1lZCBvbnRvIHRoZSBibG9jayBpbiB0aGUgSlMgb3B0aW9ucy5cbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEEgc2luZ2xlIHNsaWRlIGhhcyBub3RoaW5nIHRvIHBhZ2UgdGhyb3VnaC5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIC50c256LWNvbnRlbnQtY2Fyb3VzZWxfX2NvbnRyb2xzLFxuICAgICAgICAudHNuei1jb250ZW50LWNhcm91c2VsX19jb250cm9scy1lY2hvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBGcmFuY2hpc2UgQ2Fyb3VzZWwg4oCUIEVsZW1lbnRGcmFuY2hpc2VDYXJvdXNlbC5cbi8vXG4vLyBUaGUgYmxvY2sgcmVuZGVycyBpbiB0aGUgMi4wIEltYWdlIENhcm91c2VsIGxvb2ssIHJldXNpbmcgdGhhdCBjb21wb25lbnQncyBtYXJrdXAgKyBTQ1NTXG4vLyAoX2ltYWdlLWNhcm91c2VsLnNjc3MpIHdob2xlc2FsZSDigJQgaGVhZGVyLCBpbnRybywgbWVkaWEgZnJhbWUsIGxpZ2h0Ym94IGhvdmVyIG92ZXJsYXkgYW5kXG4vLyBjb250cm9scyBhbGwgY29tZSBmcm9tIHRoZXJlLiBUaGUgT05FIGRpZmZlcmVuY2UgaXMgdGhlIGZ1bGwtc2NyZWVuIHRyaWdnZXI6IHRoZSBmcmFuY2hpc2Vcbi8vIGdhbGxlcnkga2VlcHMgaXRzIGxlZ2FjeSBFMmdhbGxlcnkgbGlnaHRib3gsIHNvIGVhY2ggc2xpZGUncyBtZWRpYSBpcyBhIDxidXR0b24+IGNhcnJ5aW5nXG4vLyBgZGF0YS1nYWxsZXJ5LW9wZW5lcmAgaW5zdGVhZCBvZiB0aGUgbmF0aXZlIGAudHNuei1saWdodGJveGAgPGE+LiBUaGlzIHJlc2V0cyB0aGUgYnV0dG9uIHNvXG4vLyBpdCBsYXlzIG91dCBpZGVudGljYWxseSB0byB0aGUgYW5jaG9yIHZlcnNpb247IHRoZSAudHNuei1saWdodGJveCAvIF9fbWVkaWEgcnVsZXMgZG8gdGhlIHJlc3QuXG5cbi50c256LWltYWdlLWNhcm91c2VsX19tZWRpYS0tYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHpvb20taW47XG59XG4iLCIudHNuei1odWJzcG90LWZvcm0ge1xuICAgIGxlZ2VuZHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgaDN7XG4gICAgICAgIGNvbG9yOiNmZmYgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnN1Ym1pdHRlZC1tZXNzYWdle1xuICAgICAgICBoM3tcbiAgICAgICAgICAgIGNvbG9yOiMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIH1cblxuXG4gICAgLmhic3B0LWZvcm0ge1xuICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICAuaW5wdXQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmllbGRzZXQuZm9ybS1jb2x1bW5zLTIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDJyZW07XG5cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGdhcDogMHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhzLWZvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsLmhzLWVycm9yLW1zZyxcbiAgICAgICAgLmhzLWVycm9yLW1zZ3MgLmhzLW1haW4tZm9udC1lbGVtZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICAgIC5ocy1lcnJvci1tc2dzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAuaHMtaW5wdXR7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIDIuMCBuZXdzbGV0dGVyIOKAlCBTa3kgYmFuZCAoc2VlIF9uZXdzbGV0dGVyLnNjc3MpLiBXaGl0ZSByb3VuZGVkIGlucHV0cyBhbmQgYSByZWRcbiAgICAvLyBTaWduIFVwIGJ1dHRvbiwgc3RhY2tlZCBvbiBtb2JpbGUgYW5kIGluIGEgc2luZ2xlIHJvdyBvbiBkZXNrdG9wLiBIdWJTcG90IG93bnMgdGhlXG4gICAgLy8gbWFya3VwLCBzbyB0aGUgbGF5b3V0IGlzIGFjaGlldmVkIGJ5IGZsYXR0ZW5pbmcgaXRzIGZpZWxkc2V0cyAoZGlzcGxheTogY29udGVudHMpXG4gICAgLy8gaW50byBvbmUgZmxleCByb3cgcmF0aGVyIHRoYW4gYnkgY2hhbmdpbmcgdGhlIERPTS5cbiAgICAvL1xuICAgIC8vIDUwcHggY29udHJvbCBoZWlnaHQsIG1hdGNoaW5nIHRoZSBMYXJnZSBhY3Rpb24gYnV0dG9uLiBUZXh0IGlucHV0cyBzaXplIHRoZWlyIGJveFxuICAgIC8vIGZyb20gZm9udCBtZXRyaWNzIGFuZCBpZ25vcmUgbGluZS1oZWlnaHQsIHNvIGhlaWdodCBpcyBzZXQgZXhwbGljaXRseSBvbiBib3RoIHRoZVxuICAgIC8vIGlucHV0cyBhbmQgdGhlIGJ1dHRvbiB0byBrZWVwIHRoZW0gYWxpZ25lZDogMjQgKGxpbmUtaGVpZ2h0KSArIDLDl3NwYWNlKDEyKSArIDJweFxuICAgIC8vICgxcHggYm9yZGVycywgdHJhbnNwYXJlbnQgb24gdGhlIGJ1dHRvbikuXG4gICAgJi0tbmV3c2xldHRlciB7XG4gICAgICAgICRjb250cm9sLWhlaWdodDogcmVtLWNhbGMoMjQpICsgc3BhY2UoMTIpICogMiArIHJlbS1jYWxjKDIpO1xuICAgICAgICAkaW5wdXQtbWF4OiByZW0tY2FsYygyNjApOyAvLyAxNi4yNXJlbSDigJQgdW5ib3VuZCwgb2ZmLXNjYWxlLCBmcm9tIHRoZSBkZXNrdG9wIGNvbXBcblxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAuaGJzcHQtZm9ybSxcbiAgICAgICAgLmhzLWZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtLmhzLWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDE2KTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgZ2FwOiBzcGFjZSg4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZsYXR0ZW4gdGhlIGZpZWxkc2V0cyBzbyBlYWNoIGZpZWxkICsgdGhlIHN1Ym1pdCBhcmUgc2libGluZ3MgaW4gdGhlIGZsZXggcm93LlxuICAgICAgICAvLyBTZWxlY3RvcnMgY2FycnkgdGhlIGNvbHVtbiBjbGFzcyB0byBtYXRjaCB0aGUgYmFzZSBydWxlJ3Mgc3BlY2lmaWNpdHk7IGJlaW5nXG4gICAgICAgIC8vIGxhdGVyIGluIHRoZSBmaWxlLCB0aGV5IHdpbiB0aGUgdGllLlxuICAgICAgICAuaGJzcHQtZm9ybSBmaWVsZHNldC5mb3JtLWNvbHVtbnMtMSxcbiAgICAgICAgLmhic3B0LWZvcm0gZmllbGRzZXQuZm9ybS1jb2x1bW5zLTIge1xuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAuaGJzcHQtZm9ybSAuaHMtZm9ybS1maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkaW5wdXQtbWF4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBFbXB0eSBmaWVsZCBsYWJlbHMg4oCUIHRoZSBkZXNpZ24gaXMgcGxhY2Vob2xkZXItb25seS5cbiAgICAgICAgICAgID4gbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGJzcHQtZm9ybSAuaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHNwYWNlKDE2KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjEyKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICR0c256LXJhZGl1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IC8vIGNsZWFycyB0aGUgZ2xvYmFsIGJsdWUgdW5kZXJsaW5lIG9uIGZvcm0gaW5wdXRzXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNudWc7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0c256LW1lZC1ncmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCxcbiAgICAgICAgLmhic3B0LWZvcm0gLmhzX3N1Ym1pdCAuYWN0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaGJzcHQtZm9ybSAuaHNfc3VibWl0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZCBTaWduIFVwIOKAlCBMYXJnZSBhY3Rpb24tYnV0dG9uIGdlb21ldHJ5LCByZWQgZmlsbCAoYSBvbmUtb2ZmIGluIHRoZSBjb21wcykuXG4gICAgICAgIC5oYnNwdC1mb3JtIGlucHV0LmhzLWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHNwYWNlKDIwKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHRzbnotcmFkaXVzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRzbnotYnJhbmQtcmVkO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNsaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0c256LWR1cmF0aW9uLWZhc3QgJHRzbnotZWFzaW5nO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCR0c256LWJyYW5kLXJlZCwgOCUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEtlZXAgcmVDQVBUQ0hBIGluIHRoZSBET00gKG5lZWRlZCBmb3Igc3VibWlzc2lvbikgYnV0IG91dCBvZiB0aGUgZmxleCByb3cuXG4gICAgICAgIC5oYnNwdC1mb3JtIC5oc19yZWNhcHRjaGEge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmVkIGJvcmRlciBvbiBhbiBpbnZhbGlkIGZpZWxkLlxuICAgICAgICAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dC5pbnZhbGlkLFxuICAgICAgICAuaGJzcHQtZm9ybSBpbnB1dC5ocy1pbnB1dC5lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR0c256LWJyYW5kLXJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBlci1maWVsZCB2YWxpZGF0aW9uIG1lc3NhZ2U6IGxlZnQtYWxpZ25lZCB1bmRlciBpdHMgZmllbGQsIGRvZXNuJ3Qgc3RyZXRjaCB0aGVcbiAgICAgICAgLy8gcm93ICh0aGUgZmllbGRzIHN0YXkgdG9wLWFsaWduZWQgdmlhIGFsaWduLWl0ZW1zKS5cbiAgICAgICAgLmhic3B0LWZvcm0gLmhzLWVycm9yLW1zZ3Mge1xuICAgICAgICAgICAgbWFyZ2luOiBzcGFjZSg0KSAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaGJzcHQtZm9ybSAuaHMtZXJyb3ItbXNnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXJlZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpOyAvLyBTbWFsbFxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGZvcm0tbGV2ZWwgcm9sbHVwIChcIlBsZWFzZSBjb21wbGV0ZSBhbGwgcmVxdWlyZWQgZmllbGRzLlwiKSBpcyBhIGZsZXggc2libGluZ1xuICAgICAgICAvLyBvZiB0aGUgZmllbGRzIOKAlCBpdCB3b3VsZCB3ZWRnZSBpbnRvIHRoZSByb3cgbmV4dCB0byB0aGUgYnV0dG9uLiBUaGUgcGVyLWZpZWxkXG4gICAgICAgIC8vIG1lc3NhZ2VzIGFscmVhZHkgY292ZXIgaXQsIHNvIGRyb3AgdGhlIHN1bW1hcnkuXG4gICAgICAgIC5oYnNwdC1mb3JtIC5oc19lcnJvcl9yb2xsdXAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyAyLjAgRnJhbmNoaXNlIE9wcG9ydHVuaXRpZXMg4oCUIEh1YlNwb3QncyBuZXdlciBmb3JtIHJlbmRlcmVyIChgLmhzZmMtKmAsIGxvYWRlZCB2aWEgdGhlXG4gICAgLy8gZGV2ZWxvcGVyIGVtYmVkIGluIEZyYW5jaGlzZU9wcG9ydHVuaXR5Rm9ybS5zcykuIEh1YlNwb3Qgb3ducyB0aGUgbWFya3VwLCBzbyB0aGUgMi4wXG4gICAgLy8gbG9vayBpcyBhcHBsaWVkIGJ5IG92ZXJyaWRpbmcgaXRzIGNsYXNzZXMgcmF0aGVyIHRoYW4gcmV1c2luZyB0aGUgZ2xvYmFsIC50c256LWlucHV0IC9cbiAgICAvLyAudHNuei1hY3Rpb24tYnV0dG9uIGVsZW1lbnRzLiBWYWx1ZXMgYXJlIHJlcGxpY2F0ZWQgZnJvbSB0aG9zZSBlbGVtZW50cyDigJQgZmlsbGVkIGJveFxuICAgIC8vICgjZjZmNmY2IC8gMXB4ICNlNGU0ZTQgLyAxMHB4KSwgJHRzbnotYm9keSB0ZXh0LCAjRUQxQzI0IGVycm9ycywgYmx1ZSBhY3Rpb24gYnV0dG9uIOKAlFxuICAgIC8vIHRoZSBzYW1lIHJlcGxpY2F0ZS1ub3QtZXh0ZW5kIGFwcHJvYWNoIGFzIC0tbmV3c2xldHRlciBhYm92ZS5cbiAgICAmLS1mcmFuY2hpc2Utb3Bwb3J0dW5pdGllcyB7XG4gICAgICAgIC8vIEZpbGxlZC1ib3ggZ2VvbWV0cnksIHNoYXJlZCBieSB0ZXh0IGlucHV0cywgZHJvcGRvd24gdHJpZ2dlcnMgYW5kIHBob25lIGNvbnRyb2xzLlxuICAgICAgICAlaHNmYy1maWVsZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICR0c256LXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyAvLyBjbGVhcnMgdGhlIGxlZ2FjeSBibHVlIHVuZGVybGluZVxuICAgICAgICAgICAgY29sb3I6ICR0c256LWJvZHkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhzZmMtUmVuZGVyZXIge1xuICAgICAgICAgICAgaW5wdXQsIHNlbGVjdCwgcCwgc3BhbiwgbGFiZWwsIGRpdiwgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dC5oc2ZjLVRleHRJbnB1dCxcbiAgICAgICAgc2VsZWN0LmhzZmMtRHJvcGRvd25JbnB1dF9fSW5wdXQsXG4gICAgICAgIC5oc2ZjLURyb3Bkb3duSW5wdXQsXG4gICAgICAgIC5oc2ZjLVBob25lSW5wdXRfX0ZsYWdBbmRDYXJldCB7XG4gICAgICAgICAgICBAZXh0ZW5kICVoc2ZjLWZpZWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQuaHNmYy1UZXh0SW5wdXQge1xuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgJjo6LW1vei1wbGFjZWhvbGRlcixcbiAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRzbnotYm9keTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oc2ZjLURyb3Bkb3duSW5wdXRfX0NhcmV0IHtcbiAgICAgICAgICAgIGhlaWdodDogNDNweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIFBob25lIGZpZWxkOiB0aGUgZmxhZy9jYXJldCBib3ggY2FycmllZCBhIGZpeGVkIGhlaWdodCB0aGF0IGxlZnQgaXQgc2hvcnRlciB0aGFuXG4gICAgICAgIC8vIHRoZSBmaWxsZWQtYm94IG51bWJlciBpbnB1dCBiZXNpZGUgaXQuIFN0cmV0Y2ggaXQgdG8gdGhlIGlucHV0J3MgaGVpZ2h0IGluc3RlYWQgc29cbiAgICAgICAgLy8gdGhlIHR3byBib3hlcyBsaW5lIHVwIHRvcCBhbmQgYm90dG9tLlxuICAgICAgICAuaHNmYy1QaG9uZUlucHV0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBnYXA6IHNwYWNlKDgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmhzZmMtUGhvbmVJbnB1dF9fRmxhZ0FuZENhcmV0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhzZmMtUmljaFRleHQgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyBFdmVuIHZlcnRpY2FsIHJoeXRobSB2aWEgZ2FwIOKAlCB0aGUgcm93cyBjb250YWluZXIgb3ducyB0aGUgc3BhY2luZyBiZXR3ZWVuIHJvd3NcbiAgICAgICAgLy8gcmF0aGVyIHRoYW4gZWFjaCBmaWVsZCdzIG93biBtYXJnaW4sIHRoZSBzYW1lIGFzIHRoZSAtLWNvbnRhY3QtbnogZm9ybS5cbiAgICAgICAgLmhzZmMtU3RlcCAuaHNmYy1TdGVwX19Db250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiBzcGFjZSgyNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmhzZmMtU3RlcF9fQmFubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAvLyAuaHNmYy1Sb3cgZ2FwIGRyaXZlcyB0aGUgaG9yaXpvbnRhbCAobXVsdGktY29sdW1uKSBsYXlvdXQ7IHZlcnRpY2FsIHNwYWNpbmcgaXMgdGhlXG4gICAgICAgIC8vIGNvbnRhaW5lcidzIGdhcCwgc28gemVybyB0aGUgcm93L2ZpZWxkIGJvdHRvbSBtYXJnaW5zLlxuICAgICAgICAuaHNmYy1Sb3cge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBnYXA6IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vIFdoZW4gdGhlIGNvbHVtbnMgc3RhY2sgKG1vYmlsZSksIHRoZSByb3cncyBnYXAgYmVjb21lcyB0aGUgdmVydGljYWwgZ2FwXG4gICAgICAgICAgICAvLyBiZXR3ZWVuIHRoZSBub3ctc3RhY2tlZCBmaWVsZHMg4oCUIG1hdGNoIHRoZSBjb250YWluZXIncyBzcGFjZSgyNCkgcmh5dGhtIHNvIGl0XG4gICAgICAgICAgICAvLyBkb2Vzbid0IGNvbGxhcHNlIHRvIG5vdGhpbmcuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjlweCkge1xuICAgICAgICAgICAgICAgIGdhcDogc3BhY2UoMjQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhzZmMtVGV4dElucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5hdiAvIHN1Ym1pdCDigJQgMi4wIGJsdWUgYWN0aW9uIGJ1dHRvbiAoU2Vjb25kYXJ5IHN0eWxlOiBibHVlIGZpbGwsIHdoaXRlIGxhYmVsLFxuICAgICAgICAvLyAxMHB4IHJhZGl1cywgdXBwZXJjYXNlKS4gTWF0Y2hlcyB0aGUgY29udGFjdCBmb3JtJ3MgU2VuZCBNZXNzYWdlLiBTaXplZCB0byBpdHNcbiAgICAgICAgLy8gbGFiZWwgYW5kIGxlZnQtYWxpZ25lZCB1bmRlciB0aGUgZmllbGRzIOKAlCAyLjAgYWN0aW9uIGJ1dHRvbnMgYXJlIGlubGluZSwgbm90XG4gICAgICAgIC8vIGZ1bGwtYmxlZWQuIGlubGluZS1mbGV4IChub3QganVzdCB3aWR0aDphdXRvKSBpcyByZXF1aXJlZDogSHViU3BvdCByZW5kZXJzIHRoZVxuICAgICAgICAvLyBidXR0b24gZGlzcGxheTpibG9jaywgd2hlcmUgd2lkdGg6YXV0byBzdGlsbCBmaWxscyB0aGUgcm93LlxuICAgICAgICAuaHNmYy1OYXZpZ2F0aW9uUm93X19CdXR0b25zIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuaHNmYy1CdXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEzKSBzcGFjZSgyMCkgIWltcG9ydGFudDsgLy8gTGFyZ2UgYWN0aW9uLWJ1dHRvbiBoZWlnaHRcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHRzbnotcmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0c256LXRyYWNraW5nLXNsaWdodDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRzbnotZHVyYXRpb24tZmFzdCAkdHNuei1lYXNpbmc7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHNuei1icmFuZC1ibHVlLWhvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaHNmYy1Sb3cgLmhzZmMtRmllbGRMYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhzZmMtRXJyb3JBbGVydCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICR0c256LWJyYW5kLXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmhzZmMtTmF2aWdhdGlvblJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBDb250YWluZXIgaW5zZXQg4oCUIGEgZGV2ZWxvcGVyIGZsYWcsIG5vdCBhIENNUyBvcHRpb24uXG4vL1xuLy8gQWRkcyBzcGFjZSgzMikgb24gdG9wIG9mIHRoZSA2NHB4IHBhZ2UgZ3V0dGVyIGF0IGBsYXJnZWAsIHNvIGFuIGluc2V0IGVkZ2UgaXMgNnJlbVxuLy8gcmF0aGVyIHRoYW4gNHJlbS4gQWRkIGl0IGFsb25nc2lkZSB0aGUgY29udGFpbmVyIGNsYXNzIGluIHRoZSBibG9jaydzIHRlbXBsYXRlOlxuLy9cbi8vICAgICA8ZGl2IGNsYXNzPVwidHNuei1mb29fX2NvbnRhaW5lciB0c256LWNvbnRhaW5lci0taW5zZXRcIj4gICAgICAgIGJvdGggZWRnZXMg4oaSIDEyNDhcbi8vICAgICA8ZGl2IGNsYXNzPVwidHNuei1mb29fX2NvbnRhaW5lciB0c256LWNvbnRhaW5lci0taW5zZXQtbGVmdFwiPiAgIGxlZnQgb25seSAg4oaSIDEyODBcbi8vICAgICA8ZGl2IGNsYXNzPVwidHNuei1mb29fX2NvbnRhaW5lciB0c256LWNvbnRhaW5lci0taW5zZXQtcmlnaHRcIj4gIHJpZ2h0IG9ubHkg4oaSIDEyODBcbi8vXG4vLyBBIGJsb2NrIHRoYXQgd291bGQgcmF0aGVyIG5vdCBjYXJyeSB0aGUgY2xhc3MgY2FuIEBpbmNsdWRlIHRzbnotY29udGFpbmVyLWluc2V0KGxlZnQpXG4vLyBpbiBpdHMgb3duIHBhcnRpYWwgaW5zdGVhZCDigJQgc2FtZSByZXN1bHQsIGFuZCBpdCB0YWtlcyBhIHNjYWxlIHN0ZXAgYXMgYSBzZWNvbmRcbi8vIGFyZ3VtZW50IGlmIDMyIGlzIHdyb25nLlxuLy9cbi8vIOKaoO+4jyBUSElTIEZJTEUgTVVTVCBTVEFZIExBU1QgSU4gYXBwLnNjc3MuXG4vLyBJdCBkZWxpYmVyYXRlbHkgb3ZlcnJpZGVzIHRoZSBwYWRkaW5nIGEgY29tcG9uZW50J3Mgb3duIGBfX2NvbnRhaW5lcmAgcnVsZSBlbWl0cyAodGhhdFxuLy8gaXMgd2hlcmUgYEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyYCBwdXRzIGl0KS4gQm90aCBhcmUgc2luZ2xlLWNsYXNzIHNlbGVjdG9ycywgc28gdGhlXG4vLyBvbmx5IHRoaW5nIHRoYXQgZGVjaWRlcyB0aGUgd2lubmVyIGlzIHNvdXJjZSBvcmRlci4gTW92aW5nIHRoaXMgaW1wb3J0IHVwIG1ha2VzIHRoZXNlXG4vLyBjbGFzc2VzIHNpbGVudGx5IHN0b3Agd29ya2luZyDigJQgbm8gZXJyb3IsIHRoZSBwYWRkaW5nIGp1c3QgZG9lc24ndCBjaGFuZ2UuXG5cbi50c256LWNvbnRhaW5lci0taW5zZXQge1xuICAgIEBpbmNsdWRlIHRzbnotY29udGFpbmVyLWluc2V0KGJvdGgpO1xufVxuXG4udHNuei1jb250YWluZXItLWluc2V0LWxlZnQge1xuICAgIEBpbmNsdWRlIHRzbnotY29udGFpbmVyLWluc2V0KGxlZnQpO1xufVxuXG4udHNuei1jb250YWluZXItLWluc2V0LXJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0c256LWNvbnRhaW5lci1pbnNldChyaWdodCk7XG59XG4iXX0= */
