@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

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

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

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

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

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
  overflow: hidden; }

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

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

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  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; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

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

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

/**
     * Add the correct display in IE.
     */
template {
  display: none; }

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "neue-haas-unica", sans-serif, "Lato", sans-serif, "Libre Baskerville", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #003813;
  -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 {
  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: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

.grid-x {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-flex: 0 0 auto;
        -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 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, 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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .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.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

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

.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.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .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: 40em) {
  .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: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

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

@media print, 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 print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, 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.625rem); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, 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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: 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-stype: -ms-autohiding-scrollbar; }

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

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

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: 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-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: 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-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

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

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

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

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

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

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

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.6;
  text-rendering: optimizeLegibility; }

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "neue-haas-unica", sans-serif, "Lato", sans-serif, "Libre Baskerville", serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  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: #cacaca; }

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #009640;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #008137; }
  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 #cacaca;
  border-left: 0; }

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, 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.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

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

figure {
  margin: 0; }

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

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

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

.lead {
  font-size: 125%;
  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: 40em) {
  .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 print, 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;
    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 #8a8a8a;
    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; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #009640;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #008036;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #009640;
    color: #0a0a0a; }
    .button.primary:hover, .button.primary:focus {
      background-color: #007833;
      color: #0a0a0a; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #009640;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #009640;
        color: #0a0a0a; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #767676;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #0a0a0a; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #0a0a0a; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #009640;
    color: #009640; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #004b20;
      color: #004b20; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #009640;
        color: #009640; }
    .button.hollow.primary {
      border: 1px solid #009640;
      color: #009640; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #004b20;
        color: #004b20; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #009640;
          color: #009640; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #009640;
    color: #009640; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #004b20;
      color: #004b20; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #009640;
        color: #009640; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #009640;
      color: #009640; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #004b20;
        color: #004b20; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #009640;
          color: #009640; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #009640; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #009640; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, a.button:focus {
  text-decoration: none; }

[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;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  transition: box-shadow 0.5s, 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 #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

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

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

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

[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: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

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

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: 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-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -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 {
    height: auto;
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            align-self: stretch;
    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 #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  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%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, 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 #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

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

.accordion {
  margin-left: 0;
  background: #fefefe;
  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.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #009640; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #003813; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 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: #fefefe transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.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);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-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;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-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;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #009640;
  color: #fefefe; }
  .badge.primary {
    background: #009640;
    color: #0a0a0a; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #009640; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #009640;
    color: #0a0a0a; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #007833;
      color: #0a0a0a; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #003813; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #c9ffe0;
    color: #003813; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #003813; }
  .callout.success {
    background-color: #e1faea;
    color: #003813; }
  .callout.warning {
    background-color: #fff3d9;
    color: #003813; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #003813; }
  .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-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #003813; }
  .card > :last-child {
    margin-bottom: 0; }

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

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

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

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .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-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -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: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: 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: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -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-flex-flow: row nowrap;
        -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-flex-flow: column nowrap;
        -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 {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -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 {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #009640;
    color: #fefefe; }
  .menu .active > a {
    background: #009640;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-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-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

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

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  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%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #009640; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #009640; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #009640 transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #009640 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #009640 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #e6e6e6; }

.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 {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  right: auto;
  left: 5px;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #009640 transparent transparent; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #009640; }

@media print, screen and (min-width: 40em) {
  .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-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #009640 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #009640 transparent transparent; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #009640; } }

@media print, 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-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #009640 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #009640 transparent transparent; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #009640; } }

.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: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    right: auto;
    left: 5px;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #009640 transparent transparent; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #009640; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .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: #009640;
  color: #fefefe; }
  .label.primary {
    background: #009640;
    color: #0a0a0a; }
  .label.secondary {
    background: #767676;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  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;
  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: #2C3840; }
  [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 {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  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: #2C3840; }
  [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 {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  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);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .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 {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .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 {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #009640;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #009640; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #009640; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #009640;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #008036; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  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: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 90rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 90rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 90rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 90rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #009640; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #003813; }
  tfoot {
    background: #f1f1f1;
    color: #003813; }
  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: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media screen and (max-width: 63.9375em) {
  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: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

table.hover tbody tr:hover {
  background-color: #f9f9f9; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec; }

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -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: #009640; }
  .tabs.primary > li > a {
    color: #0a0a0a; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #00a848; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #009640; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #008137; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #009640; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #003813;
  transition: all 0.5s ease; }

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

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

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(0, 150, 64, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #2C3840;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

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

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #2C3840; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 63.9375em), 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;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

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

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

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

@media print, screen and (min-width: 40em) {
  .mobile-menu,
  .site-title-bar {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .desktop-menu,
  .site-navigation .top-bar-left {
    display: none !important; } }

.site-desktop-title a {
  font-weight: bold; }

.mobile-menu {
  display: none; }

.off-canvas > ul.menu {
  height: 100vh;
  padding: 1rem; }
  .off-canvas > ul.menu a {
    color: #fefefe;
    font-weight: 600;
    font-size: 0.9375rem; }

.off-canvas .menu .active > a {
  background-color: #ccc; }

.title-bar-title a {
  font-size: 1rem;
  color: #B9B9B9; }

.mobile-menu .menu .is-active > a,
.mobile-off-canvas-menu .menu .is-active > a {
  background-color: #36454f; }

.top-bar .top-bar-title a {
  font-size: 1rem;
  color: #B9B9B9;
  padding-left: 1rem;
  line-height: 1.8; }

.top-bar .menu a {
  color: #e6e6e6;
  padding-top: 0;
  padding-bottom: 0;
  font-weight: bold;
  font-size: 0.8rem;
  line-height: 1; }
  .top-bar .menu a:hover:not(.button) {
    background-color: #42525D; }

.top-bar .menu .active > a {
  background-color: #ccc; }

.top-bar .menu > li:not(.menu-text) > a {
  padding: 1rem; }

.top-bar .menu li:not(:last-child) {
  border-right: 1px solid #4e4e4e; }

.top-bar .dropdown.menu .submenu {
  border: 0; }

.top-bar .dropdown.menu .has-submenu.is-down-arrow a {
  padding-right: 1rem; }

.top-bar .dropdown.menu .has-submenu.is-down-arrow > a::after {
  border: 0; }

.top-bar .dropdown.menu:first-child > li.is-dropdown-submenu-parent > a::after {
  display: none; }

@media screen and (max-width: 39.9375em) {
  .site-navigation {
    padding: 0; } }

.post-navigation::before, .post-navigation::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.post-navigation::after {
  clear: both; }

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

.main-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .main-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.main-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .main-grid {
      margin-top: 3rem; } }
  .main-grid.sidebar-left .main-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-grid.sidebar-left .sidebar {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  @media print, screen and (min-width: 40em) {
    .main-grid.sidebar-left .main-content {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .main-grid.sidebar-left .sidebar {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }
  .main-grid .main-content-full-width {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .main-grid .main-content {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .main-grid .main-content {
        width: calc(66.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .main-grid .sidebar {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .main-grid .sidebar {
        width: calc(33.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-top: 1rem; } }

.footer-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin: 0 auto;
  border-top: 1px solid #cacaca;
  margin-top: 3.75rem; }
  @media print, screen and (min-width: 40em) {
    .footer-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.footer-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  padding: 1.875rem 0; }
  .footer-grid section {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .footer-grid section {
        -webkit-flex: 1 1 0px;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
        width: auto;
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .footer-grid ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }

body#tinymce {
  height: auto;
  max-width: 90rem;
  padding: 1.25rem !important; }

.sites-button {
  background: #009640;
  font-size: 1.25rem;
  font-weight: bold;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
  border-radius: 3px;
  border: none; }

.cards-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .cards-container .card {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    .cards-container .card .card-content {
      padding: 1rem; }
    @media print, screen and (min-width: 40em) {
      .cards-container .card {
        width: calc(33.33333% - 0.7rem);
        margin-right: 0.35rem;
        margin-left: 0.35rem; } }

.featured-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 6.25rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero {
      height: 12.5rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero {
      height: 25rem; } }

.dotted, .section-divider hr {
  border-style: dashed;
  margin: 2rem 0; }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

.front-hero {
  background: url("../images/demo/hero-bg-foundation-6-small.svg") bottom center;
  background-size: cover;
  background-position: bottom;
  padding: 4.0625rem 0;
  margin: 0 0 2rem;
  height: auto;
  position: relative;
  text-align: left; }
  .front-hero .marketing {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 55rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media print, screen and (min-width: 40em) {
      .front-hero .marketing {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .front-hero {
      background: url("../images/demo/hero-bg-foundation-6-large.svg") bottom center;
      background-size: cover;
      background-position: center;
      height: 42.8125rem;
      margin: 0 0 4.5rem; } }
  .front-hero .watch {
    width: calc(58.33333% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .watch {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .front-hero .watch a {
      color: #B4C9D1;
      cursor: pointer;
      font-weight: 400;
      margin-right: 1.25rem; }
    .front-hero .watch a:hover {
      color: #fff; }
    .front-hero .watch #stargazers :before {
      content: "\f09b";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
    .front-hero .watch #twitter :before {
      content: "\f099";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
  .front-hero .tagline {
    width: calc(66.66667% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .tagline {
        width: calc(41.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        padding-top: 6rem; } }
  .front-hero h1 {
    color: #fff;
    font-weight: 500;
    font-size: 2.2rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero h1 {
        font-size: 2.875rem; } }
  .front-hero h4 {
    color: #fefefe;
    font-weight: 300;
    font-size: 1.3125rem; }
  .front-hero .download {
    margin-top: 1.25rem; }

.intro {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .intro {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .intro .fp-intro {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .intro .fp-intro {
        width: calc(83.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-left: calc(8.33333% + 0.625rem); }
        .intro .fp-intro h2 {
          font-weight: 300;
          margin-bottom: 1.5rem; }
        .intro .fp-intro h4 {
          font-size: 1.125rem;
          line-height: 1.6;
          color: #777;
          margin-bottom: 2rem; } }

.section-divider {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .section-divider {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .section-divider hr {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    box-sizing: border-box; }

.benefits {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 90rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .benefits {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .benefits header {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    .benefits header h2 {
      font-weight: 300; }
    .benefits header h4 {
      font-size: 1.125rem;
      line-height: 1.6;
      color: #777; }
  .benefits .semantic,
  .benefits .responsive,
  .benefits .customizable,
  .benefits .professional {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .benefits .semantic,
      .benefits .responsive,
      .benefits .customizable,
      .benefits .professional {
        width: calc(25% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .benefits .semantic img,
    .benefits .responsive img,
    .benefits .customizable img,
    .benefits .professional img {
      padding: 1.25rem;
      margin: 1rem auto 0 auto; }
    .benefits .semantic h3,
    .benefits .responsive h3,
    .benefits .customizable h3,
    .benefits .professional h3 {
      color: #0a0a0a;
      font-weight: 300;
      font-size: 1.75rem; }
    .benefits .semantic p,
    .benefits .responsive p,
    .benefits .customizable p,
    .benefits .professional p {
      font-size: 0.9375rem; }
  .benefits .why-foundation {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin-top: 4rem; }

.kitchen-sink-header {
  width: calc(100% - 1.875rem);
  margin-right: 0.9375rem;
  margin-left: 0.9375rem; }

.kitchen-sink-components {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  .kitchen-sink-components hr {
    margin: 3rem 0; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-components {
      width: calc(75% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.kitchen-sink-nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-nav {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      display: block;
      float: right; }
      .kitchen-sink-nav .docs-sub-menu {
        font-size: 0.85rem;
        margin-top: 1rem; }
      .kitchen-sink-nav .docs-menu-title {
        text-transform: uppercase;
        font-size: 0.75rem;
        color: #8a8a8a;
        font-weight: bold;
        line-height: 1;
        padding-left: 0.9rem;
        margin-bottom: 0.5rem;
        border-top: 1px solid #cacaca;
        margin-top: 1rem;
        padding-top: 1.5rem; }
      .kitchen-sink-nav .docs-toc {
        width: 100%;
        padding-left: 4rem;
        padding-right: 1rem; }
      .kitchen-sink-nav .docs-toc .active {
        background: #2199e8;
        color: white; }
      .kitchen-sink-nav .docs-toc .docs-sub-menu:first-child .docs-menu-title {
        margin-top: 0;
        border-top: 0;
        padding-top: 0; } }

.kitchen-sink-grid .grid-x {
  background: #d6ecfa;
  font-size: 12px;
  line-height: 2rem;
  margin-bottom: 1.5rem; }
  .kitchen-sink-grid .grid-x .cell, .kitchen-sink-grid .grid-x :nth-child(odd) {
    background: #7bc1ef;
    color: #0a0a0a; }
  .kitchen-sink-grid .grid-x .cell:nth-child(even) {
    background: #1779ba;
    color: #fefefe; }

.grid-margin-x {
  padding-top: 1.5rem;
  padding-bottom: 3rem; }

.grid-container {
  padding-left: 2em;
  padding-right: 2em; }
  @media screen and (max-width: 63.9375em) {
    .grid-container {
      padding-left: 1.5em;
      padding-right: 1.5em; } }
  @media screen and (max-width: 39.9375em) {
    .grid-container {
      padding-left: 1.5em;
      padding-right: 1.5em; } }

.page-id-436 .header-fixed {
  position: absolute; }

.grid-margin-x {
  padding-bottom: 2em; }

.full-width-bg {
  background-color: #e6e6e6; }
  .full-width-bg .grid-margin-x {
    padding-top: 5rem;
    padding-bottom: 5rem;
    margin-bottom: 3rem;
    margin-top: 3rem; }

.default-page {
  position: relative; }

.dark-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.54);
  z-index: 9999999; }

.background-color {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 99; }

.background-cover {
  background-size: cover;
  overflow: hidden;
  background-position: center; }

.swiper-wrapper.disabled {
  -webkit-transform: translate3d(0px, 0, 0) !important;
          transform: translate3d(0px, 0, 0) !important; }

.swiper-pagination.disabled {
  display: none; }

.small-padding {
  padding: 3em 0em; }
  @media screen and (max-width: 63.9375em) {
    .small-padding {
      padding: 2em 0em; } }
  @media screen and (max-width: 39.9375em) {
    .small-padding {
      padding: 1.5em 0em; } }

:focus {
  outline: 0; }

.medium-padding {
  padding: 3em 0em; }
  @media screen and (max-width: 63.9375em) {
    .medium-padding {
      padding: 3em 0em; } }
  @media screen and (max-width: 39.9375em) {
    .medium-padding {
      padding: 1.5em 0em; } }

.large-padding {
  padding: 7em 0em; }
  @media screen and (max-width: 63.9375em) {
    .large-padding {
      padding: 5em 0em; } }
  @media screen and (max-width: 39.9375em) {
    .large-padding {
      padding: 1.5em 0em; } }

.aos-opacity {
  opacity: 0; }
  @media screen and (max-width: 63.9375em) {
    .aos-opacity {
      opacity: 1; } }

/* IE10+ CSS styles go here */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .large-hero-slider .main-content {
    margin-top: 20%; }
  .hero-content-container {
    margin-top: 20% !important; }
  .large-hero-slider .swiper-container .full-height-slide .full-background-image {
    -webkit-animation: none !important;
            animation: none !important; }
  .swiper-container .small-height-slide .full-background-image {
    -webkit-animation: none !important;
            animation: none !important; } }

.button {
  padding: 21px 22px;
  font-size: 18px;
  font-weight: bold;
  display: block;
  margin-top: 2em;
  position: relative;
  padding-right: 48px;
  text-align: left;
  background-color: #fff;
  border: 2px solid #00E600;
  color: #009640 !important;
  text-decoration: none !important; }
  .button:after {
    content: '';
    position: absolute;
    right: 22px;
    top: 27px;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #009640;
    clear: both; }
  .button:hover {
    background-color: #f6faf6;
    cursor: pointer; }

.default-page {
  overflow: hidden; }

.breadcrumb {
  margin: 2em 0 1.5em 0;
  color: #9dd6b4;
  font-size: 18px; }
  .breadcrumb hr {
    border: 0;
    border-bottom: 1px solid #9dd6b4;
    display: inline-block;
    width: 80px;
    height: 1em;
    margin: 0;
    margin-right: 10px; }
  .breadcrumb a {
    display: inline;
    color: #9dd6b4; }

.get-in-touch-container {
  padding: 10px 24px;
  position: fixed;
  bottom: 55px;
  z-index: 999996;
  left: -55px;
  background-color: #00e600;
  font-weight: 500;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  display: block;
  font-size: 14px; }
  .get-in-touch-container a {
    color: #003813; }
  .get-in-touch-container span {
    margin-right: 10px; }
  .get-in-touch-container img {
    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
    width: 12px; }

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

.swiper-btn-next, .swiper-btn-prev {
  cursor: pointer;
  text-align: center;
  font-size: 1em;
  line-height: 2em;
  display: inline-block;
  background: #00E600;
  border: 1px solid #fff;
  width: 2em;
  height: 2em;
  color: #fff; }

.ktn-submenu {
  position: relative;
  background: #005326;
  color: #003813;
  padding: 2em;
  margin: 0;
  font-size: 1.1rem;
  text-align: center; }
  .ktn-submenu ul {
    max-width: 102.5rem;
    margin: auto;
    padding: 0.6em 1em;
    display: inline-block; }
    .ktn-submenu ul li {
      display: inline-block; }
      .ktn-submenu ul li:last-child a {
        border-right: 0px; }
  .ktn-submenu a {
    padding: 0 2em;
    color: #fff;
    text-align: center;
    font-size: 19px;
    border-right: 1px solid #003813; }
    .ktn-submenu a:hover {
      color: #00E600; }
  .ktn-submenu a.selected {
    color: #00E600;
    font-weight: bold; }

.ktn-sections {
  background: #F5FAF6;
  padding: 2em 0; }
  .ktn-sections .text-container {
    padding: 2em 2em 2em 0;
    color: #7c7c7c; }
    .ktn-sections .text-container h2 {
      color: #009640; }

.sub-header {
  font-size: 19px;
  font-weight: 500;
  padding-left: 4em;
  margin-bottom: 2em;
  position: relative;
  color: #8e8e8e; }
  .sub-header:before {
    content: "";
    position: absolute;
    height: 3px;
    width: 3em;
    left: 0;
    bottom: 6px;
    border-bottom: 1px solid #8e8e8e; }

.sub-header-text {
  margin-top: -1.5em;
  color: #8e8e8e; }

.swiper-button-next {
  background-color: #00E600 !important;
  background-size: 10px !important;
  width: 45px !important;
  height: 45px !important; }

.swiper-button-prev {
  background-color: #00E600 !important;
  background-size: 10px !important;
  width: 45px !important;
  height: 45px !important; }

.default-link {
  color: #00E600;
  text-decoration: underline;
  position: relative;
  padding-right: 30px;
  font-size: 16px; }
  .default-link:after {
    content: '';
    position: absolute;
    right: 12px;
    top: 10px;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #00E600;
    clear: both; }

.addtothis {
  margin-top: 2em; }
  .addtothis .sub-title {
    margin-bottom: 14px !important; }

.small-hero {
  z-index: 999;
  position: relative; }
  .small-hero .grid-container {
    max-width: 100%;
    padding: 0px; }
    .small-hero .grid-container .text-container {
      background-color: white; }
      .small-hero .grid-container .text-container h1, .small-hero .grid-container .text-container p {
        color: #009640; }
      .small-hero .grid-container .text-container a.link {
        color: #00E600;
        display: block;
        margin-top: 1em;
        text-decoration: underline;
        font-weight: bold; }
    .small-hero .grid-container .image-container {
      background-size: cover;
      background-position: center; }
    .small-hero .grid-container .image-container {
      min-height: 65vh; }
    .small-hero .grid-container .text-container {
      padding: 4% 3em 6%;
      background-color: #F5FAF6;
      min-height: 65vh; }
      .small-hero .grid-container .text-container .subheading {
        font-size: 20px; }
    .small-hero .grid-container .text-container .content {
      max-width: 600px;
      float: right;
      position: relative;
      width: 100%;
      padding: 0em 1em; }
      .small-hero .grid-container .text-container .content span {
        padding-left: 34%;
        position: relative;
        font-size: 18px;
        display: block;
        margin-bottom: 2em;
        margin-top: 3em;
        color: #d6d6d6; }
        .small-hero .grid-container .text-container .content span:before {
          height: 10px;
          width: 30%;
          content: "";
          position: absolute;
          left: 0;
          background-color: #d6d6d6;
          bottom: 10px; }
      .small-hero .grid-container .text-container .content .logo {
        display: block;
        margin-bottom: 2em; }
      .small-hero .grid-container .text-container .content .main-hero-content {
        position: relative;
        z-index: 999999; }
        .small-hero .grid-container .text-container .content .main-hero-content h1 {
          font-weight: 400; }
        .small-hero .grid-container .text-container .content .main-hero-content strong {
          font-weight: bold; }
        .small-hero .grid-container .text-container .content .main-hero-content p strong {
          font-size: 25px;
          font-weight: 400; }
    .small-hero .grid-container .image-container {
      position: relative; }
      .small-hero .grid-container .image-container .background-gradient {
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
        /* FF3.6-15 */
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
        /* IE6-9 */
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0; }

.smaller-hero {
  background-color: #f5faf6; }
  .smaller-hero .green-bar {
    height: 100px;
    background-color: #009640;
    z-index: 999999;
    position: fixed;
    top: 0;
    width: 100%; }
    .smaller-hero .green-bar .logo-container {
      max-width: 102em;
      margin: auto;
      display: block;
      padding: 0em 2.5em; }
      .smaller-hero .green-bar .logo-container .logo {
        margin-bottom: -130px; }
  .smaller-hero .hide-green-bar {
    opacity: 0; }
  .smaller-hero .grid-container {
    margin-top: 100px;
    position: relative;
    z-index: 9999;
    max-width: 90rem; }
    .smaller-hero .grid-container .text-container {
      padding: 2em 0em 5em;
      min-height: 0px; }
  .smaller-hero .grid-container .text-container .content {
    float: left;
    max-width: 80%; }

.large-hero {
  z-index: 999;
  position: relative; }
  .large-hero .vimeo-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    z-index: 9;
    background-color: black; }
  .large-hero .vimeo-wrapper iframe {
    width: 100vw;
    height: 56.25vw;
    /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
    min-height: 100vh;
    min-width: 190.77vh;
    /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .large-hero .grid-container {
    max-width: 100%;
    padding: 0px; }
    .large-hero .grid-container .text-container {
      background-color: white; }
      .large-hero .grid-container .text-container h1, .large-hero .grid-container .text-container p {
        color: #009640; }
      .large-hero .grid-container .text-container h1 {
        font-size: 48px;
        line-height: 58px; }
    .large-hero .grid-container .image-container {
      background-size: cover;
      background-position: center; }
    .large-hero .grid-container .text-container {
      padding: 4% 3em;
      background-color: #F5FAF6;
      position: relative; }
    .large-hero .grid-container .text-container .content {
      max-width: 650px;
      float: right;
      position: relative;
      width: 100%;
      padding: 0em 7em 12em 1em; }
      .large-hero .grid-container .text-container .content .circle-device {
        background-image: url("/wp-content/themes/FoundationPress/dist/assets/images/home/circle-device.png");
        position: absolute;
        height: 770px;
        width: 770px;
        top: 3em;
        bottom: 0;
        z-index: 9999;
        right: -79%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        display: none; }
      .large-hero .grid-container .text-container .content span {
        padding-left: 34%;
        position: relative;
        font-size: 18px;
        display: block;
        margin-bottom: 2em;
        margin-top: 3em;
        color: #d6d6d6; }
        .large-hero .grid-container .text-container .content span:before {
          height: 1px;
          width: 30%;
          content: "";
          position: absolute;
          left: 0;
          background-color: #d6d6d6;
          bottom: 10px; }
      .large-hero .grid-container .text-container .content .logo {
        display: block;
        margin-bottom: 2em; }
      .large-hero .grid-container .text-container .content .main-hero-content {
        position: relative;
        z-index: 999999;
        background-color: #F5FAF6;
        padding-top: 1em; }
    .large-hero .grid-container .image-container {
      position: relative; }
      .large-hero .grid-container .image-container .background-gradient {
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.65+100 */
        /* FF3.6-15 */
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
        /* IE6-9 */
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0; }
    .large-hero .grid-container .image-container .content {
      float: left;
      position: relative;
      height: 100%;
      width: 100%; }
      .large-hero .grid-container .image-container .content .live-now-container {
        position: absolute;
        bottom: 0px;
        right: 0; }
        .large-hero .grid-container .image-container .content .live-now-container .image {
          height: 70px;
          width: 70px;
          display: inline-block;
          background-size: cover;
          background-position: center;
          border: 1px solid #00e600;
          float: left; }
        .large-hero .grid-container .image-container .content .live-now-container .live-content {
          display: inline-block;
          padding: 0px 10px;
          float: left; }
          .large-hero .grid-container .image-container .content .live-now-container .live-content span {
            border: 1px solid #00e600;
            text-transform: uppercase;
            color: white;
            letter-spacing: 2px;
            font-size: 12px;
            padding: 3px 8px; }
          .large-hero .grid-container .image-container .content .live-now-container .live-content p {
            color: white;
            font-size: 14px;
            width: 85%;
            line-height: 19px;
            margin-top: 9px;
            margin-bottom: 0px; }
        .large-hero .grid-container .image-container .content .live-now-container .live-button {
          height: 100px;
          width: 112px;
          display: inline-block;
          background-size: cover;
          background-position: center;
          background-color: #00E600;
          float: left;
          position: relative; }
          .large-hero .grid-container .image-container .content .live-now-container .live-button:after {
            content: '';
            position: absolute;
            right: 40%;
            top: 41%;
            width: 0;
            height: 0;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 11px solid white;
            clear: both; }

.header {
  height: 100px;
  background-color: #009640;
  z-index: 99999999;
  position: relative;
  width: 50%;
  margin-left: auto;
  position: fixed;
  right: 0;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear; }
  @media screen and (max-width: 63.9375em) {
    .header {
      width: 100%; } }
  .header ul {
    margin-right: auto;
    list-style: none;
    margin: 0px;
    text-align: right; }
    .header ul li {
      display: inline-block; }
      .header ul li a {
        color: white;
        display: inline-block;
        padding: 35px 20px;
        font-size: 18px; }
        .header ul li a:hover {
          color: #00E600; }
    .header ul .hamburger {
      margin-bottom: -15px;
      margin-left: 21px; }
      .header ul .hamburger:hover {
        cursor: pointer; }
        .header ul .hamburger:hover span {
          background-color: #00e601; }
      .header ul .hamburger span {
        width: 35px;
        height: 2px;
        background-color: white;
        display: block;
        margin-bottom: 9px; }
      .header ul .hamburger span:nth-child(2) {
        width: 25px;
        margin-left: auto; }
  .header .grid-container, .header .grid-x, .header .cell, .header ul, .header li, .header a {
    height: 100%; }
  .header .grid-container {
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear; }

.secondary-navigation {
  position: fixed;
  top: 0;
  bottom: 0;
  background-color: #009640;
  z-index: 9999999;
  right: 0;
  width: 0;
  left: 100%;
  transition: all 0s linear;
  -webkit-transition: all 0s linear; }
  .secondary-navigation .grid-container, .secondary-navigation .grid-x, .secondary-navigation .cell {
    height: 100vh;
    max-width: 100%; }
  .secondary-navigation .grid-container {
    padding: 0px; }
  .secondary-navigation .sub-nav-container {
    position: relative; }
    .secondary-navigation .sub-nav-container .content {
      position: absolute;
      top: 0;
      bottom: 0;
      background-color: white;
      z-index: 9999;
      right: 0;
      width: 0; }
      .secondary-navigation .sub-nav-container .content .contain-content {
        opacity: 0;
        max-width: 600px;
        float: right;
        position: relative;
        width: 100%;
        padding: 3.3em 0em; }
  .secondary-navigation .sub-nav-content {
    padding: 1em 4%;
    padding-right: 150px;
    opacity: 0; }
    .secondary-navigation .sub-nav-content .sub-nav-main-content {
      padding: 3em;
      padding-right: 0em; }
      .secondary-navigation .sub-nav-content .sub-nav-main-content ul li a {
        color: white;
        font-size: 17px !important;
        line-height: 22px !important;
        margin-top: 14px !important;
        display: block; }
        .secondary-navigation .sub-nav-content .sub-nav-main-content ul li a:hover {
          color: #00E600;
          text-decoration: underline; }
      .secondary-navigation .sub-nav-content .sub-nav-main-content ul {
        list-style: none;
        margin-left: 0px; }
        .secondary-navigation .sub-nav-content .sub-nav-main-content ul li {
          display: inline-block;
          width: 49%;
          vertical-align: top; }
          .secondary-navigation .sub-nav-content .sub-nav-main-content ul li a {
            color: white;
            font-size: 17px;
            line-height: 22px;
            margin-top: 14px;
            display: block; }
    .secondary-navigation .sub-nav-content #search {
      background-color: #029640;
      color: white;
      border: 0px;
      border-bottom: 1px solid white;
      height: 62px;
      margin-bottom: 2em;
      box-shadow: none;
      font-size: 24px; }

.knowledge-navigation {
  display: none; }
  .knowledge-navigation ul li a {
    font-size: 23px !important;
    font-weight: 500;
    margin-bottom: 20px; }
  .knowledge-navigation ul li:last-child {
    width: 60% !important; }
  .knowledge-navigation ul li:first-child {
    width: 38% !important; }
  .knowledge-navigation .news-tile {
    margin-bottom: 0em; }
    .knowledge-navigation .news-tile p {
      font-size: 14px; }
    .knowledge-navigation .news-tile .date {
      font-size: 15px;
      padding-left: 0px;
      color: #002e0a;
      font-weight: bold;
      margin-bottom: 0px;
      display: block; }
      .knowledge-navigation .news-tile .date:before {
        background: white;
        display: none; }
    .knowledge-navigation .news-tile h3 {
      color: white;
      font-size: 15px; }
    .knowledge-navigation .news-tile .default-link {
      font-size: 15px !important;
      color: #00E600 !important; }
    .knowledge-navigation .news-tile a {
      margin-top: 0px !important;
      margin-bottom: 0px !important; }
    .knowledge-navigation .news-tile a:hover {
      text-decoration: none; }

.search-container .wpdreams_asl_container {
  padding: 15px 0px;
  background-color: rgba(255, 255, 255, 0); }
  .search-container .wpdreams_asl_container .proinput {
    padding: 0px !important;
    margin: 0px !important; }

.search-container #ajaxsearchlite1 .probox, .search-container div.asl_w .probox {
  background-color: rgba(255, 255, 255, 0); }

.search-container #ajaxsearchlite1 .probox .proinput input, .search-container div.asl_w .probox .proinput input {
  color: white !important;
  font-size: 21px; }

.search-container div.asl_w .probox .promagnifier .innericon svg {
  fill: white;
  width: 28px; }

.search-container div.asl_w .probox .promagnifier {
  box-shadow: none; }

div.asl_r .results .item {
  padding: 10px !important; }

div.asl_r .results .item .asl_content h3, div.asl_r .results .item .asl_content h3 a {
  color: #029640 !important; }

.programmes-navigation {
  display: none; }
  .programmes-navigation ul li a {
    font-size: 20px !important;
    font-weight: 500;
    margin-bottom: 20px; }

.events-navigation {
  display: none; }
  .events-navigation ul li {
    width: 80% !important; }
  .events-navigation a span {
    display: block;
    color: #003813;
    font-size: 15px; }
  .events-navigation .default-link {
    margin-bottom: 2em;
    font-size: 14px !important;
    color: #00E600 !important;
    display: inline-block !important; }
  .events-navigation .view-all-link {
    margin-bottom: 3em;
    font-size: 18px !important;
    color: white !important;
    display: block !important;
    max-width: 150px; }

.programmes-navigation ul li {
  width: 80% !important; }

.programmes-navigation .view-all-link {
  margin-top: 3em !important;
  font-size: 18px !important;
  color: white !important;
  display: block !important;
  max-width: 220px; }

.slide-out .sub-nav-content {
  opacity: 1;
  transition: all 0.4s linear;
  -webkit-transition: all 0.4s linear;
  transition-delay: 1.5s; }

.header-fixed {
  position: fixed;
  width: initial; }
  .header-fixed .grid-container {
    max-width: 100%;
    padding: 0px 22px 0px 22px;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear; }
  .header-fixed ul li {
    opacity: 0;
    width: 0px;
    display: none; }
  .header-fixed ul .hamburger {
    opacity: 1;
    display: block;
    width: initial;
    margin-bottom: 0px;
    margin-top: 31px;
    margin-left: 15px;
    margin-right: 18px; }

.slide-out-menu {
  position: fixed !important;
  width: 115px; }
  .slide-out-menu .grid-container {
    max-width: 100%;
    padding: 0px 22px 0px 8px;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear; }
  .slide-out-menu ul li {
    opacity: 0;
    width: 0px;
    display: none; }
  .slide-out-menu ul .hamburger {
    opacity: 1;
    display: block;
    margin-top: 49px;
    margin-left: 40px; }
    .slide-out-menu ul .hamburger span:nth-child(1) {
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .slide-out-menu ul .hamburger span:nth-child(2) {
      display: none; }
    .slide-out-menu ul .hamburger span:nth-child(3) {
      -webkit-transform: rotate(-135deg);
          -ms-transform: rotate(-135deg);
              transform: rotate(-135deg);
      margin-top: -11px; }

.slide-out {
  width: 100%;
  left: 0;
  transition: all 0.4s linear;
  -webkit-transition: all 0.4s linear; }
  .slide-out .sub-nav-container {
    position: relative; }
    .slide-out .sub-nav-container .content {
      position: absolute;
      top: 0;
      bottom: 0;
      background-color: white;
      z-index: 9999;
      left: 0;
      right: 0;
      width: 100%;
      transition: all 0.4s linear;
      -webkit-transition: all 0.4s linear;
      transition-delay: 0.5s;
      padding: 0em 3em; }
      .slide-out .sub-nav-container .content .contain-content {
        opacity: 1;
        transition: opacity 0.4s linear;
        -webkit-transition: opacity 0.4s linear;
        transition-delay: 1s; }
        .slide-out .sub-nav-container .content .contain-content .main-primary-menu {
          list-style: none;
          margin-top: 6vh; }
          .slide-out .sub-nav-container .content .contain-content .main-primary-menu li {
            font-size: 25px;
            padding-left: 3em;
            margin: 2vh 0px;
            color: #009640;
            position: relative;
            font-weight: 500; }
            .slide-out .sub-nav-container .content .contain-content .main-primary-menu li:before {
              content: " ";
              width: 2.5em;
              height: 2px;
              position: absolute;
              background-color: #009640;
              left: 0;
              bottom: 22px; }
          .slide-out .sub-nav-container .content .contain-content .main-primary-menu .active-sector {
            font-weight: bold;
            color: #002f0b; }
        .slide-out .sub-nav-container .content .contain-content .sub-primary-menu {
          list-style: none;
          margin-top: 6vh; }
          .slide-out .sub-nav-container .content .contain-content .sub-primary-menu li {
            font-size: 20px;
            margin: 1.5vh 0px;
            color: #009640;
            position: relative;
            font-weight: 500; }

div[id*='ajaxsearchlite'].wpdreams_asl_container {
  background-image: none;
  background-color: #009640;
  border-bottom: 1px solid white; }

.search-container #ajaxsearchlite1 .probox, .search-container div.asl_w .probox {
  background-color: rgba(255, 255, 255, 0);
  background-image: none; }

.promagnifier {
  display: none; }

div.asl_r.vertical {
  background: white !important;
  margin-top: -10px; }

.mobile-dropdown {
  display: none; }

@media screen and (max-width: 63.9375em) {
  .large-hero .grid-container .text-container {
    height: initial; }
  .get-in-touch-container {
    display: none; }
  .large-hero .grid-container .text-container .content {
    max-width: 100%;
    height: 100%;
    float: none;
    padding: 0em;
    padding-bottom: 2em; }
  .large-hero .grid-container .text-container .content .logo {
    display: none; }
  .large-hero {
    margin-top: 6em; }
  .header .logo {
    margin-top: 1em;
    width: 100px;
    margin-left: 1em;
    position: relative; }
    .header .logo:before {
      width: 40px;
      height: 40px;
      content: " ";
      position: absolute;
      margin: auto;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .header-fixed .logo {
    display: none; }
  .slide-out-menu .logo {
    display: none; }
  .large-hero .grid-container .text-container .content .main-hero-content {
    width: 100%;
    padding-top: 1.5em; }
  .large-hero .grid-container .image-container {
    height: 400px; }
  .large-hero .grid-container .text-container .content .circle-device {
    display: none; }
  .large-hero .grid-container .grid-x {
    height: initial; }
  .secondary-navigation .sub-nav-container .content .contain-content {
    max-width: 100%; }
    .secondary-navigation .sub-nav-container .content .contain-content .logo {
      max-width: 90px;
      margin-left: 15px; }
  .header-fixed ul .hamburger, .slide-out-menu ul .hamburger {
    opacity: 1;
    display: block;
    width: initial;
    margin-bottom: 0px;
    margin-top: 37px;
    margin-left: 0px;
    margin-right: 33px; }
  .header ul .hamburger span:nth-child(2) {
    margin-left: 10px; }
  .slide-out .sub-nav-container .content {
    padding: 0em 2em; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li:before {
    width: 1.5em;
    top: 14px;
    bottom: auto; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li {
    padding-left: 2.4em;
    font-size: 20px; }
  .slide-out .sub-nav-container .content .contain-content .sub-primary-menu li {
    font-size: 16px; }
  .secondary-navigation .sub-nav-content {
    padding: 3em;
    padding-right: 3em; }
  .secondary-navigation .sub-nav-content .sub-nav-main-content {
    padding: 2em 0em; } }
  @media screen and (max-width: 63.9375em) and (max-width: 63.9375em) {
    .secondary-navigation .sub-nav-content .sub-nav-main-content {
      margin-top: 2em;
      max-height: 700px;
      overflow: scroll; } }

@media screen and (max-width: 63.9375em) {
  .slide-out-menu ul .hamburger {
    margin-right: 0px; }
    .slide-out-menu ul .hamburger span {
      margin-left: 1.5em; }
  .knowledge-navigation ul li:first-child {
    width: 100% !important; }
  .knowledge-navigation ul li:last-child {
    display: none !important; }
  .events-navigation ul li {
    width: 100% !important; }
  .secondary-navigation .sub-nav-content .sub-nav-main-content ul li a {
    font-size: 16px; } }

@media screen and (max-width: 39.9375em) {
  .header {
    height: 83px; }
  .header ul li {
    display: none; }
  .header ul .hamburger {
    display: block;
    margin: 1.8em;
    text-align: right;
    float: right;
    margin-right: 0em; }
  .header .logo {
    margin-top: -10px;
    width: 104px;
    margin-left: -7px; }
  .large-hero {
    margin-top: 5em; }
  .header ul .hamburger span {
    margin-bottom: 8px; }
  .slide-out-menu {
    width: 78px; }
  .slide-out-menu ul .hamburger {
    margin-top: 38px !important;
    margin-right: -4px !important; }
  .slide-out .sub-nav-container .content {
    padding: 0em 1em; }
  .mobile-dropdown {
    display: none;
    opacity: 0; }
  .active-sector .mobile-dropdown {
    display: block;
    opacity: 1; }
    .active-sector .mobile-dropdown ul {
      list-style: none;
      margin-left: 0px;
      margin-bottom: 1.5em; }
      .active-sector .mobile-dropdown ul li {
        padding-left: 0px !important;
        font-size: 12px !important; }
        .active-sector .mobile-dropdown ul li:before {
          display: none; }
        .active-sector .mobile-dropdown ul li a {
          font-size: 14px; }
  .header-fixed .search-icon {
    display: none !important; }
  .header-fixed {
    width: 83px; }
  .slide-out .sub-nav-container .content {
    overflow: scroll; }
  .slide-out-menu {
    width: 100%; }
  .slide-out-menu .logo {
    display: block; }
  .secondary-navigation .sub-nav-container .content .contain-content {
    padding: 6em 0.5em 2em; }
  .secondary-navigation .sub-nav-container .content .contain-content {
    text-align: right; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li:before {
    left: auto;
    right: 0; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li {
    padding-left: 0em;
    padding-right: 2em; }
    .slide-out .sub-nav-container .content .contain-content .main-primary-menu li ul li {
      border-bottom: 0px !important;
      padding-bottom: 0em !important; }
  .active-sector .mobile-dropdown ul li {
    padding-left: 0px !important;
    font-size: 12px !important;
    padding-right: 0em !important;
    margin-right: -35px !important; }
  .get-in-touch-container {
    padding: 13px 30px;
    position: fixed;
    bottom: 55px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    display: none; }
  .get-in-touch-container span {
    font-size: 15px; }
  .slide-out .sub-nav-container .content .contain-content .sub-primary-menu {
    list-style: none;
    margin-top: 4vh;
    padding-top: 0em; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li {
    font-size: 18px;
    border-bottom: 1px solid #f1f1f1;
    padding-bottom: 1em; }
  div[id*='ajaxsearchlite'].wpdreams_asl_container {
    background-color: #002e0a;
    border-top: 4px solid #00E600;
    border-bottom: 0px; }
  .search-container #ajaxsearchlite1 .probox .proinput input, .search-container div.asl_w .probox .proinput input {
    color: white !important;
    font-size: 16px;
    padding-left: 7% !important;
    width: 85%; }
  .mobile-search-container {
    position: absolute;
    left: 0;
    right: 0;
    top: 83px;
    display: none; }
  .search-icon {
    display: inline-block !important;
    margin: 25px 0px !important;
    opacity: 1 !important;
    width: initial !important; }
  .slide-out-menu ul .hamburger {
    margin-top: 38px !important;
    margin-right: 0px !important;
    margin-left: 0px; }
  .increase-height {
    padding-top: 10em !important; }
  div.asl_m .probox .proclose svg {
    margin-left: -25px !important; }
  .active-sector .mobile-dropdown ul {
    list-style: none;
    margin-left: 0px;
    margin-bottom: 0.5em; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu {
    margin-top: 4vh; }
  .header {
    transition: none;
    -webkit-transition: none; } }

.slide-out .sub-nav-container .content .contain-content .main-primary-menu li:hover {
  position: relative; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li:hover div {
    font-weight: bold;
    color: #003813;
    cursor: pointer; }
    .slide-out .sub-nav-container .content .contain-content .main-primary-menu li:hover div:after {
      content: " ";
      width: 10px;
      height: 10px;
      position: absolute;
      right: initial;
      top: 18px;
      margin-left: 19px;
      border-top: 5px solid transparent;
      border-bottom: 5px solid transparent;
      border-left: 7px solid #002e0a; }

.slide-out .sub-nav-container .content .contain-content .main-primary-menu .active-sector div {
  font-weight: bold;
  color: #003813;
  cursor: pointer; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu .active-sector div:after {
    content: " ";
    width: 10px;
    height: 10px;
    position: absolute;
    right: initial;
    top: 18px;
    margin-left: 19px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #002e0a; }

.secondary-navigation .sub-nav-content .sectors-navigation ul li a:hover {
  color: #00E600 !important;
  font-size: 24px;
  text-decoration: underline !important;
  position: relative; }
  .secondary-navigation .sub-nav-content .sectors-navigation ul li a:hover:after {
    content: " ";
    width: 10px;
    height: 10px;
    position: absolute;
    right: initial;
    top: 10px;
    margin-left: 19px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #00E600; }

.secondary-navigation .sub-nav-content .programmes-navigation ul li a:hover {
  color: #00E600 !important;
  font-size: 24px;
  text-decoration: underline !important;
  position: relative; }
  .secondary-navigation .sub-nav-content .programmes-navigation ul li a:hover:after {
    content: " ";
    width: 10px;
    height: 10px;
    position: absolute;
    right: initial;
    top: 10px;
    margin-left: 19px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid #00E600; }

.slide-out .sub-nav-container .content .contain-content .main-primary-menu li:before {
  bottom: 17px; }

.sector-page .funding-tile:last-child {
  border-right: 0px; }

.event-tile .date {
  padding: 1.5em 10px; }

.smaller-hero .grid-container .text-container {
  padding: 4em 2em 5em;
  min-height: 0px; }

.view-all-link {
  position: absolute !important; }

@media screen and (max-width: 39.9375em) {
  .slide-out-menu .logo-anchor {
    left: 1em; } }

h1 {
  font-size: 50px;
  font-weight: 400;
  line-height: 60px;
  margin-bottom: 0.5em; }

p {
  font-weight: 500; }

.home-page .tiles-container {
  padding: 6em 0em 2em; }

.home-page .case-study-container {
  background-color: #F5FAF6;
  padding: 4em 0em; }

.news-tile {
  padding: 1em;
  margin-bottom: 2em; }
  .news-tile .content-container {
    position: relative; }
  .news-tile h3 {
    color: #003813;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 14px; }
  .news-tile .date {
    opacity: 1;
    color: #009640;
    padding-left: 2em;
    position: relative; }
    .news-tile .date:before {
      content: " ";
      position: absolute;
      height: 1px;
      width: 1.5em;
      left: 0;
      bottom: 10px;
      background-color: #009640; }
  .news-tile .image {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 35%;
    background-size: cover;
    background-position: center; }
  .news-tile .content {
    width: 100%;
    display: inline-block;
    padding-left: 40%; }

.funding-tile {
  padding: 1em;
  margin-bottom: 1.5em; }
  .funding-tile .content-container {
    position: relative; }
  .funding-tile h3 {
    font-size: 23px;
    font-weight: 400;
    color: #003813;
    text-decoration: underline; }
  .funding-tile .open-date {
    color: #009640;
    opacity: 1; }
  .funding-tile .date {
    opacity: 1;
    color: #009640;
    padding-left: 2em;
    position: relative; }
    .funding-tile .date:before {
      content: " ";
      position: absolute;
      height: 1px;
      width: 1.5em;
      left: 0;
      bottom: 10px;
      background-color: #009640; }
  .funding-tile .content {
    width: 100%;
    display: inline-block; }
  .funding-tile .buttons-container {
    display: block;
    margin-top: 20px; }
    .funding-tile .buttons-container a {
      padding: 10px;
      border: 1px solid #009640;
      color: #009640;
      text-decoration: none;
      font-size: 14px;
      display: inline-block;
      background-color: white; }

.event-tile {
  padding: 1em;
  display: block;
  float: left;
  margin-bottom: 2em; }
  .event-tile .content-container {
    position: relative; }
  .event-tile .tile-content {
    background-color: #003813;
    position: relative;
    display: block;
    float: left; }
  .event-tile h3 {
    font-size: 19px;
    font-weight: 400;
    color: #003813; }
  .event-tile .date {
    opacity: 1;
    position: relative;
    width: 29%;
    background-color: #003813;
    color: white;
    padding: 1.1em 2em;
    text-align: center;
    display: inline-block;
    font-size: 22px;
    line-height: 30px;
    float: left;
    margin-bottom: 0px; }
    .event-tile .date span {
      color: #00E600; }
  .event-tile a {
    color: #00E600;
    text-decoration: underline; }
  .event-tile .content {
    width: 70%;
    display: inline-block;
    padding: 1.5em;
    background-color: white;
    float: right;
    height: 100%;
    border: 2px solid #003813; }

.twitter-container {
  background-color: white;
  padding: 2em;
  height: 508px;
  overflow-y: scroll;
  margin-bottom: 2em; }

.case-study-tile {
  width: 46%;
  background-color: #005326;
  color: white;
  display: inline-block;
  margin-bottom: 2em;
  margin-right: 3%;
  vertical-align: top; }
  .case-study-tile .content {
    padding: 2em; }
    .case-study-tile .content h3 {
      font-weight: 400;
      font-size: 27px; }
      @media screen and (max-width: 39.9375em) {
        .case-study-tile .content h3 {
          font-size: 20px; } }
  .case-study-tile .image {
    background-size: cover;
    background-position: center;
    height: 200px;
    position: relative; }
    .case-study-tile .image a {
      position: absolute;
      bottom: 0;
      right: 0;
      padding: 12px 20px;
      background-color: #00E600;
      color: #003813;
      text-decoration: underline;
      font-weight: bold; }

.programmes-tile {
  position: relative; }
  .programmes-tile .content p {
    padding-right: 3em; }
  .programmes-tile .image-container {
    height: 170px;
    position: relative;
    margin-bottom: 20px; }
  .programmes-tile .image {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-size: cover;
    background-position: center; }
  .programmes-tile h3 {
    font-size: 20px;
    font-weight: 400; }

.ktn-areas {
  background: #ffffff;
  padding: 2em 0; }
  .ktn-areas .text-container {
    padding: 2em 2em 2em 0;
    color: #7c7c7c; }
    .ktn-areas .text-container h2 {
      color: #003813; }
    .ktn-areas .text-container .areas-swiper-container {
      overflow-y: visible;
      padding-top: 9em;
      position: relative;
      margin-top: -9em; }
      .ktn-areas .text-container .areas-swiper-container .swiper-slide .content h3 {
        font-size: 1.2em;
        font-weight: 400; }
      .ktn-areas .text-container .areas-swiper-container .swiper-slide .content h3 a {
        color: #00E600;
        position: relative;
        padding-right: 35px;
        display: inline-block; }
      .ktn-areas .text-container .areas-swiper-container .swiper-slide .content h3 a::after {
        content: "";
        position: absolute;
        right: 12px;
        top: 12px;
        width: 0;
        height: 0;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 7px solid #00E600;
        clear: both; }
      .ktn-areas .text-container .areas-swiper-container .areas-swiper-button-prev {
        left: 93%;
        top: 2em; }
      .ktn-areas .text-container .areas-swiper-container .areas-swiper-button-next {
        left: 96%;
        top: 2em; }

.ktn-people {
  background: #F5FAF6; }
  .ktn-people .text-container {
    padding: 2em 2em 2em 0;
    color: #7c7c7c; }
    .ktn-people .text-container h3 {
      color: #7c7c7c;
      font-size: 1.3em; }
    .ktn-people .text-container h3 hr {
      display: inline-block;
      line-height: 1em;
      margin: 0.3em 0.24em 0.3em 0;
      border: 0;
      border-bottom: 1px solid;
      width: 3em; }
    .ktn-people .text-container .people-swiper-container {
      padding-top: 0em;
      position: relative;
      margin-top: 0em;
      padding-bottom: 5em; }
      .ktn-people .text-container .people-swiper-container .swiper-slide {
        background-size: cover;
        background-position: center;
        position: relative; }
        .ktn-people .text-container .people-swiper-container .swiper-slide .image {
          height: 320px;
          background-size: cover;
          background-position: top center;
          margin-bottom: 0px; }
        .ktn-people .text-container .people-swiper-container .swiper-slide h4 {
          font-weight: bold;
          font-size: 26px;
          color: #003813;
          margin-bottom: 10px; }
        .ktn-people .text-container .people-swiper-container .swiper-slide hr {
          width: 50px;
          border-color: #00E600;
          margin: 10px auto;
          display: block; }
        .ktn-people .text-container .people-swiper-container .swiper-slide .job-title {
          color: white;
          padding: 0px;
          margin-top: 5px;
          font-size: 15px;
          line-height: 22px; }
        .ktn-people .text-container .people-swiper-container .swiper-slide .hover {
          display: block;
          opacity: 0;
          text-align: center;
          background: #003813;
          color: #fff;
          height: 100%;
          padding: 10%;
          transition: opacity .25s ease-in-out;
          -moz-transition: opacity .25s ease-in-out;
          -webkit-transition: opacity .25s ease-in-out;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
          .ktn-people .text-container .people-swiper-container .swiper-slide .hover .box {
            color: #009640;
            border: 1px solid #009640;
            padding: 0.5em 0em;
            margin: 0em 0em 0.5em;
            margin-bottom: 12px;
            display: block;
            font-size: 13px; }
          .ktn-people .text-container .people-swiper-container .swiper-slide .hover h4 {
            color: white;
            font-weight: 400; }
          .ktn-people .text-container .people-swiper-container .swiper-slide .hover .default-link {
            font-size: 16px;
            margin-top: 12px;
            display: inline-block;
            margin-left: 26px; }
        .ktn-people .text-container .people-swiper-container .swiper-slide:hover .hover {
          opacity: 1;
          transition: opacity .15s ease-in-out;
          -moz-transition: opacity .15s ease-in-out;
          -webkit-transition: opacity .15s ease-in-out; }
        .ktn-people .text-container .people-swiper-container .swiper-slide:hover .job-title {
          opacity: 1;
          transition: opacity .15s ease-in-out;
          -moz-transition: opacity .15s ease-in-out;
          -webkit-transition: opacity .15s ease-in-out; }
      .ktn-people .text-container .people-swiper-container .people-swiper-button-prev {
        right: 3.9em;
        left: auto;
        top: 4em; }
      .ktn-people .text-container .people-swiper-container .people-swiper-button-next {
        right: 1em;
        top: 4em; }

.about-device {
  margin-bottom: 2em;
  margin-top: -8em; }

.information-block {
  background-color: #005326; }
  .information-block .content {
    padding-right: 3em;
    position: relative; }
    .information-block .content span {
      position: absolute;
      left: -61px;
      top: -91px;
      font-size: 185px;
      color: #055d2f; }
  .information-block h2 {
    color: #00E600;
    position: relative;
    width: 59%;
    line-height: 45px;
    margin-bottom: 25px; }
  .information-block p {
    color: white;
    position: relative; }

.quote-block .image-container {
  position: relative; }
  .quote-block .image-container .image {
    position: absolute;
    width: 90%;
    top: -7em;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center; }

.quote-block .content h2 {
  font-weight: 400;
  margin-bottom: 30px;
  line-height: 46px;
  font-size: 35px; }

.quote-slider p {
  font-family: 'neue-haas-unica', sans-serif;
  font-size: 16px;
  padding: 0em; }

.quote-slider span {
  opacity: 1; }

.testimonials-swiper-container {
  padding-bottom: 4em; }
  .testimonials-swiper-container p {
    padding: 1em 2em 0em;
    font-size: 21px; }
  .testimonials-swiper-container span {
    opacity: 0.3; }

.reports-section .report {
  text-align: center;
  padding: 10px 20px; }
  .reports-section .report h3 {
    font-size: 23px;
    margin-bottom: 0px;
    font-weight: 400; }
  .reports-section .report p {
    margin-bottom: 0px; }

.reports-section .report-1 {
  border: 2px solid #003813;
  border-radius: 40px; }
  .reports-section .report-1 a {
    color: #003813; }

.reports-section .report-2 {
  border: 2px solid #00E600;
  border-radius: 40px; }
  .reports-section .report-2 a {
    color: #00E600; }

.reports-section .report-3 {
  border: 2px solid #005326;
  border-radius: 40px; }
  .reports-section .report-3 a {
    color: #005326; }

.values-slider h2 {
  color: #009640; }

.values-slider .values-swiper-container {
  margin-top: 2em;
  overflow: visible; }
  .values-slider .values-swiper-container p {
    color: #005326;
    font-size: 21px;
    padding: 0em 1em; }

.text-left-image-right .content {
  padding-right: 5em; }
  .text-left-image-right .content .button {
    display: inline-block; }
  .text-left-image-right .content h2 {
    color: #009640;
    margin-bottom: 25px; }

.text-left-image-right .image-container {
  position: relative;
  min-height: 300px; }

.text-left-image-right .image {
  position: absolute;
  background-size: cover;
  background-position: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.text-right-image-left .content {
  padding-left: 5em; }
  .text-right-image-left .content .button {
    display: inline-block; }
  .text-right-image-left .content h2 {
    color: #009640;
    margin-bottom: 25px; }

.text-right-image-left .image-container {
  position: relative;
  min-height: 300px; }

.text-right-image-left .image {
  position: absolute;
  background-size: cover;
  background-position: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.programmes-section h2 {
  color: #009640; }

.text-left-video-right .content {
  padding-right: 6em; }

.text-left-video-right h2 {
  color: #005326; }

.text-left-video-right p {
  font-size: 20px;
  font-weight: 300; }

.job-vacancies-section h2 {
  color: #009640;
  display: block;
  margin-bottom: 1em; }

.job-vacancies-section table tbody {
  border: 0px; }

.job-vacancies-section table tr {
  background-color: white;
  border-bottom: 1px solid #eaeaea; }
  .job-vacancies-section table tr .job-title {
    font-weight: bold;
    font-size: 18px;
    padding: 25px 0px;
    color: #003813; }
  .job-vacancies-section table tr .job-category {
    font-size: 16px;
    padding: 25px 0px;
    color: #009640; }
  .job-vacancies-section table tr .job-location {
    font-size: 16px;
    padding: 25px 0px;
    color: #003813; }

.job-vacancies-section table thead {
  border: 0px; }
  .job-vacancies-section table thead tr {
    border: 0px; }
  .job-vacancies-section table thead .job-title {
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 12px;
    padding: 25px 0px;
    color: #009640; }
  .job-vacancies-section table thead .job-category {
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 12px;
    padding: 25px 0px;
    color: #009640; }
  .job-vacancies-section table thead .job-location {
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 12px;
    padding: 25px 0px;
    color: #009640; }

.sidebar-container {
  position: relative;
  z-index: 99999;
  background-color: #f6faf630; }
  .sidebar-container .sidebar {
    margin-top: -2em;
    background-color: #ffffff;
    padding: 0.5em 3em 3em; }
    .sidebar-container .sidebar .title {
      color: #009640;
      font-size: 20px;
      opacity: 0.5;
      margin-bottom: 1em;
      font-weight: bold; }
    .sidebar-container .sidebar .sub-title {
      color: #009640;
      font-weight: bold;
      font-size: 20px;
      margin-bottom: 5px;
      margin-top: 1.5em; }
    .sidebar-container .sidebar p {
      font-size: 18px;
      margin-bottom: 1em;
      font-weight: 200; }
    .sidebar-container .sidebar iframe {
      margin: 2em 0em; }
  .sidebar-container .main-content {
    padding: 2.5em; }
    .sidebar-container .main-content h2 {
      color: #005326;
      font-weight: 400;
      font-size: 27px;
      margin-bottom: 1em; }
    .sidebar-container .main-content h3 {
      color: #005326;
      font-weight: 400;
      font-size: 21px;
      margin-bottom: 1em;
      margin-top: 1.5em; }
    .sidebar-container .main-content .event-tile h3 {
      margin-top: 0px; }
    .sidebar-container .main-content h4 {
      color: #00E600;
      font-weight: bold;
      font-size: 18px;
      margin-bottom: 1em;
      margin-top: 1.5em; }
    .sidebar-container .main-content .buttons-container .button {
      display: inline-block;
      max-width: 48%;
      margin-right: 2%;
      margin-top: 1em;
      margin-bottom: 1em; }

[type="checkbox"],
[type="radio"] {
  margin: 0 0 1rem;
  -webkit-transform: scale(1.7);
      -ms-transform: scale(1.7);
          transform: scale(1.7); }

.knowledge-centre-tiles {
  padding: 2em 0em; }
  .knowledge-centre-tiles .news-tile .image {
    width: 25%; }
    .knowledge-centre-tiles .news-tile .image .tag {
      background-color: white;
      padding: 12px 15px 12px 15px;
      font-size: 17px;
      position: absolute;
      bottom: 0;
      left: 0;
      color: #009640; }
  .knowledge-centre-tiles .news-tile .content {
    padding-top: 2em;
    padding-bottom: 0em;
    padding-left: 28%;
    padding-right: 5%; }
    .knowledge-centre-tiles .news-tile .content a {
      margin-bottom: 2em; }
    .knowledge-centre-tiles .news-tile .content .main-content {
      display: block;
      margin-bottom: 1.9em; }

.events-page .funding-tile {
  display: inline-block;
  width: 45%;
  vertical-align: top;
  margin-left: 2%;
  margin-right: 2%; }

.events-page .sidebar ul {
  list-style: none;
  margin-left: 0px; }

.events-page .sidebar li label {
  font-size: 17px; }

.filter-dropdown-container {
  background-color: #005326;
  padding: 0.5em 0em;
  max-width: 1345px;
  margin: auto;
  margin-top: -2em;
  position: relative;
  z-index: 9999; }
  .filter-dropdown-container .content {
    max-width: 102.5rem;
    margin: auto;
    padding: 0em; }
  .filter-dropdown-container .sf-field-taxonomy-sector, .filter-dropdown-container .sf-field-taxonomy-areas {
    width: 15%; }

.sf-field-search {
  width: 70%;
  display: inline-block !important; }
  .sf-field-search label {
    width: 90%;
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 20px !important; }
    .sf-field-search label input {
      height: 53px;
      margin-bottom: 0px;
      padding-left: 20px;
      background-color: #005227;
      font-size: 19px;
      border: 0px;
      box-shadow: none;
      border-bottom: 1px solid rgba(253, 253, 252, 0.14); }

.sf-field-taxonomy-sector {
  width: 100%;
  display: inline-block !important; }
  .sf-field-taxonomy-sector label {
    width: 90%;
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 20px !important; }
    .sf-field-taxonomy-sector label select {
      height: 66px;
      margin-bottom: 0px;
      padding-left: 20px;
      background-color: #005227;
      font-size: 19px;
      border: 0px;
      box-shadow: none;
      color: white; }

.sf-field-taxonomy-areas {
  width: 100%;
  display: inline-block !important; }
  .sf-field-taxonomy-areas label {
    width: 90%;
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 20px !important; }
    .sf-field-taxonomy-areas label select {
      height: 66px;
      margin-bottom: 0px;
      padding-left: 20px;
      background-color: #005227;
      font-size: 19px;
      border: 0px;
      box-shadow: none;
      color: white; }

.searchandfilter h4 {
  color: #009640;
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 5px;
  margin-top: 1.5em; }

.single-news .small-hero .grid-container .text-container {
  padding-bottom: 9%;
  background-color: #fafcfa; }

.single-news .news-date {
  background-color: #005326;
  color: #009640;
  padding: 12px 20px;
  margin-bottom: 0em;
  margin-top: -3em;
  float: left; }

.single-news .sidebar-container .sidebar {
  margin-top: 0em;
  background-color: #f5faf6;
  padding: 3em; }
  .single-news .sidebar-container .sidebar .title {
    opacity: 1;
    color: #003813;
    margin-bottom: 1.5em; }
  .single-news .sidebar-container .sidebar a {
    display: block;
    font-size: 18px;
    margin: 15px 0px; }

.single-news .main-content {
  padding: 3em; }

.single-news .sidebar-container .grid-container {
  background-color: white;
  margin-top: -3em;
  padding: 0em;
  max-width: 96em; }

.people-tile {
  position: relative;
  margin-bottom: 3em; }
  .people-tile h3 {
    margin-bottom: 3px !important;
    color: #009640 !important; }
  .people-tile .image {
    height: 350px;
    background-size: cover;
    background-position: top center;
    border: 2px solid #00E600; }
  .people-tile .box {
    padding: 10px;
    border: 1px solid #009640;
    color: #009640;
    text-decoration: none;
    font-size: 14px;
    display: inline-block;
    background-color: white; }
  .people-tile .job-title {
    color: #7b7b7b; }
  .people-tile:hover .image {
    border: 2px solid #005326;
    transition: all 0.5s;
    -webkit-transition: all 0.5s; }
  .people-tile:hover h3 {
    margin-bottom: 3px !important;
    color: #005326 !important; }

.areas-content-container {
  border-top: 1px solid #e8e8e8; }

.sector-page .text-left-image-right {
  background-color: #F5FAF6;
  padding: 3em 0em; }

.sector-page .funding-tile {
  border-right: 1px solid #d4d8d4;
  padding-right: 2.5em; }

.sector-page .ktn-people .text-container .people-swiper-container .swiper-slide .image {
  border: 2px solid #00E600; }

.home-page .slider-section {
  background-color: #f6faf6; }

.knowledge-navigation .news-tile .image {
  max-height: 200px; }

.slider-section .grid-container {
  padding: 0px;
  max-width: 100%; }

.slider-section .swiper-container-slider-section-single {
  overflow: visible;
  margin-top: 9em; }
  .slider-section .swiper-container-slider-section-single .swiper-slide {
    background-color: #005326; }
    .slider-section .swiper-container-slider-section-single .swiper-slide .image {
      width: 50%;
      display: inline-block;
      height: 128% !important;
      margin-top: -2.5%;
      position: absolute;
      background-size: cover;
      background-position: center; }
    .slider-section .swiper-container-slider-section-single .swiper-slide .content {
      width: 35%;
      display: inline-block;
      height: 100%;
      padding: 3%;
      margin-left: 50%;
      color: white; }
      .slider-section .swiper-container-slider-section-single .swiper-slide .content span {
        color: #009640;
        display: block;
        margin-bottom: 1em;
        font-size: 18px;
        padding-left: 4em;
        position: relative;
        min-height: 27px;
        font-style: italic; }
        .slider-section .swiper-container-slider-section-single .swiper-slide .content span:before {
          content: " ";
          width: 3em;
          height: 1px;
          background-color: #009640;
          position: absolute;
          left: 0;
          bottom: 12px; }
      .slider-section .swiper-container-slider-section-single .swiper-slide .content h3 {
        margin-bottom: 0.5em;
        font-size: 40px; }
      .slider-section .swiper-container-slider-section-single .swiper-slide .content p {
        opacity: 0.6; }
  .slider-section .swiper-container-slider-section-single .swiper-button-next {
    left: auto;
    right: 47.75%;
    top: 106.3%;
    background-color: #00E600;
    background-size: 10px;
    width: 45px;
    height: 45px; }
  .slider-section .swiper-container-slider-section-single .swiper-button-prev {
    left: auto;
    right: 50%;
    border-right: 1px solid white;
    top: 106.3%;
    background-color: #00E600;
    background-size: 10px;
    width: 45px;
    height: 45px; }

.slider-section .swiper-container-slider-section {
  overflow-y: visible;
  padding: 8em 0em; }
  .slider-section .swiper-container-slider-section .swiper-slide {
    background-color: #009640; }
    .slider-section .swiper-container-slider-section .swiper-slide .image {
      width: 35%;
      display: inline-block;
      height: 100% !important;
      position: absolute;
      background-size: cover;
      background-position: center; }
    .slider-section .swiper-container-slider-section .swiper-slide .content {
      width: 55%;
      display: inline-block;
      height: 100%;
      padding: 5%;
      margin-left: 35%;
      color: white; }
      .slider-section .swiper-container-slider-section .swiper-slide .content span {
        color: #003813;
        display: block;
        margin-bottom: 1em;
        font-size: 16px;
        padding-left: 4em;
        position: relative;
        min-height: 27px; }
        .slider-section .swiper-container-slider-section .swiper-slide .content span:before {
          content: " ";
          width: 3em;
          height: 1px;
          background-color: #003813;
          position: absolute;
          left: 0;
          bottom: 12px; }
      .slider-section .swiper-container-slider-section .swiper-slide .content h3 {
        margin-bottom: 0.5em;
        font-size: 23px; }
      .slider-section .swiper-container-slider-section .swiper-slide .content p {
        opacity: 0.6; }
  .slider-section .swiper-container-slider-section .swiper-slide-active {
    background-color: #003813;
    z-index: 999;
    margin-top: -3em;
    padding-bottom: 8em;
    width: 45% !important;
    margin-left: -5%;
    margin-right: -6%;
    padding-bottom: 4.8%;
    background-image: url("/wp-content/uploads/2020/05/device-callout.png");
    background-size: cover;
    background-position-y: top;
    background-position-x: 47%; }
    .slider-section .swiper-container-slider-section .swiper-slide-active .content span {
      color: #009640; }
      .slider-section .swiper-container-slider-section .swiper-slide-active .content span:before {
        background-color: #009640; }
    .slider-section .swiper-container-slider-section .swiper-slide-active .content h3 {
      font-size: 29px; }
  .slider-section .swiper-container-slider-section .swiper-slide-prev {
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#009640+74,006014+100 */
    background: #009640;
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #009640 74%, #006014 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#009640', endColorstr='#006014',GradientType=1 );
    /* IE6-9 */ }
  .slider-section .swiper-container-slider-section .swiper-button-next {
    left: auto;
    right: 15.2em;
    top: 78.3%;
    background-color: #00E600;
    background-size: 10px;
    width: 45px;
    height: 45px;
    opacity: 0 !important; }
  .slider-section .swiper-container-slider-section .swiper-button-prev {
    left: auto;
    right: 18em;
    border-right: 1px solid white;
    top: 78.3%;
    background-color: #00E600;
    background-size: 10px;
    width: 45px;
    height: 45px;
    opacity: 0 !important; }

.area-page .slider-section {
  margin-bottom: 4em; }

.area-page .tiles-container {
  background-color: white;
  padding-bottom: 0em; }

.single-people .sidebar-container .grid-x {
  padding-top: 0em;
  padding-bottom: 0em; }

.single-people .content {
  padding-top: 6em;
  padding-bottom: 6em; }

.single-people .people-tile .content {
  padding-top: 0em;
  padding-bottom: 2em; }
  .single-people .people-tile .content .fa {
    font-size: 20px;
    color: #00E600;
    margin-top: 30px;
    margin-right: 10px;
    margin-bottom: 10px; }
  .single-people .people-tile .content .button {
    margin-top: 1em; }

.single-people .sidebar {
  padding: 0px; }

.single-people .image {
  background-size: cover;
  background-repeat: no-repeat; }

.single-people .main-content strong, .single-people .main-content b {
  font-size: 22px;
  font-weight: 400;
  color: #002e0a;
  margin-bottom: 30px;
  display: block; }

.single-people .sidebar-container .main-content {
  padding: 4em 1.5em; }

.single-people .area-box {
  color: #005326;
  background-color: white;
  display: inline-block;
  margin-right: 10px;
  padding: 10px 25px;
  font-size: 14px;
  margin-top: 10px;
  margin-bottom: 2em; }

.people-page .sf-field-search {
  width: 83%; }

.case-study-page .case-study-tile {
  width: 100%;
  background-color: #fefefe;
  color: #005227;
  margin-bottom: 4em; }
  .case-study-page .case-study-tile .content {
    background-color: #f6faf6; }
  .case-study-page .case-study-tile .image {
    height: 250px;
    border-bottom: 5px solid #009640; }
  .case-study-page .case-study-tile .default-link {
    background-color: #009640;
    color: white;
    padding-left: 20px;
    padding-right: 40px; }
    .case-study-page .case-study-tile .default-link:after {
      top: 20px; }
  .case-study-page .case-study-tile .main-content h3 {
    font-size: 22px;
    color: #009640; }

.image-event-tile {
  position: relative; }
  .image-event-tile .image {
    height: 250px;
    background-size: cover;
    background-position: center; }
  .image-event-tile .date-container {
    padding: 1em 0em;
    margin-bottom: 1em;
    border-bottom: 1px solid #adadad; }
    .image-event-tile .date-container .the-date {
      display: inline-block;
      width: 55%;
      text-align: left;
      color: #adadad; }
    .image-event-tile .date-container .location {
      display: inline-block;
      width: 40%;
      text-align: right;
      color: #00E600; }

.events-page .main-content {
  padding: 3em 0em; }

.careers-page .text-left-image-right {
  background-color: #F5FAF6; }

.careers-page .quote-slider h2 {
  margin-bottom: 1em;
  color: #009640; }

.careers-page .quote-slider p {
  color: #005326;
  font-size: 20px; }

.contact-page .contact-form-container {
  max-width: 1000px;
  padding: 1em 5em;
  margin-top: 9em; }

.contact-page .small-hero .text-container {
  position: relative;
  padding: 4% 0em 0%; }

.contact-page .small-hero .tel-number {
  padding: 2em;
  color: white;
  background-color: #025326;
  margin-top: 6em; }
  .contact-page .small-hero .tel-number .tel-container {
    max-width: 600px;
    margin-left: auto; }
    .contact-page .small-hero .tel-number .tel-container a {
      color: #00E600;
      font-size: 22px; }

.contact-page .small-hero .grid-container .text-container .content {
  margin-left: auto;
  float: none;
  max-width: 650px;
  padding-right: 3em; }

[type="checkbox"],
[type="radio"] {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none; }

.contact-page span.wpcf7-list-item {
  display: inline-block;
  width: 31%;
  background-color: #025326;
  text-align: center;
  padding: 15px;
  margin: 0em;
  margin-top: 1em;
  margin-right: 2%;
  color: white;
  font-size: 15px;
  position: relative;
  min-height: 50px;
  overflow: hidden;
  border: 1px solid #00E600; }
  .contact-page span.wpcf7-list-item [type="checkbox"], .contact-page span.wpcf7-list-item .contact-page [type="radio"] {
    position: absolute;
    left: -17px;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    width: 108%;
    opacity: 0; }
    .contact-page span.wpcf7-list-item [type="checkbox"]:after, .contact-page span.wpcf7-list-item .contact-page [type="radio"]:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0; }
  .contact-page span.wpcf7-list-item .wpcf7-list-item-label {
    position: relative; }
  .contact-page span.wpcf7-list-item .menuitemshow {
    opacity: 1; }
    .contact-page span.wpcf7-list-item .menuitemshow:after {
      background-color: #009640; }

.contact-page label {
  color: #029640;
  font-weight: bold;
  font-size: 17px; }
  .contact-page label .form-label {
    background-color: white;
    position: relative;
    z-index: 99;
    padding: 15px 10px;
    margin-left: 10px;
    padding-bottom: 0px; }

.contact-page [type='text'], .contact-page [type='password'], .contact-page [type='date'], .contact-page [type='datetime'], .contact-page [type='datetime-local'], .contact-page [type='month'], .contact-page [type='week'], .contact-page [type='email'], .contact-page [type='number'], .contact-page [type='search'], .contact-page [type='tel'], .contact-page [type='time'], .contact-page [type='url'], .contact-page [type='color'], .contact-page textarea {
  margin-top: -13px;
  border: 1px solid #00E600;
  min-height: 58px;
  margin-bottom: 23px;
  font-size: 16px;
  padding-left: 26px; }

.contact-page [type='text']:focus, .contact-page [type='password']:focus, .contact-page [type='date']:focus, .contact-page [type='datetime']:focus, .contact-page [type='datetime-local']:focus, .contact-page [type='month']:focus, .contact-page [type='week']:focus, .contact-page [type='email']:focus, .contact-page [type='number']:focus, .contact-page [type='search']:focus, .contact-page [type='tel']:focus, .contact-page [type='time']:focus, .contact-page [type='url']:focus, .contact-page [type='color']:focus, .contact-page textarea:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  box-shadow: 0 0 5px #cacaca;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  border: 2px solid #00E600 !important;
  box-shadow: none; }

.contact-page .checkbox-container {
  margin-bottom: 2em; }

.contact-page .control-me::after {
  content: "x";
  font-size: 100px; }

.contact-page #toggle:checked ~ .control-me::after {
  content: "+"; }

.contact-page .contact-page span.wpcf7-list-item [type="checkbox"], .contact-page .contact-page span.wpcf7-list-item .contact-page [type="radio"] + span {
  background-color: red; }

.contact-page .menuitemshow span {
  background-color: #009640; }

.contact-page .wpcf7-submit {
  width: 100%;
  padding: 18px;
  background-color: #005326;
  color: #00E600;
  font-size: 16px;
  font-weight: bold; }

.contact-page .location-container {
  max-width: 650px;
  margin-left: auto;
  padding: 3em;
  padding-right: 4em;
  padding-left: 1.5em; }
  .contact-page .location-container .location {
    background-color: white;
    position: relative;
    margin-bottom: 1.5em; }
    .contact-page .location-container .location h3 {
      border-bottom: 1px solid #e2e2e2;
      padding: 20px;
      background-color: white;
      position: relative;
      margin-bottom: 0px;
      font-size: 18px;
      color: #029640;
      font-weight: 400;
      padding-left: 40px;
      position: relative; }
      .contact-page .location-container .location h3:before {
        content: "+";
        position: absolute;
        left: 14px;
        font-size: 30px;
        top: 10px; }
    .contact-page .location-container .location p {
      padding: 20px 40px;
      display: none;
      background-color: white;
      position: relative;
      font-size: 15px; }
    .contact-page .location-container .location:before {
      content: "";
      position: absolute;
      top: 6px;
      left: 6px;
      right: -6px;
      bottom: -6px;
      background-color: #009640; }
  .contact-page .location-container .active-location p {
    display: block; }
  .contact-page .location-container .active-location h3:before {
    content: "-"; }

.contact-page .map-2 {
  display: none; }

.contact-page .map-3 {
  display: none; }

.single-event .sidebar-container .sidebar {
  padding-top: 3em; }
  .single-event .sidebar-container .sidebar p {
    margin-bottom: 0em; }

.single-event .sidebar-container .main-content h2 {
  color: #029640;
  font-weight: 400;
  font-size: 20px;
  margin-bottom: 10px;
  margin-top: 1.5em; }

.single-event .sidebar-container .main-content {
  padding: 4em 2.5em 3em; }

.single-event .sidebar-container .main-content h3 {
  margin-bottom: 0.5em; }

.opportunity-single .sidebar-container .sidebar {
  padding-top: 3em; }

.full-image-section img {
  margin: 2em 0em; }

.sectors-nav-container {
  max-height: 500px;
  overflow-y: hidden;
  overflow: scroll; }
  .sectors-nav-container ul {
    margin-left: 0px;
    list-style: none; }
    .sectors-nav-container ul li a {
      display: block;
      font-size: 20px;
      color: #003813;
      position: relative;
      padding: 17px 0px;
      font-size: 16px !important; }
      .sectors-nav-container ul li a span {
        display: inline-block;
        width: 0;
        height: 0;
        margin-left: 10px;
        border-top: 6px solid transparent;
        border-bottom: 6px solid transparent;
        border-left: 8px solid #00E600;
        clear: both;
        float: right; }

.home-sectors {
  margin: 2em 0em 5em; }
  .home-sectors .tabs-panel.is-active {
    display: block;
    min-height: 500px;
    background-color: #f7f7f7;
    padding: 0em; }
    .home-sectors .tabs-panel.is-active .content {
      padding: 2.5em;
      width: 60%;
      display: inline-block; }
      .home-sectors .tabs-panel.is-active .content h3 {
        color: #005326;
        font-weight: 400; }
      .home-sectors .tabs-panel.is-active .content h4 {
        color: #009640;
        margin-top: 1.5em;
        font-size: 21px;
        font-weight: 600; }
      .home-sectors .tabs-panel.is-active .content p {
        margin-bottom: 5px; }
      .home-sectors .tabs-panel.is-active .content .expert-container {
        overflow-x: scroll;
        white-space: nowrap;
        padding: 5px 0px 30px;
        margin-bottom: 2em; }
        .home-sectors .tabs-panel.is-active .content .expert-container .expert {
          min-width: 130px;
          margin-right: 15px;
          display: inline-block;
          background-color: white;
          border: 1px solid #009640;
          padding: 10px; }
          .home-sectors .tabs-panel.is-active .content .expert-container .expert h4 {
            margin-top: 0px;
            font-size: 16px;
            margin-bottom: 0px;
            color: #005326; }
          .home-sectors .tabs-panel.is-active .content .expert-container .expert span {
            font-size: 12px; }
    .home-sectors .tabs-panel.is-active .image {
      width: 40%;
      height: 100%;
      display: inline-block;
      background-size: cover;
      background-position: center;
      position: relative;
      float: right;
      min-height: 500px; }
      .home-sectors .tabs-panel.is-active .image .img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background-position: center;
        background-size: cover; }
    .home-sectors .tabs-panel.is-active .default-link-container {
      margin-top: 1em;
      display: block; }
  .home-sectors .tabs {
    border: 0px; }
  .home-sectors .tabs-title > a:focus, .home-sectors .tabs-title > a[aria-selected='true'] {
    background: #fefefe;
    text-decoration: underline;
    color: #003813;
    font-weight: bold; }
    .home-sectors .tabs-title > a:focus span, .home-sectors .tabs-title > a[aria-selected='true'] span {
      -webkit-transform: rotate(-90deg);
          -ms-transform: rotate(-90deg);
              transform: rotate(-90deg); }

.tabs .is-active {
  width: 100%; }
  .tabs .is-active .dropdown-options {
    opacity: 1 !important;
    z-index: 2;
    height: initial;
    margin-bottom: 1em;
    display: block; }

.dropdown-options {
  opacity: 0;
  z-index: -1;
  height: 0px;
  display: none; }
  .dropdown-options a {
    font-size: 16px !important;
    color: #009640 !important;
    line-height: 31px !important;
    padding: 5px 0px !important; }

.sectors-content-container {
  padding: 2em 3em;
  background-color: #f9f9f9;
  margin-bottom: 2em; }

.home-page .sectors-section {
  margin-top: -3em;
  margin-bottom: 3em;
  /* Track */
  /* Handle */
  /* Handle on hover */ }
  .home-page .sectors-section ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    position: relative; }
  .home-page .sectors-section ::-webkit-scrollbar-track {
    padding: 10px;
    background-color: white; }
  .home-page .sectors-section ::-webkit-scrollbar-thumb {
    background: #00E600;
    border-radius: 0px; }
  .home-page .sectors-section ::-webkit-scrollbar-thumb:hover {
    background: #005326; }
  .home-page .sectors-section .tabs-content.vertical {
    border: 0px; }

.sectors-nav-container .tabs.vertical .tabs-title {
  width: 43%;
  display: inline-block;
  float: left;
  margin-left: 4%; }

.sectors-nav-container .tabs.vertical .is-active {
  width: 94%;
  padding-top: 1em;
  background-color: #f7f7f7;
  padding: 1em 2em 1.5em;
  margin: 1em 0em 1em; }
  .sectors-nav-container .tabs.vertical .is-active a {
    background-color: #f7f7f7; }

.tabs-content {
  padding-top: 1em; }

.sectors-nav-container .tabs.vertical .is-active .dropdown-options a {
  display: inline-block;
  width: 50%;
  float: left;
  font-size: 14px !important;
  padding-bottom: 0px !important; }
  .sectors-nav-container .tabs.vertical .is-active .dropdown-options a:first-child {
    display: none; }

.swiper-button-next {
  background-image: none !important;
  right: 1em !important;
  left: auto !important; }
  .swiper-button-next:after {
    content: '';
    position: absolute;
    right: 18px;
    top: 17px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #ffffff;
    clear: both; }

.swiper-button-prev {
  background-image: none !important;
  right: 3.9em !important;
  left: auto !important; }
  .swiper-button-prev:after {
    content: '';
    position: absolute;
    right: 18px;
    top: 17px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 9px solid #ffffff;
    clear: both; }

.testimonials-swiper-container {
  overflow: visible; }
  .testimonials-swiper-container .swiper-slide {
    opacity: 0.3; }
  .testimonials-swiper-container .swiper-slide-active {
    opacity: 1; }
  .testimonials-swiper-container .swiper-slide-next {
    opacity: 1; }

.single-post .small-hero .grid-container .text-container .content .main-hero-content h1 {
  font-size: 31px;
  line-height: 46px; }

.secondary-navigation .sub-nav-content .sub-nav-main-content {
  margin-top: 6em; }

.sub-nav-content .news-tile a:hover {
  text-decoration: none !important;
  color: white !important; }

.sub-nav-content a:hover {
  text-decoration: none !important;
  color: white !important; }

.secondary-navigation .sub-nav-content {
  padding: 1em 4em;
  padding-right: 11%; }

.search-container .wpdreams_asl_container:after {
  content: " ";
  width: 23px;
  height: 23px;
  position: absolute;
  right: 0;
  top: 18px;
  background-image: url("/wp-content/uploads/2020/05/search.png");
  background-size: cover; }

.search-icon {
  margin-left: 20px;
  margin-right: 15px; }

.search-icon {
  display: inline-block !important; }

.slide-out-menu .search-icon {
  display: none !important; }

.events-navigation a span {
  display: block;
  color: #045627;
  font-size: 17px;
  margin-bottom: 3px; }

.secondary-navigation .sub-nav-content .sub-nav-main-content ul li a {
  color: white;
  font-size: 20px;
  line-height: 26px;
  margin-top: 15px;
  display: block; }

.sub-nav-content .view-all-link {
  margin-bottom: 3em;
  font-size: 16px !important;
  color: #054a14 !important;
  display: block !important;
  position: absolute;
  bottom: 0;
  font-weight: bold; }

.sub-nav-content .social {
  position: absolute;
  bottom: 3em;
  right: 3em; }
  .sub-nav-content .social .fa {
    color: #00E600;
    font-size: 20px;
    margin-left: 0.6em; }

.secondary-navigation .sub-nav-content {
  padding: 1em 4em;
  max-width: 900px;
  position: relative; }

.knowledge-navigation .news-tile .date {
  padding-left: 0px;
  display: block;
  color: #045627;
  font-size: 13px;
  margin-bottom: 3px;
  font-weight: 600; }

.header-fixed ul .search-icon {
  display: none !important; }

.home-page .sectors-section {
  margin-top: 3em;
  margin-bottom: 3em; }

.area-page .single-people .grid-x {
  padding: 0px; }

.area-page .single-people {
  margin-top: -4em; }

.area-page .single-people .content {
  padding-top: 9em; }
  .area-page .single-people .content h2 {
    margin-bottom: 15px;
    color: #003813; }
  .area-page .single-people .content h4 {
    color: #009640; }

.area-page .text-left-image-right {
  padding: 2em 0em 0em; }
  .area-page .text-left-image-right .grid-x {
    padding-bottom: 0em; }
  .area-page .text-left-image-right .content {
    padding-top: 3em;
    padding-bottom: 9em;
    padding-left: 2em; }

.funding-tile h3 {
  font-size: 20px;
  font-weight: 400;
  color: #025329;
  text-decoration: underline; }

.area-page .tiles-container {
  background-color: white;
  padding-bottom: 3em; }

.area-page .slider-section .swiper-container-slider-section-single {
  margin-top: 4em; }

.small-hero .grid-container .image-container {
  background-size: cover;
  background-position-y: 99px;
  background-position-x: center; }

.slider-section .swiper-container-slider-section-single .swiper-slide .content {
  background-image: url(/wp-content/uploads/2020/05/device-callout.png);
  background-size: cover;
  background-position-y: top;
  background-position-x: 47%; }

div.asl_w .probox .proinput input.autocomplete {
  display: none; }

.careers-page .text-left-image-right {
  padding: 0em; }
  .careers-page .text-left-image-right .grid-x {
    padding: 0em; }
  .careers-page .text-left-image-right .content {
    padding-top: 5em;
    padding-bottom: 5em; }

h1 {
  font-size: 40px;
  font-weight: 400;
  line-height: 50px; }

.large-hero .grid-container .text-container .content .circle-device {
  height: 634px;
  width: 700px;
  right: -65%; }

.home-page .tiles-container {
  padding: 3em 0em 1em; }

.search-icon-mobile {
  display: none !important; }

.single-news .small-hero .grid-container .text-container p {
  display: none; }

.page-template-page-connect .get-in-touch-container {
  display: 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-left: 0px;
  border-right: 0px;
  border-top: 0px;
  background-color: #005326;
  box-shadow: none;
  transition: none;
  color: white; }

.sf-field-search label input {
  color: white;
  position: relative; }

.sf-field-search {
  position: relative; }
  .sf-field-search:after {
    content: " ";
    width: 23px;
    height: 23px;
    position: absolute;
    left: 20px;
    top: 26px;
    background-image: url(/wp-content/uploads/2020/05/search.png);
    background-size: cover; }

.sf-field-search label input {
  border-bottom: 1px solid #066d37;
  padding-left: 42px !important; }

.filter-dropdown-container {
  padding-top: 0px; }

.people-page .sidebar-container .main-content {
  padding: 2.5em 0.1em; }

.sidebar-container .main-content .event-tile h3 {
  min-height: 90px; }

.filter-dropdown-container .content form {
  width: 70%;
  display: inline-block; }
  .filter-dropdown-container .content form .sf-field-search {
    width: 100%; }

.sector-dropdown-wrapper {
  width: 13%;
  display: inline-block; }
  .sector-dropdown-wrapper .button {
    width: 100%;
    background-color: rgba(2, 83, 38, 0);
    border: 0px;
    color: white !important;
    font-weight: 400;
    text-align: left;
    margin-top: 20px; }
    .sector-dropdown-wrapper .button:after {
      right: auto;
      margin-left: 16px;
      border-left: 7px solid #00e601; }
    .sector-dropdown-wrapper .button:hover {
      color: #00E600 !important; }
      .sector-dropdown-wrapper .button:hover:after {
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s; }
    .sector-dropdown-wrapper .button:active:after {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      transition: -webkit-transform 0.3s;
      transition: transform 0.3s;
      transition: transform 0.3s, -webkit-transform 0.3s; }

.area-dropdown-wrapper {
  width: 13.5%;
  display: inline-block; }
  .area-dropdown-wrapper .button {
    width: 100%;
    background-color: rgba(2, 83, 38, 0);
    border: 0px;
    color: white !important;
    font-weight: 400;
    text-align: right;
    margin-top: 20px; }
    .area-dropdown-wrapper .button:after {
      right: auto;
      margin-left: 16px;
      border-left: 7px solid #00e601; }
    .area-dropdown-wrapper .button:hover {
      color: #00E600 !important; }
      .area-dropdown-wrapper .button:hover:after {
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s; }
    .area-dropdown-wrapper .button:active:after {
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      transition: -webkit-transform 0.3s;
      transition: transform 0.3s;
      transition: transform 0.3s, -webkit-transform 0.3s; }

.filter-dropdown-container .dropdown-pane {
  padding: 2em 1em 1em;
  border: 0px solid #cacaca;
  background-color: rgba(2, 83, 38, 0.91);
  color: white;
  top: 103px !important;
  max-height: 300px;
  overflow-y: scroll; }
  .filter-dropdown-container .dropdown-pane ul {
    list-style: none; }
    .filter-dropdown-container .dropdown-pane ul li label {
      color: white;
      font-size: 16px;
      margin-bottom: 1em; }
      .filter-dropdown-container .dropdown-pane ul li label:hover {
        color: #00E600; }

.filter-dropdown-container .sf-field-taxonomy-sector, .filter-dropdown-container .sf-field-taxonomy-areas {
  display: none !important; }

.search-filter-results {
  position: relative;
  z-index: 1;
  min-height: 400px; }
  .search-filter-results .no-results {
    font-size: 20px;
    padding: 2em; }

.knowledge-page .filter-dropdown-container .content ul {
  list-style: none;
  width: 70%;
  display: inline-block; }
  .knowledge-page .filter-dropdown-container .content ul li {
    display: inline-block; }
    .knowledge-page .filter-dropdown-container .content ul li a {
      font-size: 19px;
      color: white;
      padding-right: 40px;
      margin-left: 20px; }
      .knowledge-page .filter-dropdown-container .content ul li a:hover {
        color: #00E600 !important; }

.knowledge-page .filter-dropdown-container .content form {
  display: none; }

@media screen and (max-width: 63.9375em) {
  .knowledge-page .filter-dropdown-container .content ul {
    width: 46%; }
  .knowledge-page .filter-dropdown-container .content ul li a {
    font-size: 19px;
    color: white;
    padding-right: 15px;
    margin-left: 17px; }
  .filter-dropdown-container .content form {
    width: 48%; }
  .sector-dropdown-wrapper {
    width: 25%; }
  .area-dropdown-wrapper {
    width: 25%; }
  .ktn-submenu {
    position: relative;
    /* Track */
    /* Handle */
    /* Handle on hover */ }
    .ktn-submenu::-webkit-scrollbar {
      width: 10px;
      height: 8px;
      position: relative; }
    .ktn-submenu::-webkit-scrollbar-track {
      padding: 10px;
      background-color: white;
      border: 0px !important; }
    .ktn-submenu::-webkit-scrollbar-thumb {
      background: #00E600;
      border-radius: 0px;
      border: 0px !important; }
    .ktn-submenu::-webkit-scrollbar-thumb:hover {
      background: #005326;
      border: 0px !important; }
    .ktn-submenu .vertical {
      border: 0px; }
  .large-hero .grid-container .text-container {
    padding: 3% 2em; }
  .small-hero .grid-container .image-container {
    background-size: cover;
    background-position-y: center; }
  h1 {
    font-size: 42px;
    line-height: 53px; }
  p {
    font-size: 16px; }
  .breadcrumb {
    font-size: 16px; }
  .large-hero .grid-container {
    max-width: 100%;
    height: 100%;
    padding: 0px; }
  .large-hero .grid-container .grid-x {
    height: initial; }
  .large-hero {
    min-height: 0px; }
  .home-page .sectors-section {
    margin-top: 3em; }
  .home-sectors .tabs-panel.is-active .image, .home-sectors .tabs-panel.is-active .content {
    width: 100%; }
  .slider-section .swiper-container-slider-section .swiper-slide-active {
    margin-left: 0px;
    margin-right: 0px;
    width: 100% !important;
    margin-top: 0em; }
  .slider-section .swiper-container-slider-section {
    overflow-y: visible;
    padding: 0em 0em 0em; }
  .home-page .slider-section {
    background-color: #fefefe; }
  .home-sectors .tabs-panel.is-active .image {
    min-height: 300px; }
  .event-tile .content-container {
    min-height: 250px; }
  .event-tile .date {
    line-height: 23px;
    font-size: 16px;
    padding: 1.5em 1em; }
  .default-link {
    font-size: 17px; }
  .home-page .tiles-container {
    padding: 1em 0em 0em; }
  .home-page .case-study-container {
    padding: 2em 1em; }
  .twitter-feed {
    margin-top: 3em; }
  .slider-section .swiper-container-slider-section .swiper-button-next {
    opacity: 1 !important;
    top: initial;
    bottom: 0;
    right: 0;
    border-right: 0px; }
  .slider-section .swiper-container-slider-section .swiper-button-prev {
    opacity: 1 !important;
    top: initial;
    bottom: 0;
    left: 0; }
  .small-hero .grid-container .text-container {
    padding: 100px 3em 6%;
    min-height: 0px; }
  .small-hero .grid-container .text-container .content .logo {
    display: none; }
  .small-hero .grid-container .text-container .content {
    max-width: 100%;
    float: none;
    margin-top: 3em; }
  .small-hero .grid-container .image-container {
    min-height: 33vh; }
  .information-block .content {
    padding-right: 2em;
    position: relative;
    padding-left: 2em;
    margin-bottom: 2em; }
  .information-block .content span {
    left: -13px; }
  .quote-block .image-container .image {
    position: relative;
    width: 100%;
    height: 300px;
    top: 0;
    margin-bottom: 0em; }
  .quote-block .content h2 {
    font-size: 22px; }
  .quote-block {
    padding: 2em 1em 0em; }
  .testimonials-swiper-container {
    padding-bottom: 0em; }
  .quote-slider {
    padding: 2em 1em; }
  .ktn-people {
    padding: 3em 1em 0em; }
  .ktn-people .text-container .people-swiper-container .swiper-slide .job-title {
    opacity: 1; }
  .ktn-people .text-container .people-swiper-container .people-swiper-button-prev {
    left: 86%; }
  .ktn-people .text-container .people-swiper-container .people-swiper-button-next {
    left: 93%; }
  .reports-section .content {
    margin-bottom: 1.5em; }
  .breadcrumb p {
    display: inline-block; }
  .filter-dropdown-container .content {
    max-width: 100%; }
  .sf-field-search {
    width: 64%; }
  .page-id-309 .sidebar-container .grid-container {
    padding: 0em; }
  .events-page .funding-tile {
    width: 100%;
    padding: 1em 3em 0em;
    margin-bottom: 0em; }
  .sidebar-container .sidebar {
    padding: 1em 2em 3em; }
  .ktn-submenu {
    overflow-x: scroll;
    white-space: nowrap;
    padding: 15px 0px 17px; }
  .sector-page .text-left-image-right {
    background-color: #F5FAF6;
    padding: 2em 1em; }
  .text-left-image-right .image {
    margin-top: 2em; }
  .ktn-areas {
    padding: 2em 1.5em; }
  .sector-page .funding-tile {
    border-right: 0px; }
  .funding-tile .content-container {
    position: relative;
    height: initial !important; }
  .event-tile .content-container {
    min-height: 250px; }
  .sector-page .event-tile {
    width: 100%;
    margin-bottom: 0em; }
    .sector-page .event-tile .tile-content {
      width: 100%; }
    .sector-page .event-tile .content {
      width: 79%; }
    .sector-page .event-tile .date {
      width: 21%; }
  .programmes-tile {
    margin-top: 2em; }
  .programmes-section {
    padding: 2em 1em; }
  .people-page .sf-field-search {
    width: 66%; }
  .knowledge-centre-tiles .news-tile .image {
    width: 32%; }
  .knowledge-centre-tiles .news-tile .content {
    padding-left: 38%; }
  .text-left-image-right {
    padding: 2em 1em; }
  .single-people .content {
    padding-top: 2em;
    padding-bottom: 2em;
    padding-left: 2em;
    padding-right: 2em; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .content {
    padding: 7%; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .image {
    height: 111% !important;
    margin-top: -3.5%; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .content h3 {
    margin-bottom: 0.5em;
    font-size: 30px;
    line-height: 40px; }
  .area-page .slider-section {
    margin-bottom: 2em; }
  .contact-page .small-hero .grid-container .text-container {
    padding-left: 0em;
    padding-right: 0em; }
  .contact-page .small-hero .grid-container .text-container .content {
    max-width: 100%;
    padding: 0em 4em; }
  .contact-page .small-hero .tel-number {
    margin-top: 4em; }
  .contact-page .small-hero .tel-number .tel-container {
    padding: 0em 1em; }
  .contact-page .location-container {
    max-width: 100%;
    margin-left: auto;
    padding: 3em;
    padding-right: 3em;
    padding-left: 3em; }
  .contact-page .contact-form-container {
    max-width: 100%;
    padding: 1em 3em;
    margin-top: 4em; }
  .job-vacancies-section {
    padding: 2em 1em; }
  .job-vacancies-section table thead .job-category, .job-vacancies-section table tr .job-category {
    padding: 25px 15px; }
  .smaller-hero .grid-container .text-container {
    padding: 20px 3em 6%;
    min-height: 0px; }
  .single-people .sidebar-container .sidebar {
    padding: 0em 0em 3em; }
  .single-people .content {
    padding-left: 0em;
    padding-right: 0em; }
  .smaller-hero .green-bar .logo-container .logo {
    display: none; }
  .single-people .sidebar-container {
    padding: 1em; }
  .single-people .sidebar-container .main-content {
    padding: 4em 1.5em;
    padding: 2em 3em; }
  h1 p {
    font-size: 42px;
    line-height: 53px; }
  .sidebar-container .main-content .buttons-container .button {
    max-width: 64%; }
  .single-job .sidebar {
    padding-top: 2em; }
  .single-job .sidebar-container .main-content .buttons-container .button {
    max-width: 83%; }
  .sectors-nav-container .tabs.vertical .tabs-title {
    width: 92%;
    display: block;
    float: left;
    margin-left: 4%; }
  .tabs-content {
    padding-top: 0em; }
  .sectors-nav-container {
    max-height: 700px; }
  .sectors-nav-container ul li a {
    line-height: 24px; }
  .sectors-nav-container .tabs.vertical .tabs-title {
    width: 100%;
    display: block;
    float: none;
    margin-left: 0px;
    padding: 0px;
    background-color: white; }
  .sectors-nav-container .tabs.vertical .is-active .dropdown-options a {
    display: inline-block;
    width: 100%;
    float: left;
    font-size: 16px !important;
    padding-bottom: 2px !important;
    background-color: white; }
  .tabs .is-active .dropdown-options {
    display: block;
    margin-bottom: 2em;
    float: left; }
  .sectors-nav-container .tabs.vertical .is-active a {
    background-color: white; }
  .secondary-navigation .sub-nav-content {
    padding: 1em 4em 1em 2em; }
  .secondary-navigation .sub-nav-content .sub-nav-main-content {
    margin-top: 3em; }
  .knowledge-navigation ul li:last-child {
    display: block !important;
    width: 100% !important; }
  .secondary-navigation .sub-nav-content .sub-nav-main-content ul li a {
    font-size: 17px; }
  .secondary-navigation .sub-nav-content .sub-nav-main-content ul li {
    width: 100%; }
  .secondary-navigation .sub-nav-content .sub-nav-main-content ul li a {
    margin-top: 10px; }
  .swiper-button-next {
    right: 0em !important; }
  .swiper-button-prev {
    right: 2.7em !important; }
  .search-icon-mobile {
    display: none !important; }
  .quote-block .content h2 {
    font-size: 29px; }
  .quote-block .image-container .image {
    height: 478px;
    top: -100px; }
  .sector-page .event-tile .content-container {
    min-height: 0px; }
  .area-page .text-left-image-right {
    padding: 0em 1em 0em; }
  .area-page .text-left-image-right .content {
    padding-top: 2em;
    padding-bottom: 3em;
    padding-left: 0em; }
  .area-page .single-people {
    margin-top: 1em; }
  .area-page .single-people .content {
    padding-top: 3em;
    padding-left: 1em;
    padding-bottom: 3em;
    padding-right: 2em; }
  .area-page .news-tile .content {
    padding-left: 0px;
    width: 100%; }
  .area-page .news-tile .image {
    height: 150px;
    width: 100%;
    margin-bottom: 1em;
    position: relative; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .image {
    height: 121% !important; } }

@media screen and (max-width: 39.9375em) {
  .area-page .text-left-image-right .image {
    margin-top: 0em; }
  .programmes-section {
    padding: 1em 0.5em; }
  .area-page .single-people .content {
    padding-top: 2em;
    padding-left: 0em;
    padding-bottom: 1em;
    padding-right: 1em; }
  .area-page .text-left-image-right {
    padding: 0em; }
  .area-page .slider-section .swiper-container-slider-section-single {
    margin-top: 0em; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .image {
    margin-bottom: 0em !important; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .content {
    padding: 2em 2em 3em !important; }
  .quote-block .image-container .image {
    height: 278px;
    top: 0px; }
  .sector-page .event-tile {
    margin-bottom: 1em; }
  .event-tile h3 {
    font-size: 15px; }
  .about-device {
    display: none; }
  .quote-block .content h2 {
    font-size: 20px !important;
    line-height: 28px; }
  .testimonials-swiper-container {
    overflow: hidden; }
  .testimonials-swiper-container span {
    opacity: 0.3;
    font-size: 14px; }
  .large-hero .grid-container .text-container {
    padding: 3% 1.5em; }
  .search-icon-desktop {
    display: none !important; }
  .search-icon-mobile {
    display: inline-block !important; }
  .header ul .search-icon {
    float: none; }
  .search-container .wpdreams_asl_container:after {
    right: 23px; }
  .show-for-medium {
    display: none !important; }
  .default-link {
    font-size: 15px; }
  h1 {
    font-size: 32px;
    line-height: 43px; }
  p {
    font-size: 14px; }
  .breadcrumb {
    font-size: 15px; }
  .large-hero .grid-container .image-container .content .live-now-container .live-button {
    height: 90px;
    width: 25.3%;
    float: right;
    max-width: 83px; }
  .large-hero .grid-container .image-container .content .live-now-container .live-content {
    width: 52%; }
  .large-hero .grid-container .image-container .content .live-now-container .live-content p {
    width: 100%;
    font-size: 12px; }
  .large-hero .grid-container .image-container .content .live-now-container {
    left: 0; }
  .home-page .sectors-section {
    margin-top: 2em; }
  .sectors-nav-container ul li a {
    padding: 16px 0px;
    font-size: 18px; }
  .home-page .sectors-section .tabs-content.vertical {
    margin-top: 1.5em; }
  .slider-section .swiper-container-slider-section .swiper-slide .image {
    width: 100%;
    position: relative;
    height: 200px !important; }
  .slider-section .swiper-container-slider-section .swiper-slide .content {
    width: 100%;
    padding: 0px;
    width: 86%;
    margin: 7%; }
  .slider-section .swiper-container-slider-section .swiper-slide-active .content h3 {
    font-size: 20px; }
  .slider-section .swiper-container-slider-section .swiper-button-next {
    opacity: 1 !important;
    top: 177px;
    right: 0;
    border-right: 0px; }
  .slider-section .swiper-container-slider-section .swiper-button-prev {
    opacity: 1 !important;
    top: 177px;
    left: 0; }
  .slider-section .swiper-container-slider-section .swiper-slide .content span {
    font-size: 14px; }
  .slider-section .swiper-container-slider-section .swiper-slide .content span:before {
    bottom: 10px; }
  .home-page .news-tile {
    padding: 0em;
    margin-bottom: 3em; }
  .sub-header {
    font-size: 15px; }
  .home-page .funding-tile {
    padding: 0em;
    margin-bottom: 3em; }
  .home-page .event-tile {
    padding: 0em;
    margin-bottom: 0em; }
  .home-page .case-study-tile {
    width: 100%; }
  .button {
    padding: 20px 21px;
    font-size: 15px; }
  .home-page .case-study-container {
    padding: 1em 0em; }
  .button:after {
    top: 22px; }
  .event-tile .date {
    font-size: 20px; }
  .sectors-nav-container {
    max-height: 290px; }
  .home-page .sectors-section .tabs-content.vertical {
    margin-top: 2em;
    border-top: 1px solid #00e601;
    padding-top: 1.25em; }
  .home-sectors .tabs-panel.is-active .content h4 {
    font-size: 15px; }
  .home-sectors .tabs-panel.is-active .content {
    padding: 0em; }
  .home-sectors .tabs-panel.is-active {
    background-color: white;
    min-height: 0px; }
  .home-sectors .tabs-panel.is-active .image {
    display: none; }
  .home-sectors {
    margin-top: 1em; }
  .home-sectors .tabs-panel.is-active .content .expert-container .expert h4 {
    font-size: 13px; }
  .home-sectors .tabs-panel.is-active .content .expert-container .expert {
    margin-right: 6px; }
  .small-hero .grid-container .text-container {
    padding: 75px 1em 7%;
    min-height: 0px; }
  .small-hero .grid-container .text-container .content .main-hero-content p strong {
    font-size: 20px;
    font-weight: 400;
    line-height: 30px; }
  .information-block .content {
    padding-left: 1em;
    padding-right: 1em; }
  .quote-block {
    padding: 1em 0.5em; }
  .quote-block .content h2 {
    font-size: 19px;
    margin-top: 1em; }
  .testimonials-swiper-container p {
    padding: 0em 0em 0em;
    font-size: 15px; }
  .quote-slider {
    padding: 1em 1em 0em; }
  .ktn-people {
    padding: 3em 0.5em 0em; }
  .ktn-people .text-container {
    padding: 2em 0em; }
  .ktn-people .text-container .people-swiper-container .swiper-slide .job-title {
    font-size: 14px; }
  .ktn-people .text-container .people-swiper-container .people-swiper-button-prev {
    top: 25.6em;
    left: 0 !important; }
  .ktn-people .text-container .people-swiper-container .people-swiper-button-next {
    top: 25.6em;
    right: 0 !important;
    left: inherit; }
  .news-tile {
    padding: 0em 0.5em;
    margin-bottom: 3em; }
  .news-tile .image {
    position: relative;
    width: 100%;
    height: 200px;
    margin-bottom: 2em; }
  .news-tile h3 {
    font-size: 17px; }
  .news-tile .content {
    padding-left: 0em; }
  .reports-section .report h3 {
    font-size: 17px; }
  .events-page .funding-tile {
    padding: 1em 2em 0em;
    margin-left: 0px; }
  .sf-field-search {
    width: 100%; }
  .searchandfilter ul {
    margin-left: 0px; }
  .filter-dropdown-container .sf-field-taxonomy-sector, .filter-dropdown-container .sf-field-taxonomy-areas {
    width: 100%; }
  .events-page .sidebar li label {
    font-size: 14px; }
  [type="checkbox"],
  [type="radio"] {
    margin-bottom: 0em; }
  .searchandfilter h4 {
    font-size: 15px;
    margin-bottom: 0px;
    margin-top: 0em; }
  .about-page .sidebar-container .sidebar {
    padding: 1em 2em 0em;
    display: none; }
  .ktn-submenu a {
    padding: 0em 1em;
    font-size: 14px; }
  .ktn-submenu {
    padding: 6px 0px 13px; }
  .text-left-image-right .content {
    padding-right: 0em; }
  .sector-page .text-left-image-right {
    padding: 1em 0em; }
  .ktn-areas {
    padding: 1em 0.5em; }
  .ktn-areas .text-container .areas-swiper-container p {
    display: inline-block; }
  .ktn-areas .text-container {
    padding: 2em 0em; }
  .ktn-areas .text-container .areas-swiper-container {
    overflow-y: visible;
    padding-top: 0em;
    position: relative;
    margin-top: 0em; }
    .ktn-areas .text-container .areas-swiper-container .swiper-button-next, .ktn-areas .text-container .areas-swiper-container .swiper-button-prev {
      display: none; }
  .event-tile .date {
    font-size: 15px; }
  .sector-page .event-tile {
    padding: 0em; }
  .people-page .sf-field-search {
    width: 100%; }
  .sf-field-search label {
    padding-left: 30px !important; }
  .sf-field-taxonomy-sector label {
    padding-left: 30px !important; }
  .sf-field-taxonomy-sector label select {
    height: 66px;
    margin-bottom: 0px;
    padding-left: 20px;
    background-color: #044a23;
    font-size: 16px;
    border: 0px;
    box-shadow: none;
    color: white;
    margin-bottom: 0em; }
  .sf-field-search label input {
    height: 53px;
    margin-bottom: 0px;
    padding-left: 20px;
    background-color: #044924;
    font-size: 19px;
    border: 0px;
    box-shadow: none;
    border-bottom: 1px solid rgba(253, 253, 252, 0.14);
    margin-top: 13px;
    font-size: 16px;
    height: 63px; }
  .sidebar-container .main-content {
    padding: 2.5em 0.5em; }
  .people-tile .image {
    height: 300px; }
  .people-tile h3 {
    margin-top: 10px !important; }
  .knowledge-centre-tiles .news-tile .image {
    width: 100%; }
  .knowledge-centre-tiles .news-tile .content {
    padding-left: 0px;
    padding-top: 1em; }
  .sf-field-taxonomy-areas label {
    padding-left: 30px !important; }
  .sf-field-taxonomy-areas label select {
    height: 66px;
    padding-left: 20px;
    background-color: #044a23;
    font-size: 16px;
    border: 0px;
    box-shadow: none;
    color: white;
    margin-bottom: 1em; }
  .case-study-page .case-study-tile {
    margin-bottom: 2em; }
  .knowledge-centre-tiles {
    padding: 1em 0em; }
  .event-tile {
    padding: 0em; }
  .text-left-image-right {
    padding: 1.5em 0em; }
  .single-people .image {
    background-position: top center;
    margin-top: 2em; }
  .text-right-image-left .image-container {
    min-height: 350px; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .content {
    width: 85%;
    display: block;
    height: 100%;
    padding: 0px 8% 10%;
    margin-left: 0px;
    color: white; }
  .slider-section .swiper-container-slider-section-single .swiper-slide .image {
    margin-top: 0px;
    display: block;
    position: relative;
    height: 200px !important;
    width: 100%;
    margin-bottom: 2em; }
  .slider-section .swiper-container-slider-section-single {
    margin-top: 2em; }
  .area-page .slider-section {
    margin-bottom: 0em; }
  .careers-page .quote-slider p {
    font-size: 15px; }
  .job-vacancies-section table thead .job-title {
    letter-spacing: 2px; }
  .job-vacancies-section table thead {
    display: none; }
  .job-vacancies-section table tr {
    display: block;
    padding: 20px 0px; }
    .job-vacancies-section table tr td {
      display: block;
      padding: 0px; }
      .job-vacancies-section table tr td a {
        padding: 0px;
        display: block;
        max-width: 100px;
        font-size: 14px; }
  .job-vacancies-section table tr .job-title {
    padding: 0px;
    font-size: 23px; }
  .job-vacancies-section table thead .job-category, .job-vacancies-section table tr .job-category {
    font-size: 14px;
    padding: 0px; }
  .job-vacancies-section table tr .job-location {
    font-size: 13px;
    padding: 10px 0px;
    color: #003813; }
  .job-vacancies-section {
    padding: 2em 1em 0em; }
  .contact-page .small-hero .grid-container .text-container .content {
    padding: 0em 2em; }
  .contact-page h1 p {
    font-size: 34px;
    line-height: 53px; }
  .contact-page .small-hero .tel-number .tel-container a {
    font-size: 17px; }
  .contact-page .small-hero .tel-number {
    padding: 1.5em 1em; }
  .contact-page .location-container {
    max-width: 100%;
    margin-left: auto;
    padding: 2em;
    padding-right: 2em;
    padding-left: 2em;
    padding-bottom: 0em; }
  .contact-page .contact-form-container {
    max-width: 100%;
    padding: 1em 2em;
    margin-top: 2em; }
  .contact-page span.wpcf7-list-item {
    width: 48%; }
  .single-news .sidebar-container {
    padding: 0em; }
  .sidebar-container .main-content h2 {
    font-size: 21px; }
  .single-news .sidebar-container .main-content {
    padding: 2.5em 2em; }
  .sidebar-container .main-content .buttons-container .button {
    max-width: 100%;
    display: block; }
  .single-news .sidebar-container .sidebar {
    padding: 2em; }
  .single-news .sidebar-container .sidebar a {
    font-size: 15px; }
  .single-event .sidebar-container .sidebar {
    padding-top: 2em;
    margin-top: 0em;
    padding: 2em 0.5em; }
  .single-event .sidebar-container .sidebar p {
    font-size: 16px; }
  .single-event .sidebar-container .main-content {
    padding: 0em 0.5em 2em; }
  .single-event .sidebar-container .sidebar iframe {
    margin-bottom: 0em; }
  .single-event .sidebar-container .main-content h2 {
    margin-top: 0.5em; }
  .smaller-hero .grid-container .text-container {
    padding: 4px 1em 4em;
    min-height: 0px; }
  .single-job .sidebar-container .sidebar .sub-title {
    font-size: 16px; }
  .single-job .sidebar-container .sidebar p {
    font-size: 16px; }
  .single-job .sidebar {
    padding-bottom: 1em; }
  .filter-dropdown-container {
    padding: 0.5em 0em 1em; }
  h1 p {
    font-size: 32px;
    line-height: 43px; }
  .single-people .sidebar-container {
    padding: 2em; }
  .single-people .sidebar-container .grid-container {
    padding-left: 0em;
    padding-right: 0em; }
  .single-people .people-tile {
    margin-bottom: 0em; }
  .smaller-hero .green-bar {
    z-index: 0;
    height: 85px; }
  .smaller-hero .grid-container {
    margin-top: 85px; }
  .single-people .main-content strong, .single-people .main-content b {
    font-size: 17px; }
  .single-people .sidebar-container .sidebar {
    padding: 1em 0em 0em;
    background-color: #fdfdfc; }
  .single-people .sidebar-container .main-content {
    padding: 0em; }
  .sectors-nav-container .tabs.vertical .tabs-title {
    margin: 0em; }
  .sectors-nav-container ul li a {
    padding: 4px 0px;
    font-size: 17px; }
  .dropdown-options {
    margin-top: 10px; }
    .dropdown-options a {
      font-size: 14px !important;
      line-height: 20px !important; }
  .sectors-nav-container {
    padding: 1em;
    background-color: #f6faf6; }
  .sectors-nav-container .tabs.vertical .is-active a, .sectors-nav-container .tabs.vertical .tabs-title {
    background-color: #f6faf6; }
  .sectors-nav-container .tabs.vertical .is-active .dropdown-options a {
    display: inline-block;
    width: 100%;
    float: left;
    font-size: 14px !important;
    padding-bottom: 2px !important;
    background-color: #f6faf6; }
  .sectors-nav-container {
    position: relative; }
  .home-sectors .tabs-panel.is-active .image {
    display: block;
    min-height: 200px;
    margin-top: 2em; }
  .home-sectors .tabs-panel.is-active .content .expert-container {
    padding: 5px 0px 0px; }
  .sectors-nav-container ul li a {
    font-size: 15px; }
  .home-sectors {
    margin-bottom: 2em; }
  .sf-field-search:after {
    left: 45px;
    top: 41px; }
  .sf-field-search label input {
    border-bottom: 0px solid #066d37;
    padding-left: 54px !important;
    font-size: 14px; }
  .searchandfilter select.sf-input-select {
    font-size: 14px; }
  .sidebar-container .main-content h3 {
    font-size: 17px; }
  .breadcrumb hr {
    display: none; }
  .filter-dropdown-container .content form {
    width: 100%; }
  .sector-dropdown-wrapper {
    width: 25%; }
  .area-dropdown-wrapper {
    width: 25%; }
  .filter-dropdown-container .content form {
    width: 100%; }
  .sector-dropdown-wrapper {
    width: 100%; }
  .area-dropdown-wrapper {
    width: 100%; }
  .sector-dropdown-wrapper .button {
    border: 0px;
    color: white !important;
    font-weight: 400;
    margin-top: 20px;
    width: 100%;
    margin: 0px auto;
    background-color: #064824;
    padding: 20px 28px;
    text-align: left;
    margin-bottom: 1em; }
  .area-dropdown-wrapper .button {
    border: 0px;
    color: white !important;
    font-weight: 400;
    margin-top: 20px;
    width: 100%;
    margin: 0px auto;
    background-color: #064824;
    padding: 20px 28px;
    text-align: left; }
  .sf-field-search label {
    padding-left: 0px !important;
    width: 100%;
    margin: auto;
    display: block;
    margin-bottom: 4px; }
  .filter-dropdown-container {
    padding: 0em 0em 1.5em; }
  .filter-dropdown-container .dropdown-pane {
    top: initial !important; }
  .dropdown-pane {
    width: 85%; }
  .filter-dropdown-container .dropdown-pane {
    padding: 2em 1em 1em;
    border: 0px solid #cacaca;
    background-color: #094724;
    color: white;
    width: 100%;
    left: 0 !important;
    right: 0 !important;
    margin-top: 0px;
    position: relative; }
  .filter-dropdown-container .content {
    padding: 0em 1.5em; }
  .sf-field-search:after {
    left: 22px;
    width: 15px;
    top: 47px;
    height: 15px; }
  .filter-dropdown-container .dropdown-pane ul li label {
    font-size: 14px; }
  .filter-dropdown-container {
    padding: 0em 0em 0.5em; }
  .sector-dropdown-wrapper .button {
    margin-bottom: 0em; }
  .filter-dropdown-container .dropdown-pane {
    padding: 1em 1em 1em;
    border: 0px solid #cacaca;
    background-color: #094724;
    color: white;
    width: 100%;
    left: 0 !important;
    right: 0 !important;
    margin-top: 0px;
    position: relative;
    border-top: 2px solid #025326;
    margin-bottom: 2em; }
  .filter-dropdown-container {
    padding: 0em 0em 1.5em; }
  .sector-dropdown-wrapper .button {
    margin-bottom: 1em; }
  .knowledge-page .filter-dropdown-container .content ul {
    width: 100%;
    margin: 0px;
    margin-bottom: 0em;
    margin-top: 1em; }
    .knowledge-page .filter-dropdown-container .content ul li {
      display: block; }
      .knowledge-page .filter-dropdown-container .content ul li a {
        color: white;
        padding-right: 15px;
        margin-left: 17px;
        margin: 0px;
        padding: 18px 27px;
        font-size: 15px;
        background-color: #094724;
        margin-bottom: 1em;
        float: none;
        display: block; }
  .knowledge-page .filter-dropdown-container {
    padding: 1em 0em 2em; } }

.ktn-submenu {
  padding: 25px 2em; }

.home-page .sectors-section {
  margin-top: -2em;
  padding-top: 4em;
  margin-bottom: 3em;
  padding-left: 2em;
  padding-right: 2em; }

.home-sectors .knowledge-centre-tiles {
  overflow: hidden;
  padding: 1em; }

.home-sectors .tabs-panel.is-active .swiper-container {
  width: 65% !important;
  overflow: visible;
  margin: 0px; }
  .home-sectors .tabs-panel.is-active .swiper-container .swiper-slide {
    opacity: 0.3;
    margin-bottom: 4em; }
  .home-sectors .tabs-panel.is-active .swiper-container .swiper-slide-active {
    opacity: 1; }

.knowledge-centre-tiles {
  padding: 2em; }

.home-sectors .tabs-panel.is-active .swiper-slide .image {
  min-height: 125px;
  float: left;
  width: 37%;
  background-color: #003813;
  margin-bottom: 12px; }
  .home-sectors .tabs-panel.is-active .swiper-slide .image span {
    background-color: #f7f7f7;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 10px; }

.home-sectors .tabs-panel.is-active .image .img {
  background-color: #003813; }

.sectors-nav-container .tabs.vertical .tabs-title {
  width: 43%;
  display: inline-block;
  float: left;
  margin-left: 0%;
  margin-right: 4%; }

.home-sectors .tabs-panel.is-active {
  min-height: 0px; }

.home-sectors .swiper-container .swiper-button-prev {
  top: -39px !important;
  right: -42.5% !important;
  width: 38px !important;
  height: 38px !important; }
  .home-sectors .swiper-container .swiper-button-prev:after {
    right: 15px;
    top: 16px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: 7px solid #ffffff; }

.home-sectors .swiper-container .swiper-button-next {
  top: -39px !important;
  right: -50% !important;
  width: 38px !important;
  height: 38px !important; }
  .home-sectors .swiper-container .swiper-button-next:after {
    right: 15px;
    top: 16px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid #ffffff; }

.home-sectors .tabs-panel.is-active .swiper-slide .content {
  width: 53%;
  padding: 0em 1em; }
  .home-sectors .tabs-panel.is-active .swiper-slide .content h3 {
    font-size: 16px; }
  .home-sectors .tabs-panel.is-active .swiper-slide .content p {
    font-size: 15px;
    margin-bottom: 20px; }
  .home-sectors .tabs-panel.is-active .swiper-slide .content .default-link {
    font-size: 15px; }

.home-sectors .tabs-panel.is-active .swiper-slide .copy-content {
  display: block;
  float: left; }
  @media screen and (max-width: 39.9375em) {
    .home-sectors .tabs-panel.is-active .swiper-slide .copy-content {
      float: none;
      padding: 0em 1em; } }

.featured-title {
  font-size: 23px;
  color: #003813;
  margin-bottom: 20px; }

.sectors-nav-container ul li a {
  padding: 15px 0px;
  font-size: 17px; }

.home-page .sectors-section .tabs-content.vertical {
  background-color: #f7f7f7; }

.sectors-nav-container .tabs.vertical .is-active {
  width: 94% !important;
  position: relative; }

.home-sectors .tabs-panel.is-active {
  min-height: 95% !important;
  position: relative; }

.sectors-home-title {
  padding-right: 2em;
  margin-bottom: 0em;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  padding: 2.5em 1em 0em;
  z-index: 99999; }
  @media screen and (max-width: 63.9375em) {
    .sectors-home-title {
      position: relative;
      padding: 0.5em 0em;
      padding-bottom: 0em;
      height: initial; } }
  .sectors-home-title .the-content {
    width: 718px;
    max-width: 100%;
    float: right;
    padding-left: 3em; }
  .sectors-home-title h2 {
    color: #009640;
    font-size: 30px; }
  .sectors-home-title p {
    margin-bottom: 0px; }

.closeit {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #00E600;
  padding: 4px 24px 10px;
  font-size: 28px;
  color: #003813;
  z-index: 999999; }

.sectors-nav-container .tabs.vertical .is-active .dropdown-options a:first-child {
  display: block; }

@media screen and (max-width: 63.9375em) {
  .dropdown-options {
    margin-top: 0px; }
  .tabs .is-active .dropdown-options {
    display: inline-block;
    margin-bottom: 1em;
    float: none;
    height: initial; } }

.tabs-content {
  padding-top: 0em; }

.funding-tile h3 a {
  color: #003813; }

@media screen and (max-width: 63.9375em) {
  .home-page .sectors-section {
    margin-top: 2em;
    padding-top: 0em;
    margin-bottom: 3em; }
  .knowledge-centre-tiles {
    padding: 1em; }
  .sectors-nav-container ul li a {
    padding: 10px 0px;
    font-size: 16px; }
  .contact-page span.wpcf7-list-item {
    width: 48%; }
  .sectors-nav-container {
    margin-bottom: 2em; }
  .contact-page .small-hero .tel-number .tel-container {
    max-width: 100%;
    margin-left: auto; } }

@media screen and (max-width: 39.9375em) {
  .sectors-nav-container .tabs.vertical .tabs-title {
    width: 100%; }
  .knowledge-centre-tiles {
    padding: 0em;
    background-color: #f7f7f7; }
  .sectors-nav-container {
    margin-bottom: 0em; }
  .home-sectors .tabs-panel.is-active .swiper-container {
    width: 100% !important; }
  .home-sectors .tabs-panel.is-active .swiper-slide .image {
    min-height: 166px;
    float: left;
    width: 100%;
    background-color: #003813;
    margin-bottom: 1.5em; }
  .home-sectors .tabs-panel.is-active .swiper-slide .content {
    width: 86%;
    padding: 0em 1em; }
  .featured-title {
    font-size: 20px;
    color: #003813;
    margin-bottom: 0px; }
  .featured-sector-news .grid-container {
    padding-left: 0em;
    padding-right: 0em; }
  .home-page .sectors-section .tabs-content.vertical {
    margin-top: 2em;
    border-top: 0px solid #00e601;
    padding-top: 0em; }
  .featured-title {
    font-size: 18px;
    color: #003813;
    margin-bottom: 0px;
    text-align: center; }
  .home-sectors .tabs-panel.is-active .swiper-slide .image span {
    padding-left: 6px;
    display: none; }
  .home-sectors .tabs-panel.is-active .swiper-slide .content {
    width: 90%;
    padding: 0em 1em;
    margin: auto;
    display: block; }
  .sectors-nav-container .tabs.vertical .is-active {
    width: 100% !important;
    position: relative; }
  .home-sectors .tabs-panel.is-active .content {
    padding: 1.5em 1.5em;
    background-color: #f7f7f7; }
  .slide-out .sub-nav-container .content .contain-content .main-primary-menu li:hover div:after {
    display: none !important;
    opacity: 0px !important; }
  .ktn-submenu {
    padding: 13px 0em; }
  .contact-page span.wpcf7-list-item {
    width: 95%;
    margin-top: 6px;
    font-size: 13px;
    padding: 10px; }
  .contact-page .checkbox-container .wpcf7-checkbox {
    margin-top: 1em;
    display: block;
    height: 300px;
    overflow-y: scroll;
    /* Track */
    /* Handle */
    /* Handle on hover */ }
    .contact-page .checkbox-container .wpcf7-checkbox::-webkit-scrollbar {
      width: 10px;
      height: 8px;
      position: relative; }
    .contact-page .checkbox-container .wpcf7-checkbox::-webkit-scrollbar-track {
      padding: 10px;
      background-color: white;
      border: 0px !important; }
    .contact-page .checkbox-container .wpcf7-checkbox::-webkit-scrollbar-thumb {
      background: #00E600;
      border-radius: 0px;
      border: 0px !important; }
    .contact-page .checkbox-container .wpcf7-checkbox::-webkit-scrollbar-thumb:hover {
      background: #005326;
      border: 0px !important; }
  .case-study-page .case-study-tile .main-content h3 {
    font-size: 21px;
    color: #009640; }
  .case-study-page .case-study-tile .content {
    padding: 2em 1em; }
  .opportunities-page .sidebar-container .sidebar {
    display: block; }
    .opportunities-page .sidebar-container .sidebar form {
      display: none; }
  .arrow-active:after {
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg); } }

.sidebar-options form ul li.sf-field-taxonomy-funder label {
  width: 100%;
  max-width: 300px; }
  .sidebar-options form ul li.sf-field-taxonomy-funder label select {
    height: 50px;
    padding-left: 19px;
    border: 2px solid #00E600 !important;
    color: #003813; }

@media screen and (max-width: 63.9375em) {
  .home-page .sectors-section {
    padding-left: 0em;
    padding-right: 0em; } }

.pagination {
  display: block;
  text-align: left;
  margin-top: 1em;
  border-top: 1px solid #cacaca;
  padding-top: 1.5em; }
  .pagination a {
    display: inline-block; }

.upto-date input {
  float: left;
  margin-top: 7px;
  margin-right: 10px; }

.upto-date label {
  width: 80%; }

footer .main-footer .newsletter-container h3 {
  font-size: 16px; }

footer .main-footer .newsletter-container {
  margin-top: 0em !important; }

footer .main-footer .newsletter-container .qa-input-email {
  height: 49px !important;
  font-size: 16px !important; }

.main-footer #signup p label {
  width: 80%;
  margin-top: 1em; }

.main-footer [type="checkbox"], .main-footer [type="radio"] {
  float: left;
  margin-top: 20px; }

.secondary-navigation .sub-nav-content .sectors-navigation {
  margin-top: 2em; }

.search-filter-results .funding-tile h3 {
  text-decoration: none;
  font-weight: bold; }

.filter-dropdown-container .dropdown-pane ul li label {
  font-size: 15px; }

.filter-dropdown-container .dropdown-pane {
  padding: 2em 0.5em 1em; }

.dropdown-pane {
  width: 315px; }

.text-left-image-right .image-container {
  max-height: 600px; }

.page-template-page-news .area-dropdown-wrapper, .page-template-page-perspectives .area-dropdown-wrapper, .page-template-page-case-studies .area-dropdown-wrapper, .page-template-page-webinars .area-dropdown-wrapper, .page-template-page-events .area-dropdown-wrapper {
  display: none; }

.page-template-page-news .sf-field-search label, .page-template-page-perspectives .sf-field-search label, .page-template-page-case-studies .sf-field-search label, .page-template-page-webinars .sf-field-search label, .page-template-page-events .sf-field-search label {
  width: 98%; }

.page-template-page-news .filter-dropdown-container .content form, .page-template-page-perspectives .filter-dropdown-container .content form, .page-template-page-case-studies .filter-dropdown-container .content form, .page-template-page-webinars .filter-dropdown-container .content form, .page-template-page-events .filter-dropdown-container .content form {
  width: 76.5%; }
  @media screen and (max-width: 63.9375em) {
    .page-template-page-news .filter-dropdown-container .content form, .page-template-page-perspectives .filter-dropdown-container .content form, .page-template-page-case-studies .filter-dropdown-container .content form, .page-template-page-webinars .filter-dropdown-container .content form, .page-template-page-events .filter-dropdown-container .content form {
      width: 70%; } }
  @media screen and (max-width: 39.9375em) {
    .page-template-page-news .filter-dropdown-container .content form, .page-template-page-perspectives .filter-dropdown-container .content form, .page-template-page-case-studies .filter-dropdown-container .content form, .page-template-page-webinars .filter-dropdown-container .content form, .page-template-page-events .filter-dropdown-container .content form {
      width: 100%; } }

.page-template-page-events .sf-field-search label {
  width: 98%; }

.page-template-page-events .filter-dropdown-container .content form {
  width: 76.5%; }
  @media screen and (max-width: 63.9375em) {
    .page-template-page-events .filter-dropdown-container .content form {
      width: 74.5%; } }
  @media screen and (max-width: 39.9375em) {
    .page-template-page-events .filter-dropdown-container .content form {
      width: 100%; } }
  .page-template-page-events .filter-dropdown-container .content form .sf-field-search {
    width: 70%; }
    @media screen and (max-width: 63.9375em) {
      .page-template-page-events .filter-dropdown-container .content form .sf-field-search {
        width: 56%; } }
    @media screen and (max-width: 39.9375em) {
      .page-template-page-events .filter-dropdown-container .content form .sf-field-search {
        width: 100%; } }
  .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status {
    display: inline-block;
    width: 30%; }
    @media screen and (max-width: 39.9375em) {
      .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status {
        width: 100%; } }
    .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status select {
      width: 100%;
      height: 53px;
      background-color: #025326;
      border: 0px;
      color: white;
      font-size: 18px;
      border: 0px;
      box-shadow: none;
      background-image: none; }
      @media screen and (max-width: 63.9375em) {
        .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status select {
          font-size: 15px; } }
      @media screen and (max-width: 39.9375em) {
        .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status select {
          padding-left: 27px; } }
    .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status label, .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status select {
      width: 100%;
      height: 57px;
      padding-left: 20px; }
      @media screen and (max-width: 39.9375em) {
        .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status label, .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status select {
          background-color: #064824; } }
    .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status label {
      position: relative; }
      @media screen and (max-width: 39.9375em) {
        .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status label {
          padding-left: 0px; } }
      .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status label:after {
        content: '';
        position: absolute;
        left: 190px;
        top: 27px;
        width: 0;
        height: 0;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 7px solid #00E600;
        clear: both; }
        @media screen and (max-width: 39.9375em) {
          .page-template-page-events .filter-dropdown-container .content form .sf-field-taxonomy-event_status label:after {
            left: 152px;
            top: 25px; } }

.ktn-people .text-container .people-swiper-container .swiper-slide .hover {
  padding: 0px 2em; }
  .ktn-people .text-container .people-swiper-container .swiper-slide .hover .content {
    padding-top: 2em;
    padding-bottom: 2em;
    display: block; }

.ktn-people .text-container .people-swiper-container .people-swiper-button-prev {
  top: 91%; }

.ktn-people .text-container .people-swiper-container .people-swiper-button-next {
  top: 91%; }

.ktn-people .text-container .people-swiper-container .swiper-slide .hover .default-link {
  margin-left: 0px; }

.logo-anchor {
  position: relative; }
  .logo-anchor span {
    background-color: white;
    height: 37px;
    width: 28%;
    display: block;
    position: absolute;
    top: 44px;
    z-index: -1;
    left: 2em; }
    @media screen and (max-width: 39.9375em) {
      .logo-anchor span {
        background-color: white;
        height: 41px;
        width: 68%;
        display: block;
        position: absolute;
        top: 19px;
        z-index: -1;
        left: 8px; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .slide-out-menu .logo-anchor span {
    display: none; } }

.page-template-page-events .event-tile {
  float: none; }

.email-subscription {
  font-size: 23px;
  color: white;
  margin-bottom: 13px; }

.information-block {
  padding-left: 4em;
  padding-right: 4em; }
  @media screen and (max-width: 63.9375em) {
    .information-block {
      padding-left: 0em;
      padding-right: 0em; } }

.secondary-navigation .sub-nav-content .sub-nav-main-content {
  margin-top: 2em; }

.navigation-event-title {
  font-size: 21px;
  line-height: 28px;
  display: inline-block; }

.sectors-section .programmes-container {
  display: none; }

.view-news-home-sectors {
  position: absolute;
  bottom: 26px;
  right: 1.5em; }

.cta-section .button {
  display: inline-block;
  width: 400px;
  max-width: 100%; }

.single-event .sidebar-container .main-content .button {
  display: inline-block;
  width: 400px;
  max-width: 100%; }

footer .footer-contact {
  background-color: #009640;
  color: white;
  padding: 2em 0em; }
  footer .footer-contact a {
    color: #00E600;
    text-decoration: underline; }
  footer .footer-contact h2 {
    font-size: 39px; }

footer .main-footer {
  background-color: #005326;
  padding: 2em 1em 1.5em;
  background-image: url("/wp-content/uploads/2020/04/footer-background.png");
  background-repeat: no-repeat;
  background-position: 44%;
  background-size: contain; }
  footer .main-footer a {
    display: block;
    font-size: 17px;
    margin-bottom: 10px;
    color: #00E600; }
  footer .main-footer h3 {
    color: white;
    font-size: 21px;
    margin-bottom: 20px; }
    footer .main-footer h3 a {
      color: white;
      display: inline-block;
      margin-bottom: 12px;
      font-size: 19px; }
  footer .main-footer .newsletter-container {
    margin-top: 5em;
    width: 84%; }
    footer .main-footer .newsletter-container h3 {
      margin-bottom: 1em; }
    footer .main-footer .newsletter-container .qa-input-email {
      background-color: #025326;
      border: 0;
      border-bottom: 1px solid #008239;
      box-shadow: none;
      width: 75%;
      height: 60px;
      display: inline-block;
      font-size: 18px;
      padding-left: 0px; }
    footer .main-footer .newsletter-container button {
      width: 23%;
      display: inline-block;
      border: 1px solid #038239;
      height: 60px;
      margin-left: -4px;
      color: white;
      font-size: 18px; }
  footer .main-footer .advice-container a {
    display: block; }
  footer .main-footer .programmes-container {
    padding-right: 9%;
    border-right: 2px solid #0d6333; }
  footer .main-footer .footer-nav .social {
    color: #00E600;
    font-size: 20px; }
    footer .main-footer .footer-nav .social span {
      display: block;
      margin-bottom: 10px;
      margin-top: 41px;
      font-size: 18px; }
    footer .main-footer .footer-nav .social a {
      display: inline-block; }
      footer .main-footer .footer-nav .social a .fa {
        font-size: 21px;
        color: #00E600;
        margin-left: 20px; }
  footer .main-footer .copyright-container {
    color: #012e0b;
    font-size: 14px;
    margin-top: 1em; }

@media screen and (max-width: 63.9375em) {
  footer .main-footer .programmes-container {
    text-align: left;
    margin-top: 2em;
    border-right: 0px;
    padding-right: 0px; }
  footer .main-footer .newsletter-container {
    margin-top: 3em;
    width: 100%; }
  footer .main-footer .newsletter-container .qa-input-email {
    background-color: #003813;
    padding-left: 20px; }
  footer .footer-nav {
    text-align: left;
    margin-top: 2em; }
  footer .main-footer {
    background-attachment: fixed; }
  footer .main-footer .footer-nav .social a .fa {
    margin-left: 0px;
    margin-right: 20px; }
  footer .footer-contact h2 {
    font-size: 31px; }
  footer .footer-contact {
    padding: 2em 0em; } }

@media screen and (max-width: 39.9375em) {
  footer .main-footer {
    padding: 2em 0.5em 1.5em; }
  footer .main-footer h3 {
    font-size: 18px; }
  footer .main-footer a {
    font-size: 14px;
    margin-bottom: 8px; }
  footer .main-footer h3 a {
    font-size: 15px; }
  footer .main-footer .footer-nav .social span {
    font-size: 16px; }
  footer .main-footer .copyright-container {
    color: #ffffff;
    font-size: 14px;
    margin-top: 0em;
    text-align: left; }
  footer .main-footer .newsletter-container .qa-input-email {
    width: 100%;
    font-size: 14px;
    margin-bottom: 0px; }
  footer .main-footer .newsletter-container button {
    width: 100%;
    display: inline-block;
    border: 1px solid #029640;
    background-color: #029640;
    height: 54px;
    margin-left: 0px;
    color: white;
    font-size: 15px;
    margin-top: 0.5em; }
  footer .footer-contact h2 {
    font-size: 21px; }
  footer .footer-contact {
    padding: 5px 0em 0px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsImFwcC5zY3NzIiwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJnbG9iYWwvX3dwLWFkbWluLnNjc3MiLCJnbG9iYWwvX3dwLW92ZXJyaWRlcy5zY3NzIiwibW9kdWxlcy9fbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19lZGl0b3Itc3R5bGUuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlcnMuc2NzcyIsImNvbXBvbmVudHMvX2xpbmtzLnNjc3MiLCJ0ZW1wbGF0ZXMvX2Zyb250LnNjc3MiLCJ0ZW1wbGF0ZXMvX2tpdGNoZW4tc2luay5zY3NzIiwiYm9pbGVycGxhdGUvZ2xvYmFsLnNjc3MiLCJib2lsZXJwbGF0ZS9idXR0b25zLnNjc3MiLCJrdG4vZ2VuZXJhbC5zY3NzIiwia3RuL2hlYWRlci1zbWFsbC5zY3NzIiwia3RuL2xhcmdlLWhlcm8uc2NzcyIsImt0bi9oZWFkZXIuc2NzcyIsImt0bi90eXBvZ3JhcGh5LnNjc3MiLCJrdG4vaG9tZS1wYWdlLnNjc3MiLCJrdG4vcmV1c2FibGUtYmxvY2tzLnNjc3MiLCJrdG4vZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDOEpHO0VDdkhKO0lBQ0UsWUFBVztJQUNYLFdBQVU7SUFDVixlQUFjLEVBQ2YsRUFBQTs7QUNIRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlC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RUFGRDtJSTdCQSxpQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsaUNBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxpQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsaUNBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RVI4Q0M7SVE1REo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HLEVBQUE7RVI4Q0M7SVE1REo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HLEVBQUE7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0VSTEM7SVFBSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUQ4SS9CO0VSWEM7SVFTRjtNQzVJSSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRURtSi9CO0VSaEJDO0lRQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRG1KL0IsRUFBQTs7QUt0Skg7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGFBRG9ELEVDdERyRDs7QWJvSUc7RWF0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0Fib0lHO0VhdElKO0lEeURFLFlBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBQUZEO0VEeURFLDRCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDJCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGlDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsNkJBRGdILEVDdERqSDs7QWJvSUc7RWF0SUo7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBYm9JRztFYXRJSjtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMEI7RUFBMUIsZUFBMEIsRU55TTNCO0VNdE1EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDO0VkOEdQO0ljaEhNO01GbUNSLGdCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7RWQ4R1A7SWNoSE07TUZtQ1IsZ0JBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QU5nTFA7RU10S0UsZ0JBQTBCO0VBQTFCLGVBQTBCLEVOd0szQjtFTXJLRDtJQUVJLGlCQUE0QjtJQUE1QixnQkFBNEIsRUFFL0I7O0FkNkZEO0VRNERBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QWRvSUQ7RWN6SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWR1SFA7RWNoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWQ4R1A7RWNoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWQ4R1A7RVFrRUE7SU10S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOd0szQjtJTXJLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QWQ2RkQ7RVE0REE7SU12TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOeU0zQjtJTXRNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBZG9JRDtFY3pITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY3pITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBZHVIUDtFY2hITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBZDhHUDtFUWtFQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsc0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix1Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGtDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLHVCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsd0NBQTZCLEVQZ08xQjs7QVJ0RkQ7RVFnRkE7SU8xTkYsZ0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixzQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYseUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIs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QUVEO0lJekJFLGFBQW1CLEVKMkJwQjtFQU1DO0lJN0JBLGlDQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLGtDQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLGtDQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLGtDQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFUjhDQztJUTVESjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDhCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9H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QSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsa0NBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsa0NBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsa0NBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RVI4Q0M7SVE1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw4QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw4QkFEZ0gsRUpnQy9HLEVBQUE7RVI4Q0M7SVE1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw4QkFEZ0gsRUpnQy9HLEVBQUE7O0FBeVNEO0VRM1hJLDhCQUFtQyxFUjZYdEM7RVI3UEM7SVEyUEY7TVEzWEksK0JBQW1DLEVSNlh0QyxFQUFBO0VSN1BDO0lRMlBGO01RM1hJLCtCQUFtQyxFUjZYdEMsRUFBQTs7QVI3UEM7RVErUEE7SVEvWEUsK0JBQW1DLEVSaVlwQyxFQUFBOztBUmpRRDtFUStQQTtJUS9YRSwrQkFBbUMsRVJpWXBDLEVBQUE7O0FTcktMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlh4RzBCO0VXMEcxQixtQkFBa0I7RUFDbEIsaUJYNUdzQjtFVzZHdEIsbUNYM0d5QyxFVzRHMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQlhoTXFCO0VXaU1yQixxQkFBb0IsRUFDckI7O0FmZ0RDO0VlNUNBLGVYbElpQjtFV21JakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSw4T1h2TitPO0VXd04vTyxtQlh0S3NCO0VXdUt0QixvQlhwTnlCO0VXcU56QixlWHRLa0I7RVd1S2xCLG1DWGxKc0MsRVd3SnZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVhyT2UsRVdzT2hCOztBQVFHO0VBSUksa0JOdlA2QztFTW1RN0MsaUJYbk1XO0VXMk1YLGNBQWE7RUFPYixzQlhqTmlCLEVXbU5wQjs7QUFqQ0Q7RUFJSSxtQk52UDZDO0VNbVE3QyxpQlhuTVc7RVcyTVgsY0FBYTtFQU9iLHNCWGpOaUIsRVdtTnBCOztBQWpDRDtFQUlJLHFCTnZQNkM7RU1tUTdDLGlCWG5NVztFVzJNWCxjQUFhO0VBT2Isc0JYak5pQixFV21OcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJYbk1XO0VXMk1YLGNBQWE7RUFPYixzQlhqTmlCLEVXbU5wQjs7QUFqQ0Q7RUFJSSxxQk52UDZDO0VNbVE3QyxpQlhuTVc7RVcyTVgsY0FBYTtFQU9iLHNCWGpOaUIsRVdtTnBCOztBQWpDRDtFQUlJLGdCTnZQNkM7RU1tUTdDLGlCWG5NVztFVzJNWCxjQUFhO0VBT2Isc0JYak5pQixFV21OcEI7O0FqQnpNSDtFaUJ3S0U7SUFJSSxnQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLGtCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUkscUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxxQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG1CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksZ0JOdlA2QyxFTW9SaEQsRUFBQTs7QWZuR0w7RWUwR0EscUJBQW9CO0VBQ3BCLGVYM1NjO0VXNFNkLHNCWDNMeUI7RVc2THpCLGdCQUFlLEVBYWhCO0VBbEJEO0lBU0ksZVhsTTJELEVXc001RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QWZ2S0Q7RWU0S0EsWUFBVztFQUVYLGlCTmxUcUQ7RU1tVHJELFVBQVM7RUFDVCxxQlg5TXlCO0VXZ056QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ1huVGlCO0VXb1RqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLG9CWHhPMEI7RVd5TzFCLDZCWHZOeUI7RVd3TnpCLGlCWDNPc0IsRVc0T3ZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UscUJYak9zQjtFV2tPdEIsc0JYcE9rQixFV3FPbkI7O0FBR0Q7RUFDRSxxQlh2T3NCLEVXd092Qjs7QUFHRDtFQUVJLHFCWDVPMkI7RVc2TzNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CWGxQeUIsRVd3UDFCO0VBUEQ7SUFJSSxzQlhuUDhCO0lXb1A5QixrQlhsVm1CLEVXbVZwQjs7QUFJSDtFQUNFLGlCWGpSMEI7RVdrUjFCLHVDTjFXcUQ7RU0yV3JELCtCWHRXaUIsRVc0V2xCO0VBVEQ7SUFNSSxpQlh2Um9CO0lXd1JwQixlWHpXYSxFVzBXZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQk50WHFEO0VNdVhyRCxlWGpYZSxFV3NYaEI7RUFSRDtJQU1JLGNYclE2QixFQUFBOztBVzBRakM7RUFDRSxrQ1h6WFc7RVcwWFgsYUFBWTtFQUNaLHNCQUFxQixFQUN0Qjs7QWY3UUM7RWVpUkEsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NONVlxRDtFTThZckQsMEJYellpQjtFVzBZakIsMEJYM1lnQjtFVzZZaEIsNkRYblZtRTtFV29WbkUsb0JYbFl5QjtFV21ZekIsZVg1WVcsRVc2WVo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJOcFpTO0VNc1pULDBCWHZaZ0I7RVd5WmhCLDZEWC9WbUU7RVdnV25FLGVYdlpXLEVXNFpaOztBQzVjRDtFQUNFLG1CWjZLeUI7RVk1S3pCLHNCWjZLNEI7RVkzSzVCLG9CWnFEeUI7RVlwRHpCLGlCWnNLc0I7RVlyS3RCLGVaeUNlLEVZeENoQjs7QUFHRDtFQUNFLGdCWjhKcUM7RVk3SnJDLGlCWjhKaUIsRVk3SmxCOztBQUdEO0VBQ0Usa0JaK0ptQjtFWTlKbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBR0g7RUFHSSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDL0RLO0VBQ0UsaUJBUmUsRUFTaEI7O0FBRkQ7RUFDRSxrQkFSc0IsRUFTdkI7O0FBRkQ7RUFDRSxtQkFSOEIsRUFTL0I7O0FBRkQ7RUFDRSxvQkFSdUMsRUFTeEM7O0FuQm1KTDtFbUIx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Q0EvQ2dCO01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBL0RxREQ7RStEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBL0RxREQ7RStEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7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S0ksZ0JBQWUsRUFDaEI7RUFyS0g7SUF3S0ksaUJBQWdCLEVBQ2pCLEVBQUE7O0F6RkRHO0V5RnhLTjtJQWlMSSx5QkFBd0IsRUFDekI7RUFsTEg7SUFxTEksZ0JBQWUsRUFDaEI7RUF0TEg7SUF5TEksZ0JBQWU7SUFDZixtQkFBa0IsRUFDbkI7RUEzTEg7SUE4TEksZ0JBQWUsRUFDaEI7RUEvTEg7SUFrTUksZ0JBQWUsRUFDaEI7RUFuTUg7SUFzTUksZUFBYztJQUNkLGdCQUFlO0lBQ2YsZ0JBQWU7SUFDZixpQkFBZ0IsRUFDakI7RURtZ0pIO0lDaGdKSSxZQUFXO0lBQ1gsZ0JBQWU7SUFDZixtQkFBa0IsRUFDbkI7RUFoTkg7SUFtTkksWUFBVztJQUNYLHNCQUFxQjtJQUNyQiwwQkFBeUI7SUFDekIsMEJBQXlCO0lBQ3pCLGFBQVk7SUFDWixpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLGdCQUFlO0lBQ2Ysa0JBQWlCLEVBQ2xCO0VBNU5IO0lBK05JLGdCQUFlLEVBQ2hCO0VBaE9IO0lBbU9JLHFCQUFvQixFQUNyQixFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWYsIFwiTGF0b1wiLCBzYW5zLXNlcmlmLCBcIkxpYnJlIEJhc2tlcnZpbGxlXCIsIHNlcmlmLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDM4MTM7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZiwgXCJMYXRvXCIsIHNhbnMtc2VyaWYsIFwiTGlicmUgQmFza2VydmlsbGVcIiwgc2VyaWYsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwMDk2NDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDA4MTM3OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDM2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzgzMztcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5NjQwO1xuICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0YjIwO1xuICAgICAgY29sb3I6ICMwMDRiMjA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5NjQwO1xuICAgICAgICBjb2xvcjogIzAwOTY0MDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTY0MDtcbiAgICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0YjIwO1xuICAgICAgICBjb2xvcjogIzAwNGIyMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk2NDA7XG4gICAgICAgICAgY29sb3I6ICMwMDk2NDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk2NDA7XG4gICAgY29sb3I6ICMwMDk2NDA7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0YjIwO1xuICAgICAgY29sb3I6ICMwMDRiMjA7IH1cbiAgICAgIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk2NDA7XG4gICAgICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk2NDA7XG4gICAgICBjb2xvcjogIzAwOTY0MDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDRiMjA7XG4gICAgICAgIGNvbG9yOiAjMDA0YjIwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5NjQwO1xuICAgICAgICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDk2NDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDk2NDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDk2NDA7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMDAzODEzOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMDA5NjQwO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwOTY0MDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMwMDk2NDA7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc4MzM7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAzODEzOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5ZmZlMDtcbiAgICBjb2xvcjogIzAwMzgxMzsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWVhZWE7XG4gICAgY29sb3I6ICMwMDM4MTM7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzAwMzgxMzsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMDAzODEzOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMDAzODEzOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMDM4MTM7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMwMDk2NDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMwMDk2NDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwOTY0MDsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDk2NDA7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwOTY0MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDk2NDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwMDk2NDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTZlNmU2OyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDk2NDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwOTY0MDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTY0MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDk2NDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA5NjQwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTY0MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDA5NjQwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA5NjQwOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwOTY0MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA5NjQwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzAwOTY0MDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMwMDk2NDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMyQzM4NDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMwMDk2NDA7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2NDA7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDM2OyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMwMDk2NDA7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMDAzODEzOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMDAzODEzOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwOTY0MDsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwYTg0ODsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzAwODEzNzsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMwMDk2NDA7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMDAzODEzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMCwgMTUwLCA2NCwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3R0b206IDEwMCU7IH1cbiAgLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMzODQwOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubW9iaWxlLW1lbnUsXG4gIC5zaXRlLXRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5kZXNrdG9wLW1lbnUsXG4gIC5zaXRlLW5hdmlnYXRpb24gLnRvcC1iYXItbGVmdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcyA+IHVsLm1lbnUge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5vZmYtY2FudmFzID4gdWwubWVudSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5vZmYtY2FudmFzIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIGEge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjQjlCOUI5OyB9XG5cbi5tb2JpbGUtbWVudSAubWVudSAuaXMtYWN0aXZlID4gYSxcbi5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2NDU0ZjsgfVxuXG4udG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI0I5QjlCOTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS44OyB9XG5cbi50b3AtYmFyIC5tZW51IGEge1xuICBjb2xvcjogI2U2ZTZlNjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC50b3AtYmFyIC5tZW51IGE6aG92ZXI6bm90KC5idXR0b24pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI1MjVEOyB9XG5cbi50b3AtYmFyIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4udG9wLWJhciAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi50b3AtYmFyIC5tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGU0ZTRlOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHtcbiAgYm9yZGVyOiAwOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIge1xuICBib3JkZXI6IDA7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNpdGUtbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmJlZm9yZSwgLnBvc3QtbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLm1haW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi1ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICBvcmRlcjogMTsgfVxuICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAuc2lkZWJhciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLm1haW4tZ3JpZC5zaWRlYmFyLWxlZnQgLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAubWFpbi1ncmlkIC5tYWluLWNvbnRlbnQtZnVsbC13aWR0aCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tYWluLWdyaWQgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYWluLWdyaWQgLm1haW4tY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubWFpbi1ncmlkIC5zaWRlYmFyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1haW4tZ3JpZCAuc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNhY2E7XG4gIG1hcmdpbi10b3A6IDMuNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5mb290ZXItZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cbiAgLmZvb3Rlci1ncmlkIHNlY3Rpb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlci1ncmlkIHNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZm9vdGVyLWdyaWQgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzAwOTY0MDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY2FyZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC43cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTsgfSB9XG5cbi5mZWF0dXJlZC1oZXJvIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDYuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVybyB7XG4gICAgICBoZWlnaHQ6IDEyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAyNXJlbTsgfSB9XG5cbi5kb3R0ZWQsIC5zZWN0aW9uLWRpdmlkZXIgaHIge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZyb250LWhlcm8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICBwYWRkaW5nOiA0LjA2MjVyZW0gMDtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LWhlcm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnXCIpIGJvdHRvbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0Mi44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgNC41cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gLndhdGNoIHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGEge1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3N0YXJnYXplcnMgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3R3aXR0ZXIgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC50YWdsaW5lIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDZyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAuZnJvbnQtaGVybyAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmludHJvIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbnRybyAuZnAtaW50cm8ge1xuICAgICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGgyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zZWN0aW9uLWRpdmlkZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmJlbmVmaXRzIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuYmVuZWZpdHMgaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgLmJlbmVmaXRzIC5zZW1hbnRpYyxcbiAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAgICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAgICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUsXG4gICAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5iZW5lZml0cyAuc2VtYW50aWMgaW1nLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaW1nLFxuICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBoMyxcbiAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUgaDMsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaDMsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBwLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBwLFxuICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlIHAsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgcCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYmVuZWZpdHMgLndoeS1mb3VuZGF0aW9uIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4ua2l0Y2hlbi1zaW5rLWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5raXRjaGVuLXNpbmstY29tcG9uZW50cyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5raXRjaGVuLXNpbmstY29tcG9uZW50cyBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAua2l0Y2hlbi1zaW5rLWNvbXBvbmVudHMge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmtpdGNoZW4tc2luay1uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmtpdGNoZW4tc2luay1uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXN1Yi1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAua2l0Y2hlbi1zaW5rLW5hdiAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogIzhhOGE4YTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2FjYTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIC5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjE5OWU4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXRvYyAuZG9jcy1zdWItbWVudTpmaXJzdC1jaGlsZCAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCB7XG4gIGJhY2tncm91bmQ6ICNkNmVjZmE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCAuY2VsbCwgLmtpdGNoZW4tc2luay1ncmlkIC5ncmlkLXggOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2JjMWVmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5raXRjaGVuLXNpbmstZ3JpZCAuZ3JpZC14IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41ZW07IH0gfVxuXG4ucGFnZS1pZC00MzYgLmhlYWRlci1maXhlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIHBhZGRpbmctYm90dG9tOiAyZW07IH1cblxuLmZ1bGwtd2lkdGgtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5mdWxsLXdpZHRoLWJnIC5ncmlkLW1hcmdpbi14IHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLmRlZmF1bHQtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZGFyay1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIHotaW5kZXg6IDk5OTk5OTk7IH1cblxuLmJhY2tncm91bmQtY29sb3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgei1pbmRleDogOTk7IH1cblxuLmJhY2tncm91bmQtY292ZXIge1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5zd2lwZXItd3JhcHBlci5kaXNhYmxlZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKSAhaW1wb3J0YW50OyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNtYWxsLXBhZGRpbmcge1xuICBwYWRkaW5nOiAzZW0gMGVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zbWFsbC1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDJlbSAwZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuc21hbGwtcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAxLjVlbSAwZW07IH0gfVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5tZWRpdW0tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDNlbSAwZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLm1lZGl1bS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDNlbSAwZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaXVtLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogMS41ZW0gMGVtOyB9IH1cblxuLmxhcmdlLXBhZGRpbmcge1xuICBwYWRkaW5nOiA3ZW0gMGVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5sYXJnZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDVlbSAwZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubGFyZ2UtcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiAxLjVlbSAwZW07IH0gfVxuXG4uYW9zLW9wYWNpdHkge1xuICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5hb3Mtb3BhY2l0eSB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogSUUxMCsgQ1NTIHN0eWxlcyBnbyBoZXJlICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAubGFyZ2UtaGVyby1zbGlkZXIgLm1haW4tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjAlOyB9XG4gIC5oZXJvLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMCUgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtaGVyby1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLmZ1bGwtaGVpZ2h0LXNsaWRlIC5mdWxsLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zd2lwZXItY29udGFpbmVyIC5zbWFsbC1oZWlnaHQtc2xpZGUgLmZ1bGwtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgcGFkZGluZzogMjFweCAyMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMEU2MDA7XG4gIGNvbG9yOiAjMDA5NjQwICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjJweDtcbiAgICB0b3A6IDI3cHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjMDA5NjQwO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmZhZjY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kZWZhdWx0LXBhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5icmVhZGNydW1iIHtcbiAgbWFyZ2luOiAyZW0gMCAxLjVlbSAwO1xuICBjb2xvcjogIzlkZDZiNDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5icmVhZGNydW1iIGhyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5ZGQ2YjQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmJyZWFkY3J1bWIgYSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbG9yOiAjOWRkNmI0OyB9XG5cbi5nZXQtaW4tdG91Y2gtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweCAyNHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNTVweDtcbiAgei1pbmRleDogOTk5OTk2O1xuICBsZWZ0OiAtNTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTYwMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuZ2V0LWluLXRvdWNoLWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzAwMzgxMzsgfVxuICAuZ2V0LWluLXRvdWNoLWNvbnRhaW5lciBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmdldC1pbi10b3VjaC1jb250YWluZXIgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHdpZHRoOiAxMnB4OyB9XG5cbi5ncmV5LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQUY2OyB9XG5cbi5zd2lwZXItYnRuLW5leHQsIC5zd2lwZXItYnRuLXByZXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogIzAwRTYwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5rdG4tc3VibWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzAwNTMyNjtcbiAgY29sb3I6ICMwMDM4MTM7XG4gIHBhZGRpbmc6IDJlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5rdG4tc3VibWVudSB1bCB7XG4gICAgbWF4LXdpZHRoOiAxMDIuNXJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5rdG4tc3VibWVudSB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5rdG4tc3VibWVudSB1bCBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDBweDsgfVxuICAua3RuLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMCAyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAzODEzOyB9XG4gICAgLmt0bi1zdWJtZW51IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMEU2MDA7IH1cbiAgLmt0bi1zdWJtZW51IGEuc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5rdG4tc2VjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjRjVGQUY2O1xuICBwYWRkaW5nOiAyZW0gMDsgfVxuICAua3RuLXNlY3Rpb25zIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMmVtIDJlbSAyZW0gMDtcbiAgICBjb2xvcjogIzdjN2M3YzsgfVxuICAgIC5rdG4tc2VjdGlvbnMgLnRleHQtY29udGFpbmVyIGgyIHtcbiAgICAgIGNvbG9yOiAjMDA5NjQwOyB9XG5cbi5zdWItaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nLWxlZnQ6IDRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjOGU4ZThlOyB9XG4gIC5zdWItaGVhZGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDNlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogNnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOGU4ZThlOyB9XG5cbi5zdWItaGVhZGVyLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMS41ZW07XG4gIGNvbG9yOiAjOGU4ZThlOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBFNjAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogNDVweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQ1cHggIWltcG9ydGFudDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwRTYwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDQ1cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7IH1cblxuLmRlZmF1bHQtbGluayB7XG4gIGNvbG9yOiAjMDBFNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmRlZmF1bHQtbGluazphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICMwMEU2MDA7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmFkZHRvdGhpcyB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuICAuYWRkdG90aGlzIC5zdWItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHggIWltcG9ydGFudDsgfVxuXG4uc21hbGwtaGVybyB7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgaDEsIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIGEubGluayB7XG4gICAgICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogNjV2aDsgfVxuICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNCUgM2VtIDYlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGNjtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1dmg7IH1cbiAgICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLnN1YmhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDBlbSAxZW07IH1cbiAgICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzQlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xuICAgICAgICBjb2xvcjogI2Q2ZDZkNjsgfVxuICAgICAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHNwYW46YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ2ZDY7XG4gICAgICAgICAgYm90dG9tOiAxMHB4OyB9XG4gICAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgICAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAubWFpbi1oZXJvLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTsgfVxuICAgICAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5tYWluLWhlcm8tY29udGVudCBoMSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5tYWluLWhlcm8tY29udGVudCBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgLm1haW4taGVyby1jb250ZW50IHAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmJhY2tncm91bmQtZ3JhZGllbnQge1xuICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwMDAwMCswLDAwMDAwMCsxMDAmMCswLDAuNjUrMTAwICovXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjY1KSAxMDAlKTtcbiAgICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjYTYwMDAwMDAnLEdyYWRpZW50VHlwZT0wICk7XG4gICAgICAgIC8qIElFNi05ICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG5cbi5zbWFsbGVyLWhlcm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmYWY2OyB9XG4gIC5zbWFsbGVyLWhlcm8gLmdyZWVuLWJhciB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNtYWxsZXItaGVybyAuZ3JlZW4tYmFyIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMmVtO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwZW0gMi41ZW07IH1cbiAgICAgIC5zbWFsbGVyLWhlcm8gLmdyZWVuLWJhciAubG9nby1jb250YWluZXIgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTMwcHg7IH1cbiAgLnNtYWxsZXItaGVybyAuaGlkZS1ncmVlbi1iYXIge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIG1heC13aWR0aDogOTByZW07IH1cbiAgICAuc21hbGxlci1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMmVtIDBlbSA1ZW07XG4gICAgICBtaW4taGVpZ2h0OiAwcHg7IH1cbiAgLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDgwJTsgfVxuXG4ubGFyZ2UtaGVybyB7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sYXJnZS1oZXJvIC52aW1lby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAubGFyZ2UtaGVybyAudmltZW8td3JhcHBlciBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDU2LjI1dnc7XG4gICAgLyogR2l2ZW4gYSAxNjo5IGFzcGVjdCByYXRpbywgOS8xNioxMDAgPSA1Ni4yNSAqL1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi13aWR0aDogMTkwLjc3dmg7XG4gICAgLyogR2l2ZW4gYSAxNjo5IGFzcGVjdCByYXRpbywgMTYvOSoxMDAgPSAxNzcuNzcgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgaDEsIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gICAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDsgfVxuICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDQlIDNlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUZBRjY7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDBlbSA3ZW0gMTJlbSAxZW07IH1cbiAgICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgLmNpcmNsZS1kZXZpY2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvRm91bmRhdGlvblByZXNzL2Rpc3QvYXNzZXRzL2ltYWdlcy9ob21lL2NpcmNsZS1kZXZpY2UucG5nXCIpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogNzcwcHg7XG4gICAgICAgIHdpZHRoOiA3NzBweDtcbiAgICAgICAgdG9wOiAzZW07XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgICAgcmlnaHQ6IC03OSU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHNwYW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM0JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICAgICAgY29sb3I6ICNkNmQ2ZDY7IH1cbiAgICAgICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ2ZDY7XG4gICAgICAgICAgYm90dG9tOiAxMHB4OyB9XG4gICAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAubWFpbi1oZXJvLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGNjtcbiAgICAgICAgcGFkZGluZy10b3A6IDFlbTsgfVxuICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmJhY2tncm91bmQtZ3JhZGllbnQge1xuICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cHM6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzAwMDAwMCswLDAwMDAwMCsxMDAmMCswLDAuNjUrMTAwICovXG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjY1KSAxMDAlKTtcbiAgICAgICAgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgICAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjYTYwMDAwMDAnLEdyYWRpZW50VHlwZT0wICk7XG4gICAgICAgIC8qIElFNi05ICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmNvbnRlbnQgLmxpdmUtbm93LWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5jb250ZW50IC5saXZlLW5vdy1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGU2MDA7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmNvbnRlbnQgLmxpdmUtbm93LWNvbnRhaW5lciAubGl2ZS1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMHB4IDEwcHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuY29udGVudCAubGl2ZS1ub3ctY29udGFpbmVyIC5saXZlLWNvbnRlbnQgc3BhbiB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBlNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggOHB4OyB9XG4gICAgICAgICAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmNvbnRlbnQgLmxpdmUtbm93LWNvbnRhaW5lciAubGl2ZS1jb250ZW50IHAge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgICAgIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5jb250ZW50IC5saXZlLW5vdy1jb250YWluZXIgLmxpdmUtYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMTJweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwRTYwMDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuY29udGVudCAubGl2ZS1ub3ctY29udGFpbmVyIC5saXZlLWJ1dHRvbjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA0MCU7XG4gICAgICAgICAgICB0b3A6IDQxJTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDsgfVxuXG4uaGVhZGVyIHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDtcbiAgei1pbmRleDogOTk5OTk5OTk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5oZWFkZXIgdWwge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmhlYWRlciB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5oZWFkZXIgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgICAuaGVhZGVyIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDBFNjAwOyB9XG4gICAgLmhlYWRlciB1bCAuaGFtYnVyZ2VyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7IH1cbiAgICAgIC5oZWFkZXIgdWwgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAuaGVhZGVyIHVsIC5oYW1idXJnZXI6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZTYwMTsgfVxuICAgICAgLmhlYWRlciB1bCAuaGFtYnVyZ2VyIHNwYW4ge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4OyB9XG4gICAgICAuaGVhZGVyIHVsIC5oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmhlYWRlciAuZ3JpZC1jb250YWluZXIsIC5oZWFkZXIgLmdyaWQteCwgLmhlYWRlciAuY2VsbCwgLmhlYWRlciB1bCwgLmhlYWRlciBsaSwgLmhlYWRlciBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmhlYWRlciAuZ3JpZC1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICByaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLmdyaWQtY29udGFpbmVyLCAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLmdyaWQteCwgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5jZWxsIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwcHg7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMuM2VtIDBlbTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCB7XG4gICAgcGFkZGluZzogMWVtIDQlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1MHB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogM2VtO1xuICAgICAgcGFkZGluZy1yaWdodDogMGVtOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4OyB9XG4gICAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB1bCBsaSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgI3NlYXJjaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI5NjQwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5rbm93bGVkZ2UtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmtub3dsZWRnZS1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMjNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAua25vd2xlZGdlLW5hdmlnYXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50OyB9XG4gIC5rbm93bGVkZ2UtbmF2aWdhdGlvbiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM4JSAhaW1wb3J0YW50OyB9XG4gIC5rbm93bGVkZ2UtbmF2aWdhdGlvbiAubmV3cy10aWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwZW07IH1cbiAgICAua25vd2xlZGdlLW5hdmlnYXRpb24gLm5ld3MtdGlsZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5rbm93bGVkZ2UtbmF2aWdhdGlvbiAubmV3cy10aWxlIC5kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgY29sb3I6ICMwMDJlMGE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAua25vd2xlZGdlLW5hdmlnYXRpb24gLm5ld3MtdGlsZSAuZGF0ZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5rbm93bGVkZ2UtbmF2aWdhdGlvbiAubmV3cy10aWxlIGgzIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5rbm93bGVkZ2UtbmF2aWdhdGlvbiAubmV3cy10aWxlIC5kZWZhdWx0LWxpbmsge1xuICAgICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogIzAwRTYwMCAhaW1wb3J0YW50OyB9XG4gICAgLmtub3dsZWRnZS1uYXZpZ2F0aW9uIC5uZXdzLXRpbGUgYSB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50OyB9XG4gICAgLmtub3dsZWRnZS1uYXZpZ2F0aW9uIC5uZXdzLXRpbGUgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNlYXJjaC1jb250YWluZXIgLndwZHJlYW1zX2FzbF9jb250YWluZXIge1xuICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgfVxuICAuc2VhcmNoLWNvbnRhaW5lciAud3BkcmVhbXNfYXNsX2NvbnRhaW5lciAucHJvaW5wdXQge1xuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaC1jb250YWluZXIgI2FqYXhzZWFyY2hsaXRlMSAucHJvYm94LCAuc2VhcmNoLWNvbnRhaW5lciBkaXYuYXNsX3cgLnByb2JveCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cblxuLnNlYXJjaC1jb250YWluZXIgI2FqYXhzZWFyY2hsaXRlMSAucHJvYm94IC5wcm9pbnB1dCBpbnB1dCwgLnNlYXJjaC1jb250YWluZXIgZGl2LmFzbF93IC5wcm9ib3ggLnByb2lucHV0IGlucHV0IHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMjFweDsgfVxuXG4uc2VhcmNoLWNvbnRhaW5lciBkaXYuYXNsX3cgLnByb2JveCAucHJvbWFnbmlmaWVyIC5pbm5lcmljb24gc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG4gIHdpZHRoOiAyOHB4OyB9XG5cbi5zZWFyY2gtY29udGFpbmVyIGRpdi5hc2xfdyAucHJvYm94IC5wcm9tYWduaWZpZXIge1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbmRpdi5hc2xfciAucmVzdWx0cyAuaXRlbSB7XG4gIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDsgfVxuXG5kaXYuYXNsX3IgLnJlc3VsdHMgLml0ZW0gLmFzbF9jb250ZW50IGgzLCBkaXYuYXNsX3IgLnJlc3VsdHMgLml0ZW0gLmFzbF9jb250ZW50IGgzIGEge1xuICBjb2xvcjogIzAyOTY0MCAhaW1wb3J0YW50OyB9XG5cbi5wcm9ncmFtbWVzLW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcm9ncmFtbWVzLW5hdmlnYXRpb24gdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5ldmVudHMtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmV2ZW50cy1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7IH1cbiAgLmV2ZW50cy1uYXZpZ2F0aW9uIGEgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMwMDM4MTM7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5ldmVudHMtbmF2aWdhdGlvbiAuZGVmYXVsdC1saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMEU2MDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZXZlbnRzLW5hdmlnYXRpb24gLnZpZXctYWxsLWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTUwcHg7IH1cblxuLnByb2dyYW1tZXMtbmF2aWdhdGlvbiB1bCBsaSB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDsgfVxuXG4ucHJvZ3JhbW1lcy1uYXZpZ2F0aW9uIC52aWV3LWFsbC1saW5rIHtcbiAgbWFyZ2luLXRvcDogM2VtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAyMjBweDsgfVxuXG4uc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjVzOyB9XG5cbi5oZWFkZXItZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiBpbml0aWFsOyB9XG4gIC5oZWFkZXItZml4ZWQgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDIycHggMHB4IDIycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG4gIC5oZWFkZXItZml4ZWQgdWwgbGkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDBweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXItZml4ZWQgdWwgLmhhbWJ1cmdlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMzFweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7IH1cblxuLnNsaWRlLW91dC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMTVweDsgfVxuICAuc2xpZGUtb3V0LW1lbnUgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDIycHggMHB4IDhweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7IH1cbiAgLnNsaWRlLW91dC1tZW51IHVsIGxpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwcHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpZGUtb3V0LW1lbnUgdWwgLmhhbWJ1cmdlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA0OXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gICAgLnNsaWRlLW91dC1tZW51IHVsIC5oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5zbGlkZS1vdXQtbWVudSB1bCAuaGFtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2xpZGUtb3V0LW1lbnUgdWwgLmhhbWJ1cmdlciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4OyB9XG5cbi5zbGlkZS1vdXQge1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhcjsgfVxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXI7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG4gICAgICBwYWRkaW5nOiAwZW0gM2VtOyB9XG4gICAgICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGxpbmVhcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxczsgfVxuICAgICAgICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2dmg7IH1cbiAgICAgICAgICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMnZoIDBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA5NjQwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAgICAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAyMnB4OyB9XG4gICAgICAgICAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgLmFjdGl2ZS1zZWN0b3Ige1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMmYwYjsgfVxuICAgICAgICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5zdWItcHJpbWFyeS1tZW51IHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDZ2aDsgfVxuICAgICAgICAgIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLnN1Yi1wcmltYXJ5LW1lbnUgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxLjV2aCAwcHg7XG4gICAgICAgICAgICBjb2xvcjogIzAwOTY0MDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuZGl2W2lkKj0nYWpheHNlYXJjaGxpdGUnXS53cGRyZWFtc19hc2xfY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlOyB9XG5cbi5zZWFyY2gtY29udGFpbmVyICNhamF4c2VhcmNobGl0ZTEgLnByb2JveCwgLnNlYXJjaC1jb250YWluZXIgZGl2LmFzbF93IC5wcm9ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5wcm9tYWduaWZpZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmRpdi5hc2xfci52ZXJ0aWNhbCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbi5tb2JpbGUtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7IH1cbiAgLmdldC1pbi10b3VjaC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sYXJnZS1oZXJvIHtcbiAgICBtYXJnaW4tdG9wOiA2ZW07IH1cbiAgLmhlYWRlciAubG9nbyB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXIgLmxvZ286YmVmb3JlIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7IH1cbiAgLmhlYWRlci1maXhlZCAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpZGUtb3V0LW1lbnUgLmxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAubWFpbi1oZXJvLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjVlbTsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA0MDBweDsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5jaXJjbGUtZGV2aWNlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLmxvZ28ge1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgLmhlYWRlci1maXhlZCB1bCAuaGFtYnVyZ2VyLCAuc2xpZGUtb3V0LW1lbnUgdWwgLmhhbWJ1cmdlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMzdweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzNweDsgfVxuICAuaGVhZGVyIHVsIC5oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwZW0gMmVtOyB9XG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLm1haW4tcHJpbWFyeS1tZW51IGxpOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIHRvcDogMTRweDtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMi40ZW07XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLnN1Yi1wcmltYXJ5LW1lbnUgbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCB7XG4gICAgcGFkZGluZzogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJlbSAwZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgbWF4LWhlaWdodDogNzAwcHg7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zbGlkZS1vdXQtbWVudSB1bCAuaGFtYnVyZ2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDsgfVxuICAgIC5zbGlkZS1vdXQtbWVudSB1bCAuaGFtYnVyZ2VyIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNWVtOyB9XG4gIC5rbm93bGVkZ2UtbmF2aWdhdGlvbiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAua25vd2xlZGdlLW5hdmlnYXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5ldmVudHMtbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oZWFkZXIge1xuICAgIGhlaWdodDogODNweDsgfVxuICAuaGVhZGVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXIgdWwgLmhhbWJ1cmdlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxLjhlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW07IH1cbiAgLmhlYWRlciAubG9nbyB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgd2lkdGg6IDEwNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9XG4gIC5sYXJnZS1oZXJvIHtcbiAgICBtYXJnaW4tdG9wOiA1ZW07IH1cbiAgLmhlYWRlciB1bCAuaGFtYnVyZ2VyIHNwYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuc2xpZGUtb3V0LW1lbnUge1xuICAgIHdpZHRoOiA3OHB4OyB9XG4gIC5zbGlkZS1vdXQtbWVudSB1bCAuaGFtYnVyZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDBlbSAxZW07IH1cbiAgLm1vYmlsZS1kcm9wZG93biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5hY3RpdmUtc2VjdG9yIC5tb2JpbGUtZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuYWN0aXZlLXNlY3RvciAubW9iaWxlLWRyb3Bkb3duIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgICAgIC5hY3RpdmUtc2VjdG9yIC5tb2JpbGUtZHJvcGRvd24gdWwgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsgfVxuICAgICAgICAuYWN0aXZlLXNlY3RvciAubW9iaWxlLWRyb3Bkb3duIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuYWN0aXZlLXNlY3RvciAubW9iaWxlLWRyb3Bkb3duIHVsIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuaGVhZGVyLWZpeGVkIC5zZWFyY2gtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5oZWFkZXItZml4ZWQge1xuICAgIHdpZHRoOiA4M3B4OyB9XG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gIC5zbGlkZS1vdXQtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWRlLW91dC1tZW51IC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDZlbSAwLjVlbSAyZW07IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaTpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAgIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLm1haW4tcHJpbWFyeS1tZW51IGxpIHVsIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDBlbSAhaW1wb3J0YW50OyB9XG4gIC5hY3RpdmUtc2VjdG9yIC5tb2JpbGUtZHJvcGRvd24gdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzVweCAhaW1wb3J0YW50OyB9XG4gIC5nZXQtaW4tdG91Y2gtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxM3B4IDMwcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNTVweDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmdldC1pbi10b3VjaC1jb250YWluZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLnN1Yi1wcmltYXJ5LW1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogNHZoO1xuICAgIHBhZGRpbmctdG9wOiAwZW07IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtOyB9XG4gIGRpdltpZCo9J2FqYXhzZWFyY2hsaXRlJ10ud3BkcmVhbXNfYXNsX2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMmUwYTtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwRTYwMDtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7IH1cbiAgLnNlYXJjaC1jb250YWluZXIgI2FqYXhzZWFyY2hsaXRlMSAucHJvYm94IC5wcm9pbnB1dCBpbnB1dCwgLnNlYXJjaC1jb250YWluZXIgZGl2LmFzbF93IC5wcm9ib3ggLnByb2lucHV0IGlucHV0IHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3JSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA4NSU7IH1cbiAgLm1vYmlsZS1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDgzcHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VhcmNoLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMjVweCAwcHggIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDsgfVxuICAuc2xpZGUtb3V0LW1lbnUgdWwgLmhhbWJ1cmdlciB7XG4gICAgbWFyZ2luLXRvcDogMzhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDsgfVxuICAuaW5jcmVhc2UtaGVpZ2h0IHtcbiAgICBwYWRkaW5nLXRvcDogMTBlbSAhaW1wb3J0YW50OyB9XG4gIGRpdi5hc2xfbSAucHJvYm94IC5wcm9jbG9zZSBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjVweCAhaW1wb3J0YW50OyB9XG4gIC5hY3RpdmUtc2VjdG9yIC5tb2JpbGUtZHJvcGRvd24gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSB7XG4gICAgbWFyZ2luLXRvcDogNHZoOyB9XG4gIC5oZWFkZXIge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lOyB9IH1cblxuLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGk6aG92ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGk6aG92ZXIgZGl2IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogIzAwMzgxMztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaTpob3ZlciBkaXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgdG9wOiAxOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE5cHg7XG4gICAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICMwMDJlMGE7IH1cblxuLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgLmFjdGl2ZS1zZWN0b3IgZGl2IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMDAzODEzO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgLmFjdGl2ZS1zZWN0b3IgZGl2OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIHRvcDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogMTlweDtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwMmUwYTsgfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc2VjdG9ycy1uYXZpZ2F0aW9uIHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzAwRTYwMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc2VjdG9ycy1uYXZpZ2F0aW9uIHVsIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxOXB4O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjMDBFNjAwOyB9XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5wcm9ncmFtbWVzLW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDBFNjAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5wcm9ncmFtbWVzLW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE5cHg7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICMwMEU2MDA7IH1cblxuLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGk6YmVmb3JlIHtcbiAgYm90dG9tOiAxN3B4OyB9XG5cbi5zZWN0b3ItcGFnZSAuZnVuZGluZy10aWxlOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDBweDsgfVxuXG4uZXZlbnQtdGlsZSAuZGF0ZSB7XG4gIHBhZGRpbmc6IDEuNWVtIDEwcHg7IH1cblxuLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogNGVtIDJlbSA1ZW07XG4gIG1pbi1oZWlnaHQ6IDBweDsgfVxuXG4udmlldy1hbGwtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2xpZGUtb3V0LW1lbnUgLmxvZ28tYW5jaG9yIHtcbiAgICBsZWZ0OiAxZW07IH0gfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbnAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5ob21lLXBhZ2UgLnRpbGVzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDZlbSAwZW0gMmVtOyB9XG5cbi5ob21lLXBhZ2UgLmNhc2Utc3R1ZHktY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGNjtcbiAgcGFkZGluZzogNGVtIDBlbTsgfVxuXG4ubmV3cy10aWxlIHtcbiAgcGFkZGluZzogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgLm5ld3MtdGlsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV3cy10aWxlIGgzIHtcbiAgICBjb2xvcjogIzAwMzgxMztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gIC5uZXdzLXRpbGUgLmRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICMwMDk2NDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5ld3MtdGlsZSAuZGF0ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwOyB9XG4gIC5uZXdzLXRpbGUgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAzNSU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLm5ld3MtdGlsZSAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNDAlOyB9XG5cbi5mdW5kaW5nLXRpbGUge1xuICBwYWRkaW5nOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIC5mdW5kaW5nLXRpbGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZ1bmRpbmctdGlsZSBoMyB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDM4MTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmZ1bmRpbmctdGlsZSAub3Blbi1kYXRlIHtcbiAgICBjb2xvcjogIzAwOTY0MDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mdW5kaW5nLXRpbGUgLmRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICMwMDk2NDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZ1bmRpbmctdGlsZSAuZGF0ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwOyB9XG4gIC5mdW5kaW5nLXRpbGUgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZnVuZGluZy10aWxlIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5mdW5kaW5nLXRpbGUgLmJ1dHRvbnMtY29udGFpbmVyIGEge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk2NDA7XG4gICAgICBjb2xvcjogIzAwOTY0MDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5ldmVudC10aWxlIHtcbiAgcGFkZGluZzogMWVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuZXZlbnQtdGlsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZXZlbnQtdGlsZSAudGlsZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzODEzO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuZXZlbnQtdGlsZSBoMyB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDM4MTM7IH1cbiAgLmV2ZW50LXRpbGUgLmRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyOSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzgxMztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMS4xZW0gMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAgIC5ldmVudC10aWxlIC5kYXRlIHNwYW4ge1xuICAgICAgY29sb3I6ICMwMEU2MDA7IH1cbiAgLmV2ZW50LXRpbGUgYSB7XG4gICAgY29sb3I6ICMwMEU2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmV2ZW50LXRpbGUgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMzgxMzsgfVxuXG4udHdpdHRlci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMmVtO1xuICBoZWlnaHQ6IDUwOHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4uY2FzZS1zdHVkeS10aWxlIHtcbiAgd2lkdGg6IDQ2JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTMyNjtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuY2FzZS1zdHVkeS10aWxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyZW07IH1cbiAgICAuY2FzZS1zdHVkeS10aWxlIC5jb250ZW50IGgzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDI3cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuY2FzZS1zdHVkeS10aWxlIC5jb250ZW50IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAuY2FzZS1zdHVkeS10aWxlIC5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2FzZS1zdHVkeS10aWxlIC5pbWFnZSBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwRTYwMDtcbiAgICAgIGNvbG9yOiAjMDAzODEzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ucHJvZ3JhbW1lcy10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9ncmFtbWVzLXRpbGUgLmNvbnRlbnQgcCB7XG4gICAgcGFkZGluZy1yaWdodDogM2VtOyB9XG4gIC5wcm9ncmFtbWVzLXRpbGUgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAucHJvZ3JhbW1lcy10aWxlIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAucHJvZ3JhbW1lcy10aWxlIGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ua3RuLWFyZWFzIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcGFkZGluZzogMmVtIDA7IH1cbiAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDJlbSAyZW0gMmVtIDA7XG4gICAgY29sb3I6ICM3YzdjN2M7IH1cbiAgICAua3RuLWFyZWFzIC50ZXh0LWNvbnRhaW5lciBoMiB7XG4gICAgICBjb2xvcjogIzAwMzgxMzsgfVxuICAgIC5rdG4tYXJlYXMgLnRleHQtY29udGFpbmVyIC5hcmVhcy1zd2lwZXItY29udGFpbmVyIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICBwYWRkaW5nLXRvcDogOWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogLTllbTsgfVxuICAgICAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIgLmFyZWFzLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuY29udGVudCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5rdG4tYXJlYXMgLnRleHQtY29udGFpbmVyIC5hcmVhcy1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgaDMgYSB7XG4gICAgICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIgLmFyZWFzLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuY29udGVudCBoMyBhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwRTYwMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5rdG4tYXJlYXMgLnRleHQtY29udGFpbmVyIC5hcmVhcy1zd2lwZXItY29udGFpbmVyIC5hcmVhcy1zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICBsZWZ0OiA5MyU7XG4gICAgICAgIHRvcDogMmVtOyB9XG4gICAgICAua3RuLWFyZWFzIC50ZXh0LWNvbnRhaW5lciAuYXJlYXMtc3dpcGVyLWNvbnRhaW5lciAuYXJlYXMtc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgbGVmdDogOTYlO1xuICAgICAgICB0b3A6IDJlbTsgfVxuXG4ua3RuLXBlb3BsZSB7XG4gIGJhY2tncm91bmQ6ICNGNUZBRjY7IH1cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyZW0gMmVtIDJlbSAwO1xuICAgIGNvbG9yOiAjN2M3YzdjOyB9XG4gICAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIGgzIHtcbiAgICAgIGNvbG9yOiAjN2M3YzdjO1xuICAgICAgZm9udC1zaXplOiAxLjNlbTsgfVxuICAgIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciBoMyBociB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luOiAwLjNlbSAwLjI0ZW0gMC4zZW0gMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIHdpZHRoOiAzZW07IH1cbiAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNWVtOyB9XG4gICAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cbiAgICAgICAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIGg0IHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgY29sb3I6ICMwMDM4MTM7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgaHIge1xuICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwRTYwMDtcbiAgICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmpvYi10aXRsZSB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gICAgICAgIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuaG92ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDM4MTM7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDEwJTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgICAgIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuaG92ZXIgLmJveCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwOTY0MDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDk2NDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwZW07XG4gICAgICAgICAgICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgICAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmhvdmVyIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICAgICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmhvdmVyIC5kZWZhdWx0LWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNnB4OyB9XG4gICAgICAgIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZTpob3ZlciAuaG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZTpob3ZlciAuam9iLXRpdGxlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgIHJpZ2h0OiAzLjllbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgdG9wOiA0ZW07IH1cbiAgICAgIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgICByaWdodDogMWVtO1xuICAgICAgICB0b3A6IDRlbTsgfVxuXG4uYWJvdXQtZGV2aWNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBtYXJnaW4tdG9wOiAtOGVtOyB9XG5cbi5pbmZvcm1hdGlvbi1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUzMjY7IH1cbiAgLmluZm9ybWF0aW9uLWJsb2NrIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmluZm9ybWF0aW9uLWJsb2NrIC5jb250ZW50IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTYxcHg7XG4gICAgICB0b3A6IC05MXB4O1xuICAgICAgZm9udC1zaXplOiAxODVweDtcbiAgICAgIGNvbG9yOiAjMDU1ZDJmOyB9XG4gIC5pbmZvcm1hdGlvbi1ibG9jayBoMiB7XG4gICAgY29sb3I6ICMwMEU2MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1OSU7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAuaW5mb3JtYXRpb24tYmxvY2sgcCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucXVvdGUtYmxvY2sgLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucXVvdGUtYmxvY2sgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIHRvcDogLTdlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ucXVvdGUtYmxvY2sgLmNvbnRlbnQgaDIge1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBsaW5lLWhlaWdodDogNDZweDtcbiAgZm9udC1zaXplOiAzNXB4OyB9XG5cbi5xdW90ZS1zbGlkZXIgcCB7XG4gIGZvbnQtZmFtaWx5OiAnbmV1ZS1oYWFzLXVuaWNhJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nOiAwZW07IH1cblxuLnF1b3RlLXNsaWRlciBzcGFuIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4udGVzdGltb25pYWxzLXN3aXBlci1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNGVtOyB9XG4gIC50ZXN0aW1vbmlhbHMtc3dpcGVyLWNvbnRhaW5lciBwIHtcbiAgICBwYWRkaW5nOiAxZW0gMmVtIDBlbTtcbiAgICBmb250LXNpemU6IDIxcHg7IH1cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHNwYW4ge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuXG4ucmVwb3J0cy1zZWN0aW9uIC5yZXBvcnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAucmVwb3J0cy1zZWN0aW9uIC5yZXBvcnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAucmVwb3J0cy1zZWN0aW9uIC5yZXBvcnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi5yZXBvcnRzLXNlY3Rpb24gLnJlcG9ydC0xIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMzgxMztcbiAgYm9yZGVyLXJhZGl1czogNDBweDsgfVxuICAucmVwb3J0cy1zZWN0aW9uIC5yZXBvcnQtMSBhIHtcbiAgICBjb2xvcjogIzAwMzgxMzsgfVxuXG4ucmVwb3J0cy1zZWN0aW9uIC5yZXBvcnQtMiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMEU2MDA7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7IH1cbiAgLnJlcG9ydHMtc2VjdGlvbiAucmVwb3J0LTIgYSB7XG4gICAgY29sb3I6ICMwMEU2MDA7IH1cblxuLnJlcG9ydHMtc2VjdGlvbiAucmVwb3J0LTMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDA1MzI2O1xuICBib3JkZXItcmFkaXVzOiA0MHB4OyB9XG4gIC5yZXBvcnRzLXNlY3Rpb24gLnJlcG9ydC0zIGEge1xuICAgIGNvbG9yOiAjMDA1MzI2OyB9XG5cbi52YWx1ZXMtc2xpZGVyIGgyIHtcbiAgY29sb3I6ICMwMDk2NDA7IH1cblxuLnZhbHVlcy1zbGlkZXIgLnZhbHVlcy1zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAudmFsdWVzLXNsaWRlciAudmFsdWVzLXN3aXBlci1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICMwMDUzMjY7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIHBhZGRpbmc6IDBlbSAxZW07IH1cblxuLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVlbTsgfVxuICAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IC5jb250ZW50IC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IC5jb250ZW50IGgyIHtcbiAgICBjb2xvcjogIzAwOTY0MDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQgLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMzAwcHg7IH1cblxuLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi50ZXh0LXJpZ2h0LWltYWdlLWxlZnQgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDVlbTsgfVxuICAudGV4dC1yaWdodC1pbWFnZS1sZWZ0IC5jb250ZW50IC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudGV4dC1yaWdodC1pbWFnZS1sZWZ0IC5jb250ZW50IGgyIHtcbiAgICBjb2xvcjogIzAwOTY0MDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi50ZXh0LXJpZ2h0LWltYWdlLWxlZnQgLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMzAwcHg7IH1cblxuLnRleHQtcmlnaHQtaW1hZ2UtbGVmdCAuaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5wcm9ncmFtbWVzLXNlY3Rpb24gaDIge1xuICBjb2xvcjogIzAwOTY0MDsgfVxuXG4udGV4dC1sZWZ0LXZpZGVvLXJpZ2h0IC5jb250ZW50IHtcbiAgcGFkZGluZy1yaWdodDogNmVtOyB9XG5cbi50ZXh0LWxlZnQtdmlkZW8tcmlnaHQgaDIge1xuICBjb2xvcjogIzAwNTMyNjsgfVxuXG4udGV4dC1sZWZ0LXZpZGVvLXJpZ2h0IHAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmpvYi12YWNhbmNpZXMtc2VjdGlvbiBoMiB7XG4gIGNvbG9yOiAjMDA5NjQwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdGJvZHkge1xuICBib3JkZXI6IDBweDsgfVxuXG4uam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWFlYWVhOyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgIGNvbG9yOiAjMDAzODEzOyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi1jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi1sb2NhdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgIGNvbG9yOiAjMDAzODEzOyB9XG5cbi5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdGhlYWQge1xuICBib3JkZXI6IDBweDsgfVxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIHRyIHtcbiAgICBib3JkZXI6IDBweDsgfVxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIC5qb2ItdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMjVweCAwcHg7XG4gICAgY29sb3I6ICMwMDk2NDA7IH1cbiAgLmpvYi12YWNhbmNpZXMtc2VjdGlvbiB0YWJsZSB0aGVhZCAuam9iLWNhdGVnb3J5IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdGhlYWQgLmpvYi1sb2NhdGlvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAyNXB4IDBweDtcbiAgICBjb2xvcjogIzAwOTY0MDsgfVxuXG4uc2lkZWJhci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmYWY2MzA7IH1cbiAgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtMmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMC41ZW0gM2VtIDNlbTsgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciAudGl0bGUge1xuICAgICAgY29sb3I6ICMwMDk2NDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciAuc3ViLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDA5NjQwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgICAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIgaWZyYW1lIHtcbiAgICAgIG1hcmdpbjogMmVtIDBlbTsgfVxuICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMi41ZW07IH1cbiAgICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCBoMiB7XG4gICAgICBjb2xvcjogIzAwNTMyNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDI3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCBoMyB7XG4gICAgICBjb2xvcjogIzAwNTMyNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IC5ldmVudC10aWxlIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDBweDsgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IGg0IHtcbiAgICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IC5idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogNDglO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMS43KTsgfVxuXG4ua25vd2xlZGdlLWNlbnRyZS10aWxlcyB7XG4gIHBhZGRpbmc6IDJlbSAwZW07IH1cbiAgLmtub3dsZWRnZS1jZW50cmUtdGlsZXMgLm5ld3MtdGlsZSAuaW1hZ2Uge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyAubmV3cy10aWxlIC5pbWFnZSAudGFnIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMTJweCAxNXB4IDEycHggMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBjb2xvcjogIzAwOTY0MDsgfVxuICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyAubmV3cy10aWxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyOCU7XG4gICAgcGFkZGluZy1yaWdodDogNSU7IH1cbiAgICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyAubmV3cy10aWxlIC5jb250ZW50IGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgLmtub3dsZWRnZS1jZW50cmUtdGlsZXMgLm5ld3MtdGlsZSAuY29udGVudCAubWFpbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS45ZW07IH1cblxuLmV2ZW50cy1wYWdlIC5mdW5kaW5nLXRpbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0NSU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbiAgbWFyZ2luLXJpZ2h0OiAyJTsgfVxuXG4uZXZlbnRzLXBhZ2UgLnNpZGViYXIgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMHB4OyB9XG5cbi5ldmVudHMtcGFnZSAuc2lkZWJhciBsaSBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTdweDsgfVxuXG4uZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUzMjY7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbTtcbiAgbWF4LXdpZHRoOiAxMzQ1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogLTJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5OyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMi41cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLnNmLWZpZWxkLXRheG9ub215LXNlY3RvciwgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLnNmLWZpZWxkLXRheG9ub215LWFyZWFzIHtcbiAgICB3aWR0aDogMTUlOyB9XG5cbi5zZi1maWVsZC1zZWFyY2gge1xuICB3aWR0aDogNzAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAuc2YtZmllbGQtc2VhcmNoIGxhYmVsIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuc2YtZmllbGQtc2VhcmNoIGxhYmVsIGlucHV0IHtcbiAgICAgIGhlaWdodDogNTNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyMjc7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTMsIDI1MywgMjUyLCAwLjE0KTsgfVxuXG4uc2YtZmllbGQtdGF4b25vbXktc2VjdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IgbGFiZWwge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDsgfVxuICAgIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IgbGFiZWwgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNjZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyMjc7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuLnNmLWZpZWxkLXRheG9ub215LWFyZWFzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zZi1maWVsZC10YXhvbm9teS1hcmVhcyBsYWJlbCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgLnNmLWZpZWxkLXRheG9ub215LWFyZWFzIGxhYmVsIHNlbGVjdCB7XG4gICAgICBoZWlnaHQ6IDY2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MjI3O1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi5zZWFyY2hhbmRmaWx0ZXIgaDQge1xuICBjb2xvcjogIzAwOTY0MDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuXG4uc2luZ2xlLW5ld3MgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiA5JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmNmYTsgfVxuXG4uc2luZ2xlLW5ld3MgLm5ld3MtZGF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUzMjY7XG4gIGNvbG9yOiAjMDA5NjQwO1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgbWFyZ2luLXRvcDogLTNlbTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNpbmdsZS1uZXdzIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZmFmNjtcbiAgcGFkZGluZzogM2VtOyB9XG4gIC5zaW5nbGUtbmV3cyAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIgLnRpdGxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIC5zaW5nbGUtbmV3cyAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMTVweCAwcHg7IH1cblxuLnNpbmdsZS1uZXdzIC5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAzZW07IH1cblxuLnNpbmdsZS1uZXdzIC5zaWRlYmFyLWNvbnRhaW5lciAuZ3JpZC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLXRvcDogLTNlbTtcbiAgcGFkZGluZzogMGVtO1xuICBtYXgtd2lkdGg6IDk2ZW07IH1cblxuLnBlb3BsZS10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgLnBlb3BsZS10aWxlIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwOTY0MCAhaW1wb3J0YW50OyB9XG4gIC5wZW9wbGUtdGlsZSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMzUwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMEU2MDA7IH1cbiAgLnBlb3BsZS10aWxlIC5ib3gge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTY0MDtcbiAgICBjb2xvcjogIzAwOTY0MDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAucGVvcGxlLXRpbGUgLmpvYi10aXRsZSB7XG4gICAgY29sb3I6ICM3YjdiN2I7IH1cbiAgLnBlb3BsZS10aWxlOmhvdmVyIC5pbWFnZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwNTMyNjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzOyB9XG4gIC5wZW9wbGUtdGlsZTpob3ZlciBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDUzMjYgIWltcG9ydGFudDsgfVxuXG4uYXJlYXMtY29udGVudC1jb250YWluZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlODsgfVxuXG4uc2VjdG9yLXBhZ2UgLnRleHQtbGVmdC1pbWFnZS1yaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUZBRjY7XG4gIHBhZGRpbmc6IDNlbSAwZW07IH1cblxuLnNlY3Rvci1wYWdlIC5mdW5kaW5nLXRpbGUge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDRkOGQ0O1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTsgfVxuXG4uc2VjdG9yLXBhZ2UgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMEU2MDA7IH1cblxuLmhvbWUtcGFnZSAuc2xpZGVyLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmYWY2OyB9XG5cbi5rbm93bGVkZ2UtbmF2aWdhdGlvbiAubmV3cy10aWxlIC5pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDIwMHB4OyB9XG5cbi5zbGlkZXItc2VjdGlvbiAuZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbi10b3A6IDllbTsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzMjY7IH1cbiAgICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEyOCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IC0yLjUlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1zbGlkZSAuY29udGVudCB7XG4gICAgICB3aWR0aDogMzUlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMyU7XG4gICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMDA5NjQwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgICAgICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgc3BhbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDEycHg7IH1cbiAgICAgIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1zbGlkZSAuY29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7IH1cbiAgICAgIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1zbGlkZSAuY29udGVudCBwIHtcbiAgICAgICAgb3BhY2l0eTogMC42OyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNDcuNzUlO1xuICAgIHRvcDogMTA2LjMlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEU2MDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4O1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICB0b3A6IDEwNi4zJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBFNjAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cblxuLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgcGFkZGluZzogOGVtIDBlbTsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1zbGlkZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDsgfVxuICAgIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMzUlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDU1JTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1JTtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjMDAzODEzO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI3cHg7IH1cbiAgICAgICAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgc3BhbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzgxMztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDEycHg7IH1cbiAgICAgIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5jb250ZW50IGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAgICAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgcCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM4MTM7XG4gICAgei1pbmRleDogOTk5O1xuICAgIG1hcmdpbi10b3A6IC0zZW07XG4gICAgcGFkZGluZy1ib3R0b206IDhlbTtcbiAgICB3aWR0aDogNDUlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IC01JTtcbiAgICBtYXJnaW4tcmlnaHQ6IC02JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC44JTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDUvZGV2aWNlLWNhbGxvdXQucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiB0b3A7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA0NyU7IH1cbiAgICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1zbGlkZS1hY3RpdmUgLmNvbnRlbnQgc3BhbiB7XG4gICAgICBjb2xvcjogIzAwOTY0MDsgfVxuICAgICAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5jb250ZW50IHNwYW46YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDsgfVxuICAgIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuY29udGVudCBoMyB7XG4gICAgICBmb250LXNpemU6IDI5cHg7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUtcHJldiB7XG4gICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDk2NDArNzQsMDA2MDE0KzEwMCAqL1xuICAgIGJhY2tncm91bmQ6ICMwMDk2NDA7XG4gICAgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzAwOTY0MCA3NCUsICMwMDYwMTQgMTAwJSk7XG4gICAgLyogRkYzLjYtMTUgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDA5NjQwIDc0JSwgIzAwNjAxNCAxMDAlKTtcbiAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzAwOTY0MCA3NCUsICMwMDYwMTQgMTAwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDk2NDAnLCBlbmRDb2xvcnN0cj0nIzAwNjAxNCcsR3JhZGllbnRUeXBlPTEgKTtcbiAgICAvKiBJRTYtOSAqLyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxNS4yZW07XG4gICAgdG9wOiA3OC4zJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBFNjAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxOGVtO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICAgIHRvcDogNzguMyU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwRTYwMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuXG4uYXJlYS1wYWdlIC5zbGlkZXItc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuXG4uYXJlYS1wYWdlIC50aWxlcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZy1ib3R0b206IDBlbTsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLmdyaWQteCB7XG4gIHBhZGRpbmctdG9wOiAwZW07XG4gIHBhZGRpbmctYm90dG9tOiAwZW07IH1cblxuLnNpbmdsZS1wZW9wbGUgLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNmVtOyB9XG5cbi5zaW5nbGUtcGVvcGxlIC5wZW9wbGUtdGlsZSAuY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwZW07XG4gIHBhZGRpbmctYm90dG9tOiAyZW07IH1cbiAgLnNpbmdsZS1wZW9wbGUgLnBlb3BsZS10aWxlIC5jb250ZW50IC5mYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnNpbmdsZS1wZW9wbGUgLnBlb3BsZS10aWxlIC5jb250ZW50IC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuc2lkZWJhciB7XG4gIHBhZGRpbmc6IDBweDsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zaW5nbGUtcGVvcGxlIC5tYWluLWNvbnRlbnQgc3Ryb25nLCAuc2luZ2xlLXBlb3BsZSAubWFpbi1jb250ZW50IGIge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAyZTBhO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmc6IDRlbSAxLjVlbTsgfVxuXG4uc2luZ2xlLXBlb3BsZSAuYXJlYS1ib3gge1xuICBjb2xvcjogIzAwNTMyNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbi5wZW9wbGUtcGFnZSAuc2YtZmllbGQtc2VhcmNoIHtcbiAgd2lkdGg6IDgzJTsgfVxuXG4uY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwMDUyMjc7XG4gIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICAuY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmZhZjY7IH1cbiAgLmNhc2Utc3R1ZHktcGFnZSAuY2FzZS1zdHVkeS10aWxlIC5pbWFnZSB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzAwOTY0MDsgfVxuICAuY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUgLmRlZmF1bHQtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cbiAgICAuY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUgLmRlZmF1bHQtbGluazphZnRlciB7XG4gICAgICB0b3A6IDIwcHg7IH1cbiAgLmNhc2Utc3R1ZHktcGFnZSAuY2FzZS1zdHVkeS10aWxlIC5tYWluLWNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzAwOTY0MDsgfVxuXG4uaW1hZ2UtZXZlbnQtdGlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaW1hZ2UtZXZlbnQtdGlsZSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLmltYWdlLWV2ZW50LXRpbGUgLmRhdGUtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FkYWRhZDsgfVxuICAgIC5pbWFnZS1ldmVudC10aWxlIC5kYXRlLWNvbnRhaW5lciAudGhlLWRhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDU1JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogI2FkYWRhZDsgfVxuICAgIC5pbWFnZS1ldmVudC10aWxlIC5kYXRlLWNvbnRhaW5lciAubG9jYXRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgY29sb3I6ICMwMEU2MDA7IH1cblxuLmV2ZW50cy1wYWdlIC5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAzZW0gMGVtOyB9XG5cbi5jYXJlZXJzLXBhZ2UgLnRleHQtbGVmdC1pbWFnZS1yaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUZBRjY7IH1cblxuLmNhcmVlcnMtcGFnZSAucXVvdGUtc2xpZGVyIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjb2xvcjogIzAwOTY0MDsgfVxuXG4uY2FyZWVycy1wYWdlIC5xdW90ZS1zbGlkZXIgcCB7XG4gIGNvbG9yOiAjMDA1MzI2O1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuLmNvbnRhY3QtcGFnZSAuY29udGFjdC1mb3JtLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBwYWRkaW5nOiAxZW0gNWVtO1xuICBtYXJnaW4tdG9wOiA5ZW07IH1cblxuLmNvbnRhY3QtcGFnZSAuc21hbGwtaGVybyAudGV4dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDQlIDBlbSAwJTsgfVxuXG4uY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC50ZWwtbnVtYmVyIHtcbiAgcGFkZGluZzogMmVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjUzMjY7XG4gIG1hcmdpbi10b3A6IDZlbTsgfVxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC50ZWwtbnVtYmVyIC50ZWwtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmNvbnRhY3QtcGFnZSAuc21hbGwtaGVybyAudGVsLW51bWJlciAudGVsLWNvbnRhaW5lciBhIHtcbiAgICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG5cbi5jb250YWN0LXBhZ2UgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbiAgcGFkZGluZy1yaWdodDogM2VtOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5jb250YWN0LXBhZ2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjUzMjY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAwZW07XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwRTYwMDsgfVxuICAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl0sIC5jb250YWN0LXBhZ2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0gLmNvbnRhY3QtcGFnZSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE3cHg7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwOCU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5jb250YWN0LXBhZ2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTphZnRlciwgLmNvbnRhY3QtcGFnZSBzcGFuLndwY2Y3LWxpc3QtaXRlbSAuY29udGFjdC1wYWdlIFt0eXBlPVwicmFkaW9cIl06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIC53cGNmNy1saXN0LWl0ZW0tbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIC5tZW51aXRlbXNob3cge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIC5tZW51aXRlbXNob3c6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDsgfVxuXG4uY29udGFjdC1wYWdlIGxhYmVsIHtcbiAgY29sb3I6ICMwMjk2NDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE3cHg7IH1cbiAgLmNvbnRhY3QtcGFnZSBsYWJlbCAuZm9ybS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4OyB9XG5cbi5jb250YWN0LXBhZ2UgW3R5cGU9J3RleHQnXSwgLmNvbnRhY3QtcGFnZSBbdHlwZT0ncGFzc3dvcmQnXSwgLmNvbnRhY3QtcGFnZSBbdHlwZT0nZGF0ZSddLCAuY29udGFjdC1wYWdlIFt0eXBlPSdkYXRldGltZSddLCAuY29udGFjdC1wYWdlIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCAuY29udGFjdC1wYWdlIFt0eXBlPSdtb250aCddLCAuY29udGFjdC1wYWdlIFt0eXBlPSd3ZWVrJ10sIC5jb250YWN0LXBhZ2UgW3R5cGU9J2VtYWlsJ10sIC5jb250YWN0LXBhZ2UgW3R5cGU9J251bWJlciddLCAuY29udGFjdC1wYWdlIFt0eXBlPSdzZWFyY2gnXSwgLmNvbnRhY3QtcGFnZSBbdHlwZT0ndGVsJ10sIC5jb250YWN0LXBhZ2UgW3R5cGU9J3RpbWUnXSwgLmNvbnRhY3QtcGFnZSBbdHlwZT0ndXJsJ10sIC5jb250YWN0LXBhZ2UgW3R5cGU9J2NvbG9yJ10sIC5jb250YWN0LXBhZ2UgdGV4dGFyZWEge1xuICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwRTYwMDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwYWRkaW5nLWxlZnQ6IDI2cHg7IH1cblxuLmNvbnRhY3QtcGFnZSBbdHlwZT0ndGV4dCddOmZvY3VzLCAuY29udGFjdC1wYWdlIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCAuY29udGFjdC1wYWdlIFt0eXBlPSdkYXRlJ106Zm9jdXMsIC5jb250YWN0LXBhZ2UgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIC5jb250YWN0LXBhZ2UgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIC5jb250YWN0LXBhZ2UgW3R5cGU9J21vbnRoJ106Zm9jdXMsIC5jb250YWN0LXBhZ2UgW3R5cGU9J3dlZWsnXTpmb2N1cywgLmNvbnRhY3QtcGFnZSBbdHlwZT0nZW1haWwnXTpmb2N1cywgLmNvbnRhY3QtcGFnZSBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIC5jb250YWN0LXBhZ2UgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCAuY29udGFjdC1wYWdlIFt0eXBlPSd0ZWwnXTpmb2N1cywgLmNvbnRhY3QtcGFnZSBbdHlwZT0ndGltZSddOmZvY3VzLCAuY29udGFjdC1wYWdlIFt0eXBlPSd1cmwnXTpmb2N1cywgLmNvbnRhY3QtcGFnZSBbdHlwZT0nY29sb3InXTpmb2N1cywgLmNvbnRhY3QtcGFnZSB0ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMEU2MDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uY29udGFjdC1wYWdlIC5jaGVja2JveC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cblxuLmNvbnRhY3QtcGFnZSAuY29udHJvbC1tZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcInhcIjtcbiAgZm9udC1zaXplOiAxMDBweDsgfVxuXG4uY29udGFjdC1wYWdlICN0b2dnbGU6Y2hlY2tlZCB+IC5jb250cm9sLW1lOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiK1wiOyB9XG5cbi5jb250YWN0LXBhZ2UgLmNvbnRhY3QtcGFnZSBzcGFuLndwY2Y3LWxpc3QtaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdLCAuY29udGFjdC1wYWdlIC5jb250YWN0LXBhZ2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0gLmNvbnRhY3QtcGFnZSBbdHlwZT1cInJhZGlvXCJdICsgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDsgfVxuXG4uY29udGFjdC1wYWdlIC5tZW51aXRlbXNob3cgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2NDA7IH1cblxuLmNvbnRhY3QtcGFnZSAud3BjZjctc3VibWl0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUzMjY7XG4gIGNvbG9yOiAjMDBFNjAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jb250YWN0LXBhZ2UgLmxvY2F0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjUwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nOiAzZW07XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbTsgfVxuICAuY29udGFjdC1wYWdlIC5sb2NhdGlvbi1jb250YWluZXIgLmxvY2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgICAuY29udGFjdC1wYWdlIC5sb2NhdGlvbi1jb250YWluZXIgLmxvY2F0aW9uIGgzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICMwMjk2NDA7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY29udGFjdC1wYWdlIC5sb2NhdGlvbi1jb250YWluZXIgLmxvY2F0aW9uIGgzOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgdG9wOiAxMHB4OyB9XG4gICAgLmNvbnRhY3QtcGFnZSAubG9jYXRpb24tY29udGFpbmVyIC5sb2NhdGlvbiBwIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5jb250YWN0LXBhZ2UgLmxvY2F0aW9uLWNvbnRhaW5lciAubG9jYXRpb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICAgIHJpZ2h0OiAtNnB4O1xuICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDsgfVxuICAuY29udGFjdC1wYWdlIC5sb2NhdGlvbi1jb250YWluZXIgLmFjdGl2ZS1sb2NhdGlvbiBwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29udGFjdC1wYWdlIC5sb2NhdGlvbi1jb250YWluZXIgLmFjdGl2ZS1sb2NhdGlvbiBoMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiLVwiOyB9XG5cbi5jb250YWN0LXBhZ2UgLm1hcC0yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udGFjdC1wYWdlIC5tYXAtMyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICBwYWRkaW5nLXRvcDogM2VtOyB9XG4gIC5zaW5nbGUtZXZlbnQgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTsgfVxuXG4uc2luZ2xlLWV2ZW50IC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IGgyIHtcbiAgY29sb3I6ICMwMjk2NDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXRvcDogMS41ZW07IH1cblxuLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmc6IDRlbSAyLjVlbSAzZW07IH1cblxuLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG5cbi5vcHBvcnR1bml0eS1zaW5nbGUgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHtcbiAgcGFkZGluZy10b3A6IDNlbTsgfVxuXG4uZnVsbC1pbWFnZS1zZWN0aW9uIGltZyB7XG4gIG1hcmdpbjogMmVtIDBlbTsgfVxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogIzAwMzgxMztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDE3cHggMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zZWN0b3JzLW5hdi1jb250YWluZXIgdWwgbGkgYSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgIzAwRTYwMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaG9tZS1zZWN0b3JzIHtcbiAgbWFyZ2luOiAyZW0gMGVtIDVlbTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyLjVlbTtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IGgzIHtcbiAgICAgICAgY29sb3I6ICMwMDUzMjY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IGg0IHtcbiAgICAgICAgY29sb3I6ICMwMDk2NDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IC5leHBlcnQtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiA1cHggMHB4IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgICAgICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuY29udGVudCAuZXhwZXJ0LWNvbnRhaW5lciAuZXhwZXJ0IHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwOTY0MDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICAgICAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmNvbnRlbnQgLmV4cGVydC1jb250YWluZXIgLmV4cGVydCBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogIzAwNTMyNjsgfVxuICAgICAgICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IC5leHBlcnQtY29udGFpbmVyIC5leHBlcnQgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweDsgfVxuICAgICAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmltYWdlIC5pbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmRlZmF1bHQtbGluay1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicyB7XG4gICAgYm9yZGVyOiAwcHg7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC5ob21lLXNlY3RvcnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogIzAwMzgxMztcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzIHNwYW4sIC5ob21lLXNlY3RvcnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLnRhYnMgLmlzLWFjdGl2ZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJzIC5pcy1hY3RpdmUgLmRyb3Bkb3duLW9wdGlvbnMge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLW9wdGlvbnMge1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRyb3Bkb3duLW9wdGlvbnMgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDk2NDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMzFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDVweCAwcHggIWltcG9ydGFudDsgfVxuXG4uc2VjdG9ycy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDJlbSAzZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuXG4uaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAtM2VtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIC8qIFRyYWNrICovXG4gIC8qIEhhbmRsZSAqL1xuICAvKiBIYW5kbGUgb24gaG92ZXIgKi8gfVxuICAuaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24gOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24gOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24gOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogIzAwRTYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7IH1cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDUzMjY7IH1cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIGJvcmRlcjogMHB4OyB9XG5cbi5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICB3aWR0aDogNDMlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogNCU7IH1cblxuLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAuaXMtYWN0aXZlIHtcbiAgd2lkdGg6IDk0JTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgcGFkZGluZzogMWVtIDJlbSAxLjVlbTtcbiAgbWFyZ2luOiAxZW0gMGVtIDFlbTsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDFlbTsgfVxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgLmRyb3Bkb3duLW9wdGlvbnMgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIGE6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHRvcDogMTdweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogOXB4IHNvbGlkICNmZmZmZmY7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDMuOWVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE4cHg7XG4gICAgdG9wOiAxN3B4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOXB4IHNvbGlkICNmZmZmZmY7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAudGVzdGltb25pYWxzLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUtbmV4dCB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uc2luZ2xlLXBvc3QgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAubWFpbi1oZXJvLWNvbnRlbnQgaDEge1xuICBmb250LXNpemU6IDMxcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NnB4OyB9XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDZlbTsgfVxuXG4uc3ViLW5hdi1jb250ZW50IC5uZXdzLXRpbGUgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuXG4uc3ViLW5hdi1jb250ZW50IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQge1xuICBwYWRkaW5nOiAxZW0gNGVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxMSU7IH1cblxuLnNlYXJjaC1jb250YWluZXIgLndwZHJlYW1zX2FzbF9jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMjNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAxOHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDUvc2VhcmNoLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uc2VhcmNoLWljb24ge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5zZWFyY2gtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi5zbGlkZS1vdXQtbWVudSAuc2VhcmNoLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV2ZW50cy1uYXZpZ2F0aW9uIGEgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzA0NTYyNztcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7IH1cblxuLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHVsIGxpIGEge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zdWItbmF2LWNvbnRlbnQgLnZpZXctYWxsLWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzA1NGExNCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnN1Yi1uYXYtY29udGVudCAuc29jaWFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDNlbTtcbiAgcmlnaHQ6IDNlbTsgfVxuICAuc3ViLW5hdi1jb250ZW50IC5zb2NpYWwgLmZhIHtcbiAgICBjb2xvcjogIzAwRTYwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNmVtOyB9XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IHtcbiAgcGFkZGluZzogMWVtIDRlbTtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5rbm93bGVkZ2UtbmF2aWdhdGlvbiAubmV3cy10aWxlIC5kYXRlIHtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzA0NTYyNztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmhlYWRlci1maXhlZCB1bCAuc2VhcmNoLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cblxuLmFyZWEtcGFnZSAuc2luZ2xlLXBlb3BsZSAuZ3JpZC14IHtcbiAgcGFkZGluZzogMHB4OyB9XG5cbi5hcmVhLXBhZ2UgLnNpbmdsZS1wZW9wbGUge1xuICBtYXJnaW4tdG9wOiAtNGVtOyB9XG5cbi5hcmVhLXBhZ2UgLnNpbmdsZS1wZW9wbGUgLmNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOWVtOyB9XG4gIC5hcmVhLXBhZ2UgLnNpbmdsZS1wZW9wbGUgLmNvbnRlbnQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6ICMwMDM4MTM7IH1cbiAgLmFyZWEtcGFnZSAuc2luZ2xlLXBlb3BsZSAuY29udGVudCBoNCB7XG4gICAgY29sb3I6ICMwMDk2NDA7IH1cblxuLmFyZWEtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgcGFkZGluZzogMmVtIDBlbSAwZW07IH1cbiAgLmFyZWEtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IC5ncmlkLXgge1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07IH1cbiAgLmFyZWEtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogM2VtO1xuICAgIHBhZGRpbmctYm90dG9tOiA5ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07IH1cblxuLmZ1bmRpbmctdGlsZSBoMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMjUzMjk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5hcmVhLXBhZ2UgLnRpbGVzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWJvdHRvbTogM2VtOyB9XG5cbi5hcmVhLXBhZ2UgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSB7XG4gIG1hcmdpbi10b3A6IDRlbTsgfVxuXG4uc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogOTlweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7IH1cblxuLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8wNS9kZXZpY2UtY2FsbG91dC5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IHRvcDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA0NyU7IH1cblxuZGl2LmFzbF93IC5wcm9ib3ggLnByb2lucHV0IGlucHV0LmF1dG9jb21wbGV0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhcmVlcnMtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgcGFkZGluZzogMGVtOyB9XG4gIC5jYXJlZXJzLXBhZ2UgLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuZ3JpZC14IHtcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgLmNhcmVlcnMtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1ZW07IH1cblxuaDEge1xuICBmb250LXNpemU6IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4OyB9XG5cbi5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgLmNpcmNsZS1kZXZpY2Uge1xuICBoZWlnaHQ6IDYzNHB4O1xuICB3aWR0aDogNzAwcHg7XG4gIHJpZ2h0OiAtNjUlOyB9XG5cbi5ob21lLXBhZ2UgLnRpbGVzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDNlbSAwZW0gMWVtOyB9XG5cbi5zZWFyY2gtaWNvbi1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNpbmdsZS1uZXdzIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb25uZWN0IC5nZXQtaW4tdG91Y2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAwcHg7XG4gIGJvcmRlci1yaWdodDogMHB4O1xuICBib3JkZXItdG9wOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDUzMjY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2YtZmllbGQtc2VhcmNoIGxhYmVsIGlucHV0IHtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNmLWZpZWxkLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2YtZmllbGQtc2VhcmNoOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICB3aWR0aDogMjNweDtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgdG9wOiAyNnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDUvc2VhcmNoLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uc2YtZmllbGQtc2VhcmNoIGxhYmVsIGlucHV0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwNjZkMzc7XG4gIHBhZGRpbmctbGVmdDogNDJweCAhaW1wb3J0YW50OyB9XG5cbi5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDBweDsgfVxuXG4ucGVvcGxlLXBhZ2UgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyLjVlbSAwLjFlbTsgfVxuXG4uc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCAuZXZlbnQtdGlsZSBoMyB7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7IH1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gIHdpZHRoOiA3MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWN0b3ItZHJvcGRvd24td3JhcHBlciB7XG4gIHdpZHRoOiAxMyU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc2VjdG9yLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyLCA4MywgMzgsIDApO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLnNlY3Rvci1kcm9wZG93bi13cmFwcGVyIC5idXR0b246YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwZTYwMTsgfVxuICAgIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDBFNjAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciAuYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsgfVxuICAgIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciAuYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsgfVxuXG4uYXJlYS1kcm9wZG93bi13cmFwcGVyIHtcbiAgd2lkdGg6IDEzLjUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmFyZWEtZHJvcGRvd24td3JhcHBlciAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIsIDgzLCAzOCwgMCk7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLmFyZWEtZHJvcGRvd24td3JhcHBlciAuYnV0dG9uOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICMwMGU2MDE7IH1cbiAgICAuYXJlYS1kcm9wZG93bi13cmFwcGVyIC5idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICMwMEU2MDAgIWltcG9ydGFudDsgfVxuICAgICAgLmFyZWEtZHJvcGRvd24td3JhcHBlciAuYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsgfVxuICAgIC5hcmVhLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7IH1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUge1xuICBwYWRkaW5nOiAyZW0gMWVtIDFlbTtcbiAgYm9yZGVyOiAwcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyLCA4MywgMzgsIDAuOTEpO1xuICBjb2xvcjogd2hpdGU7XG4gIHRvcDogMTAzcHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuZHJvcGRvd24tcGFuZSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHVsIGxpIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgICAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgdWwgbGkgbGFiZWw6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwRTYwMDsgfVxuXG4uZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuc2YtZmllbGQtdGF4b25vbXktc2VjdG9yLCAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuc2YtZmllbGQtdGF4b25vbXktYXJlYXMge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaC1maWx0ZXItcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgbWluLWhlaWdodDogNDAwcHg7IH1cbiAgLnNlYXJjaC1maWx0ZXItcmVzdWx0cyAubm8tcmVzdWx0cyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmc6IDJlbTsgfVxuXG4ua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aWR0aDogNzAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmtub3dsZWRnZS1wYWdlIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkgYSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5rbm93bGVkZ2UtcGFnZSAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMEU2MDAgIWltcG9ydGFudDsgfVxuXG4ua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5rbm93bGVkZ2UtcGFnZSAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCB1bCB7XG4gICAgd2lkdGg6IDQ2JTsgfVxuICAua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxN3B4OyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0ge1xuICAgIHdpZHRoOiA0OCU7IH1cbiAgLnNlY3Rvci1kcm9wZG93bi13cmFwcGVyIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5hcmVhLWRyb3Bkb3duLXdyYXBwZXIge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmt0bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogVHJhY2sgKi9cbiAgICAvKiBIYW5kbGUgKi9cbiAgICAvKiBIYW5kbGUgb24gaG92ZXIgKi8gfVxuICAgIC5rdG4tc3VibWVudTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5rdG4tc3VibWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAwcHggIWltcG9ydGFudDsgfVxuICAgIC5rdG4tc3VibWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogIzAwRTYwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAua3RuLXN1Ym1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDUzMjY7XG4gICAgICBib3JkZXI6IDBweCAhaW1wb3J0YW50OyB9XG4gICAgLmt0bi1zdWJtZW51IC52ZXJ0aWNhbCB7XG4gICAgICBib3JkZXI6IDBweDsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzJSAyZW07IH1cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7IH1cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNTNweDsgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmJyZWFkY3J1bWIge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4OyB9XG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7IH1cbiAgLmxhcmdlLWhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDBweDsgfVxuICAuaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDNlbTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuaW1hZ2UsIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwZW07IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIHtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gMGVtOyB9XG4gIC5ob21lLXBhZ2UgLnNsaWRlci1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7IH1cbiAgLmV2ZW50LXRpbGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDsgfVxuICAuZXZlbnQtdGlsZSAuZGF0ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEuNWVtIDFlbTsgfVxuICAuZGVmYXVsdC1saW5rIHtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLmhvbWUtcGFnZSAudGlsZXMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtIDBlbTsgfVxuICAuaG9tZS1wYWdlIC5jYXNlLXN0dWR5LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMmVtIDFlbTsgfVxuICAudHdpdHRlci1mZWVkIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMHB4OyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwMHB4IDNlbSA2JTtcbiAgICBtaW4taGVpZ2h0OiAwcHg7IH1cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogM2VtOyB9XG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzM3ZoOyB9XG4gIC5pbmZvcm1hdGlvbi1ibG9jayAuY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgLmluZm9ybWF0aW9uLWJsb2NrIC5jb250ZW50IHNwYW4ge1xuICAgIGxlZnQ6IC0xM3B4OyB9XG4gIC5xdW90ZS1ibG9jayAuaW1hZ2UtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTsgfVxuICAucXVvdGUtYmxvY2sgLmNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAucXVvdGUtYmxvY2sge1xuICAgIHBhZGRpbmc6IDJlbSAxZW0gMGVtOyB9XG4gIC50ZXN0aW1vbmlhbHMtc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDBlbTsgfVxuICAucXVvdGUtc2xpZGVyIHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtOyB9XG4gIC5rdG4tcGVvcGxlIHtcbiAgICBwYWRkaW5nOiAzZW0gMWVtIDBlbTsgfVxuICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmpvYi10aXRsZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBsZWZ0OiA4NiU7IH1cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgbGVmdDogOTMlOyB9XG4gIC5yZXBvcnRzLXNlY3Rpb24gLmNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIC5icmVhZGNydW1iIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiA2NCU7IH1cbiAgLnBhZ2UtaWQtMzA5IC5zaWRlYmFyLWNvbnRhaW5lciAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBlbTsgfVxuICAuZXZlbnRzLXBhZ2UgLmZ1bmRpbmctdGlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDNlbSAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtOyB9XG4gIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgcGFkZGluZzogMWVtIDJlbSAzZW07IH1cbiAgLmt0bi1zdWJtZW51IHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAxNXB4IDBweCAxN3B4OyB9XG4gIC5zZWN0b3ItcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQUY2O1xuICAgIHBhZGRpbmc6IDJlbSAxZW07IH1cbiAgLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuICAua3RuLWFyZWFzIHtcbiAgICBwYWRkaW5nOiAyZW0gMS41ZW07IH1cbiAgLnNlY3Rvci1wYWdlIC5mdW5kaW5nLXRpbGUge1xuICAgIGJvcmRlci1yaWdodDogMHB4OyB9XG4gIC5mdW5kaW5nLXRpbGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7IH1cbiAgLmV2ZW50LXRpbGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDsgfVxuICAuc2VjdG9yLXBhZ2UgLmV2ZW50LXRpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTsgfVxuICAgIC5zZWN0b3ItcGFnZSAuZXZlbnQtdGlsZSAudGlsZS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY3Rvci1wYWdlIC5ldmVudC10aWxlIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiA3OSU7IH1cbiAgICAuc2VjdG9yLXBhZ2UgLmV2ZW50LXRpbGUgLmRhdGUge1xuICAgICAgd2lkdGg6IDIxJTsgfVxuICAucHJvZ3JhbW1lcy10aWxlIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgLnByb2dyYW1tZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMmVtIDFlbTsgfVxuICAucGVvcGxlLXBhZ2UgLnNmLWZpZWxkLXNlYXJjaCB7XG4gICAgd2lkdGg6IDY2JTsgfVxuICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyAubmV3cy10aWxlIC5pbWFnZSB7XG4gICAgd2lkdGg6IDMyJTsgfVxuICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyAubmV3cy10aWxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM4JTsgfVxuICAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtOyB9XG4gIC5zaW5nbGUtcGVvcGxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtOyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1zbGlkZSAuY29udGVudCB7XG4gICAgcGFkZGluZzogNyU7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMTElICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLTMuNSU7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgLmFyZWEtcGFnZSAuc2xpZGVyLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbTsgfVxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwZW0gNGVtOyB9XG4gIC5jb250YWN0LXBhZ2UgLnNtYWxsLWhlcm8gLnRlbC1udW1iZXIge1xuICAgIG1hcmdpbi10b3A6IDRlbTsgfVxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC50ZWwtbnVtYmVyIC50ZWwtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwZW0gMWVtOyB9XG4gIC5jb250YWN0LXBhZ2UgLmxvY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDNlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzZW07IH1cbiAgLmNvbnRhY3QtcGFnZSAuY29udGFjdC1mb3JtLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFlbSAzZW07XG4gICAgbWFyZ2luLXRvcDogNGVtOyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDJlbSAxZW07IH1cbiAgLmpvYi12YWNhbmNpZXMtc2VjdGlvbiB0YWJsZSB0aGVhZCAuam9iLWNhdGVnb3J5LCAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRyIC5qb2ItY2F0ZWdvcnkge1xuICAgIHBhZGRpbmc6IDI1cHggMTVweDsgfVxuICAuc21hbGxlci1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggM2VtIDYlO1xuICAgIG1pbi1oZWlnaHQ6IDBweDsgfVxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gM2VtOyB9XG4gIC5zaW5nbGUtcGVvcGxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW07IH1cbiAgLnNtYWxsZXItaGVybyAuZ3JlZW4tYmFyIC5sb2dvLWNvbnRhaW5lciAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDFlbTsgfVxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogNGVtIDEuNWVtO1xuICAgIHBhZGRpbmc6IDJlbSAzZW07IH1cbiAgaDEgcCB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4OyB9XG4gIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IC5idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDY0JTsgfVxuICAuc2luZ2xlLWpvYiAuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDJlbTsgfVxuICAuc2luZ2xlLWpvYiAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCAuYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiA4MyU7IH1cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgd2lkdGg6IDkyJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogNCU7IH1cbiAgLnRhYnMtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDBlbTsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA3MDBweDsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIGxpIGEge1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLmlzLWFjdGl2ZSAuZHJvcGRvd24tb3B0aW9ucyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDJweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC50YWJzIC5pcy1hY3RpdmUgLmRyb3Bkb3duLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDFlbSA0ZW0gMWVtIDJlbTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDNlbTsgfVxuICAua25vd2xlZGdlLW5hdmlnYXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQgdWwgbGkgYSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogMGVtICFpbXBvcnRhbnQ7IH1cbiAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgcmlnaHQ6IDIuN2VtICFpbXBvcnRhbnQ7IH1cbiAgLnNlYXJjaC1pY29uLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5xdW90ZS1ibG9jayAuY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAyOXB4OyB9XG4gIC5xdW90ZS1ibG9jayAuaW1hZ2UtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgaGVpZ2h0OiA0NzhweDtcbiAgICB0b3A6IC0xMDBweDsgfVxuICAuc2VjdG9yLXBhZ2UgLmV2ZW50LXRpbGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7IH1cbiAgLmFyZWEtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwZW0gMWVtIDBlbTsgfVxuICAuYXJlYS1wYWdlIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTsgfVxuICAuYXJlYS1wYWdlIC5zaW5nbGUtcGVvcGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cbiAgLmFyZWEtcGFnZSAuc2luZ2xlLXBlb3BsZSAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuICAuYXJlYS1wYWdlIC5uZXdzLXRpbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hcmVhLXBhZ2UgLm5ld3MtdGlsZSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUgLmltYWdlIHtcbiAgICBoZWlnaHQ6IDEyMSUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYXJlYS1wYWdlIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQgLmltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwZW07IH1cbiAgLnByb2dyYW1tZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMWVtIDAuNWVtOyB9XG4gIC5hcmVhLXBhZ2UgLnNpbmdsZS1wZW9wbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgLmFyZWEtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgLmFyZWEtcGFnZSAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiAwZW07IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyZW0gMmVtIDNlbSAhaW1wb3J0YW50OyB9XG4gIC5xdW90ZS1ibG9jayAuaW1hZ2UtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgaGVpZ2h0OiAyNzhweDtcbiAgICB0b3A6IDBweDsgfVxuICAuc2VjdG9yLXBhZ2UgLmV2ZW50LXRpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuZXZlbnQtdGlsZSBoMyB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5hYm91dC1kZXZpY2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnF1b3RlLWJsb2NrIC5jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAudGVzdGltb25pYWxzLXN3aXBlci1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHNwYW4ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMyUgMS41ZW07IH1cbiAgLnNlYXJjaC1pY29uLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2VhcmNoLWljb24tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGVhZGVyIHVsIC5zZWFyY2gtaWNvbiB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLnNlYXJjaC1jb250YWluZXIgLndwZHJlYW1zX2FzbF9jb250YWluZXI6YWZ0ZXIge1xuICAgIHJpZ2h0OiAyM3B4OyB9XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZGVmYXVsdC1saW5rIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDNweDsgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmJyZWFkY3J1bWIge1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuY29udGVudCAubGl2ZS1ub3ctY29udGFpbmVyIC5saXZlLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIHdpZHRoOiAyNS4zJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWF4LXdpZHRoOiA4M3B4OyB9XG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5jb250ZW50IC5saXZlLW5vdy1jb250YWluZXIgLmxpdmUtY29udGVudCB7XG4gICAgd2lkdGg6IDUyJTsgfVxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuY29udGVudCAubGl2ZS1ub3ctY29udGFpbmVyIC5saXZlLWNvbnRlbnQgcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5jb250ZW50IC5saXZlLW5vdy1jb250YWluZXIge1xuICAgIGxlZnQ6IDA7IH1cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICBwYWRkaW5nOiAxNnB4IDBweDtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDEuNWVtOyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1zbGlkZSAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIHdpZHRoOiA4NiU7XG4gICAgbWFyZ2luOiA3JTsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1zbGlkZS1hY3RpdmUgLmNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHRvcDogMTc3cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB0b3A6IDE3N3B4O1xuICAgIGxlZnQ6IDA7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHNwYW46YmVmb3JlIHtcbiAgICBib3R0b206IDEwcHg7IH1cbiAgLmhvbWUtcGFnZSAubmV3cy10aWxlIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gIC5zdWItaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLmhvbWUtcGFnZSAuZnVuZGluZy10aWxlIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gIC5ob21lLXBhZ2UgLmV2ZW50LXRpbGUge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwZW07IH1cbiAgLmhvbWUtcGFnZSAuY2FzZS1zdHVkeS10aWxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIxcHg7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5ob21lLXBhZ2UgLmNhc2Utc3R1ZHktY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtOyB9XG4gIC5idXR0b246YWZ0ZXIge1xuICAgIHRvcDogMjJweDsgfVxuICAuZXZlbnQtdGlsZSAuZGF0ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDI5MHB4OyB9XG4gIC5ob21lLXBhZ2UgLnNlY3RvcnMtc2VjdGlvbiAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMGU2MDE7XG4gICAgcGFkZGluZy10b3A6IDEuMjVlbTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuY29udGVudCBoNCB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1pbi1oZWlnaHQ6IDBweDsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhvbWUtc2VjdG9ycyB7XG4gICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IC5leHBlcnQtY29udGFpbmVyIC5leHBlcnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuY29udGVudCAuZXhwZXJ0LWNvbnRhaW5lciAuZXhwZXJ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfVxuICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA3NXB4IDFlbSA3JTtcbiAgICBtaW4taGVpZ2h0OiAwcHg7IH1cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAubWFpbi1oZXJvLWNvbnRlbnQgcCBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIC5pbmZvcm1hdGlvbi1ibG9jayAuY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtOyB9XG4gIC5xdW90ZS1ibG9jayB7XG4gICAgcGFkZGluZzogMWVtIDAuNWVtOyB9XG4gIC5xdW90ZS1ibG9jayAuY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICAudGVzdGltb25pYWxzLXN3aXBlci1jb250YWluZXIgcCB7XG4gICAgcGFkZGluZzogMGVtIDBlbSAwZW07XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5xdW90ZS1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMGVtOyB9XG4gIC5rdG4tcGVvcGxlIHtcbiAgICBwYWRkaW5nOiAzZW0gMC41ZW0gMGVtOyB9XG4gIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMmVtIDBlbTsgfVxuICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmpvYi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIHRvcDogMjUuNmVtO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICB0b3A6IDI1LjZlbTtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IGluaGVyaXQ7IH1cbiAgLm5ld3MtdGlsZSB7XG4gICAgcGFkZGluZzogMGVtIDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTsgfVxuICAubmV3cy10aWxlIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIC5uZXdzLXRpbGUgaDMge1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAubmV3cy10aWxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTsgfVxuICAucmVwb3J0cy1zZWN0aW9uIC5yZXBvcnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAuZXZlbnRzLXBhZ2UgLmZ1bmRpbmctdGlsZSB7XG4gICAgcGFkZGluZzogMWVtIDJlbSAwZW07XG4gICAgbWFyZ2luLWxlZnQ6IDBweDsgfVxuICAuc2YtZmllbGQtc2VhcmNoIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VhcmNoYW5kZmlsdGVyIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4OyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IsIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5zZi1maWVsZC10YXhvbm9teS1hcmVhcyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmV2ZW50cy1wYWdlIC5zaWRlYmFyIGxpIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtOyB9XG4gIC5zZWFyY2hhbmRmaWx0ZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMGVtOyB9XG4gIC5hYm91dC1wYWdlIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgcGFkZGluZzogMWVtIDJlbSAwZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAua3RuLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMGVtIDFlbTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmt0bi1zdWJtZW51IHtcbiAgICBwYWRkaW5nOiA2cHggMHB4IDEzcHg7IH1cbiAgLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMGVtOyB9XG4gIC5zZWN0b3ItcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtOyB9XG4gIC5rdG4tYXJlYXMge1xuICAgIHBhZGRpbmc6IDFlbSAwLjVlbTsgfVxuICAua3RuLWFyZWFzIC50ZXh0LWNvbnRhaW5lciAuYXJlYXMtc3dpcGVyLWNvbnRhaW5lciBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDJlbSAwZW07IH1cbiAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIgLmFyZWFzLXN3aXBlci1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgcGFkZGluZy10b3A6IDBlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMGVtOyB9XG4gICAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIgLmFyZWFzLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCwgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIgLmFyZWFzLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ldmVudC10aWxlIC5kYXRlIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLnNlY3Rvci1wYWdlIC5ldmVudC10aWxlIHtcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgLnBlb3BsZS1wYWdlIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50OyB9XG4gIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50OyB9XG4gIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IgbGFiZWwgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ0YTIzO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwZW07IH1cbiAgLnNmLWZpZWxkLXNlYXJjaCBsYWJlbCBpbnB1dCB7XG4gICAgaGVpZ2h0OiA1M3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA0NDkyNDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTMsIDI1MywgMjUyLCAwLjE0KTtcbiAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBoZWlnaHQ6IDYzcHg7IH1cbiAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIuNWVtIDAuNWVtOyB9XG4gIC5wZW9wbGUtdGlsZSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgLnBlb3BsZS10aWxlIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmtub3dsZWRnZS1jZW50cmUtdGlsZXMgLm5ld3MtdGlsZSAuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIC5uZXdzLXRpbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxZW07IH1cbiAgLnNmLWZpZWxkLXRheG9ub215LWFyZWFzIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDsgfVxuICAuc2YtZmllbGQtdGF4b25vbXktYXJlYXMgbGFiZWwgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDRhMjM7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAuY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyB7XG4gICAgcGFkZGluZzogMWVtIDBlbTsgfVxuICAuZXZlbnQtdGlsZSB7XG4gICAgcGFkZGluZzogMGVtOyB9XG4gIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQge1xuICAgIHBhZGRpbmc6IDEuNWVtIDBlbTsgfVxuICAuc2luZ2xlLXBlb3BsZSAuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMmVtOyB9XG4gIC50ZXh0LXJpZ2h0LWltYWdlLWxlZnQgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMzUwcHg7IH1cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgICB3aWR0aDogODUlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwcHggOCUgMTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1zbGlkZSAuaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgLmFyZWEtcGFnZSAuc2xpZGVyLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTsgfVxuICAuY2FyZWVycy1wYWdlIC5xdW90ZS1zbGlkZXIgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdGhlYWQgLmpvYi10aXRsZSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDIwcHggMHB4OyB9XG4gICAgLmpvYi12YWNhbmNpZXMtc2VjdGlvbiB0YWJsZSB0ciB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDBweDsgfVxuICAgICAgLmpvYi12YWNhbmNpZXMtc2VjdGlvbiB0YWJsZSB0ciB0ZCBhIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi10aXRsZSB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIC5qb2ItY2F0ZWdvcnksIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi1jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRyIC5qb2ItbG9jYXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBjb2xvcjogIzAwMzgxMzsgfVxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtIDBlbTsgfVxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDBlbSAyZW07IH1cbiAgLmNvbnRhY3QtcGFnZSBoMSBwIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHg7IH1cbiAgLmNvbnRhY3QtcGFnZSAuc21hbGwtaGVybyAudGVsLW51bWJlciAudGVsLWNvbnRhaW5lciBhIHtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLmNvbnRhY3QtcGFnZSAuc21hbGwtaGVybyAudGVsLW51bWJlciB7XG4gICAgcGFkZGluZzogMS41ZW0gMWVtOyB9XG4gIC5jb250YWN0LXBhZ2UgLmxvY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDBlbTsgfVxuICAuY29udGFjdC1wYWdlIC5jb250YWN0LWZvcm0tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDJlbTtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgLmNvbnRhY3QtcGFnZSBzcGFuLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgd2lkdGg6IDQ4JTsgfVxuICAuc2luZ2xlLW5ld3MgLnNpZGViYXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwZW07IH1cbiAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuICAuc2luZ2xlLW5ld3MgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIuNWVtIDJlbTsgfVxuICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCAuYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaW5nbGUtbmV3cyAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDJlbTsgfVxuICAuc2luZ2xlLW5ld3MgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIGEge1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAuc2luZ2xlLWV2ZW50IC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBtYXJnaW4tdG9wOiAwZW07XG4gICAgcGFkZGluZzogMmVtIDAuNWVtOyB9XG4gIC5zaW5nbGUtZXZlbnQgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuc2luZ2xlLWV2ZW50IC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwZW0gMC41ZW0gMmVtOyB9XG4gIC5zaW5nbGUtZXZlbnQgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIGlmcmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtOyB9XG4gIC5zaW5nbGUtZXZlbnQgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQgaDIge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtOyB9XG4gIC5zbWFsbGVyLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNHB4IDFlbSA0ZW07XG4gICAgbWluLWhlaWdodDogMHB4OyB9XG4gIC5zaW5nbGUtam9iIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciAuc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLnNpbmdsZS1qb2IgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuc2luZ2xlLWpvYiAuc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMC41ZW0gMGVtIDFlbTsgfVxuICBoMSBwIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQzcHg7IH1cbiAgLnNpbmdsZS1wZW9wbGUgLnNpZGViYXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyZW07IH1cbiAgLnNpbmdsZS1wZW9wbGUgLnNpZGViYXItY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgcGFkZGluZy1yaWdodDogMGVtOyB9XG4gIC5zaW5nbGUtcGVvcGxlIC5wZW9wbGUtdGlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtOyB9XG4gIC5zbWFsbGVyLWhlcm8gLmdyZWVuLWJhciB7XG4gICAgei1pbmRleDogMDtcbiAgICBoZWlnaHQ6IDg1cHg7IH1cbiAgLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7IH1cbiAgLnNpbmdsZS1wZW9wbGUgLm1haW4tY29udGVudCBzdHJvbmcsIC5zaW5nbGUtcGVvcGxlIC5tYWluLWNvbnRlbnQgYiB7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5zaW5nbGUtcGVvcGxlIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgcGFkZGluZzogMWVtIDBlbSAwZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmYzsgfVxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMGVtOyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbjogMGVtOyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgdWwgbGkgYSB7XG4gICAgcGFkZGluZzogNHB4IDBweDtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLmRyb3Bkb3duLW9wdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuZHJvcGRvd24tb3B0aW9ucyBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZmFmNjsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgYSwgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZmFmNjsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgLmRyb3Bkb3duLW9wdGlvbnMgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmYWY2OyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IDJlbTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuY29udGVudCAuZXhwZXJ0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4IDBweCAwcHg7IH1cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLmhvbWUtc2VjdG9ycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIC5zZi1maWVsZC1zZWFyY2g6YWZ0ZXIge1xuICAgIGxlZnQ6IDQ1cHg7XG4gICAgdG9wOiA0MXB4OyB9XG4gIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwgaW5wdXQge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjMDY2ZDM3O1xuICAgIHBhZGRpbmctbGVmdDogNTRweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuc2VhcmNoYW5kZmlsdGVyIHNlbGVjdC5zZi1pbnB1dC1zZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5icmVhZGNydW1iIGhyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuYXJlYS1kcm9wZG93bi13cmFwcGVyIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFyZWEtZHJvcGRvd24td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlY3Rvci1kcm9wZG93bi13cmFwcGVyIC5idXR0b24ge1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjQ4MjQ7XG4gICAgcGFkZGluZzogMjBweCAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5hcmVhLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDgyNDtcbiAgICBwYWRkaW5nOiAyMHB4IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2YtZmllbGQtc2VhcmNoIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gMS41ZW07IH1cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUge1xuICAgIHRvcDogaW5pdGlhbCAhaW1wb3J0YW50OyB9XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICB3aWR0aDogODUlOyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtIDFlbTtcbiAgICBib3JkZXI6IDBweCBzb2xpZCAjY2FjYWNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTQ3MjQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDBlbSAxLjVlbTsgfVxuICAuc2YtZmllbGQtc2VhcmNoOmFmdGVyIHtcbiAgICBsZWZ0OiAyMnB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIHRvcDogNDdweDtcbiAgICBoZWlnaHQ6IDE1cHg7IH1cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgdWwgbGkgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMGVtIDBlbSAwLjVlbTsgfVxuICAuc2VjdG9yLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtOyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHtcbiAgICBwYWRkaW5nOiAxZW0gMWVtIDFlbTtcbiAgICBib3JkZXI6IDBweCBzb2xpZCAjY2FjYWNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTQ3MjQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwMjUzMjY7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwZW0gMGVtIDEuNWVtOyB9XG4gIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmtub3dsZWRnZS1wYWdlIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwZW07XG4gICAgbWFyZ2luLXRvcDogMWVtOyB9XG4gICAgLmtub3dsZWRnZS1wYWdlIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE3cHg7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDI3cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NDcyNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmtub3dsZWRnZS1wYWdlIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtIDJlbTsgfSB9XG5cbi5rdG4tc3VibWVudSB7XG4gIHBhZGRpbmc6IDI1cHggMmVtOyB9XG5cbi5ob21lLXBhZ2UgLnNlY3RvcnMtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IC0yZW07XG4gIHBhZGRpbmctdG9wOiA0ZW07XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTsgfVxuXG4uaG9tZS1zZWN0b3JzIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMWVtOyB9XG5cbi5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5zd2lwZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDY1JSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luOiAwcHg7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4ua25vd2xlZGdlLWNlbnRyZS10aWxlcyB7XG4gIHBhZGRpbmc6IDJlbTsgfVxuXG4uaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDM3JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzgxMztcbiAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDsgfVxuXG4uaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuaW1hZ2UgLmltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDM4MTM7IH1cblxuLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gIHdpZHRoOiA0MyU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAwJTtcbiAgbWFyZ2luLXJpZ2h0OiA0JTsgfVxuXG4uaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIG1pbi1oZWlnaHQ6IDBweDsgfVxuXG4uaG9tZS1zZWN0b3JzIC5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICB0b3A6IC0zOXB4ICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAtNDIuNSUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDM4cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWUtc2VjdG9ycyAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE2cHg7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAjZmZmZmZmOyB9XG5cbi5ob21lLXNlY3RvcnMgLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHRvcDogLTM5cHggIWltcG9ydGFudDtcbiAgcmlnaHQ6IC01MCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDM4cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWUtc2VjdG9ycyAuc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE2cHg7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICNmZmZmZmY7IH1cblxuLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuY29udGVudCB7XG4gIHdpZHRoOiA1MyU7XG4gIHBhZGRpbmc6IDBlbSAxZW07IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuY29udGVudCAuZGVmYXVsdC1saW5rIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cblxuLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuY29weS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5zd2lwZXItc2xpZGUgLmNvcHktY29udGVudCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDBlbSAxZW07IH0gfVxuXG4uZmVhdHVyZWQtdGl0bGUge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGNvbG9yOiAjMDAzODEzO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5zZWN0b3JzLW5hdi1jb250YWluZXIgdWwgbGkgYSB7XG4gIHBhZGRpbmc6IDE1cHggMHB4O1xuICBmb250LXNpemU6IDE3cHg7IH1cblxuLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG5cbi5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLmlzLWFjdGl2ZSB7XG4gIHdpZHRoOiA5NCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgbWluLWhlaWdodDogOTUlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2VjdG9ycy1ob21lLXRpdGxlIHtcbiAgcGFkZGluZy1yaWdodDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDIuNWVtIDFlbSAwZW07XG4gIHotaW5kZXg6IDk5OTk5OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWN0b3JzLWhvbWUtdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMC41ZW0gMGVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDBlbTtcbiAgICAgIGhlaWdodDogaW5pdGlhbDsgfSB9XG4gIC5zZWN0b3JzLWhvbWUtdGl0bGUgLnRoZS1jb250ZW50IHtcbiAgICB3aWR0aDogNzE4cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNlbTsgfVxuICAuc2VjdG9ycy1ob21lLXRpdGxlIGgyIHtcbiAgICBjb2xvcjogIzAwOTY0MDtcbiAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgLnNlY3RvcnMtaG9tZS10aXRsZSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLmNsb3NlaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEU2MDA7XG4gIHBhZGRpbmc6IDRweCAyNHB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgY29sb3I6ICMwMDM4MTM7XG4gIHotaW5kZXg6IDk5OTk5OTsgfVxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgLmRyb3Bkb3duLW9wdGlvbnMgYTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuZHJvcGRvd24tb3B0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gIC50YWJzIC5pcy1hY3RpdmUgLmRyb3Bkb3duLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgaGVpZ2h0OiBpbml0aWFsOyB9IH1cblxuLnRhYnMtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwZW07IH1cblxuLmZ1bmRpbmctdGlsZSBoMyBhIHtcbiAgY29sb3I6ICMwMDM4MTM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5ob21lLXBhZ2UgLnNlY3RvcnMtc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIHBhZGRpbmctdG9wOiAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIHtcbiAgICBwYWRkaW5nOiAxZW07IH1cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmNvbnRhY3QtcGFnZSBzcGFuLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgd2lkdGg6IDQ4JTsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgLmNvbnRhY3QtcGFnZSAuc21hbGwtaGVybyAudGVsLW51bWJlciAudGVsLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwZW07IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDE2NnB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM4MTM7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuY29udGVudCB7XG4gICAgd2lkdGg6IDg2JTtcbiAgICBwYWRkaW5nOiAwZW0gMWVtOyB9XG4gIC5mZWF0dXJlZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAuZmVhdHVyZWQtc2VjdG9yLW5ld3MgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW07IH1cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBib3JkZXItdG9wOiAwcHggc29saWQgIzAwZTYwMTtcbiAgICBwYWRkaW5nLXRvcDogMGVtOyB9XG4gIC5mZWF0dXJlZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuaW1hZ2Ugc3BhbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgICB3aWR0aDogOTAlO1xuICAgIHBhZGRpbmc6IDBlbSAxZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLmlzLWFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuNWVtIDEuNWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCAubWFpbi1wcmltYXJ5LW1lbnUgbGk6aG92ZXIgZGl2OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmt0bi1zdWJtZW51IHtcbiAgICBwYWRkaW5nOiAxM3B4IDBlbTsgfVxuICAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAuY29udGFjdC1wYWdlIC5jaGVja2JveC1jb250YWluZXIgLndwY2Y3LWNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLyogVHJhY2sgKi9cbiAgICAvKiBIYW5kbGUgKi9cbiAgICAvKiBIYW5kbGUgb24gaG92ZXIgKi8gfVxuICAgIC5jb250YWN0LXBhZ2UgLmNoZWNrYm94LWNvbnRhaW5lciAud3BjZjctY2hlY2tib3g6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29udGFjdC1wYWdlIC5jaGVja2JveC1jb250YWluZXIgLndwY2Y3LWNoZWNrYm94Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXI6IDBweCAhaW1wb3J0YW50OyB9XG4gICAgLmNvbnRhY3QtcGFnZSAuY2hlY2tib3gtY29udGFpbmVyIC53cGNmNy1jaGVja2JveDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogIzAwRTYwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuY29udGFjdC1wYWdlIC5jaGVja2JveC1jb250YWluZXIgLndwY2Y3LWNoZWNrYm94Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA1MzI2O1xuICAgICAgYm9yZGVyOiAwcHggIWltcG9ydGFudDsgfVxuICAuY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUgLm1haW4tY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGNvbG9yOiAjMDA5NjQwOyB9XG4gIC5jYXNlLXN0dWR5LXBhZ2UgLmNhc2Utc3R1ZHktdGlsZSAuY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtIDFlbTsgfVxuICAub3Bwb3J0dW5pdGllcy1wYWdlIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAub3Bwb3J0dW5pdGllcy1wYWdlIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFycm93LWFjdGl2ZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9IH1cblxuLnNpZGViYXItb3B0aW9ucyBmb3JtIHVsIGxpLnNmLWZpZWxkLXRheG9ub215LWZ1bmRlciBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMwMHB4OyB9XG4gIC5zaWRlYmFyLW9wdGlvbnMgZm9ybSB1bCBsaS5zZi1maWVsZC10YXhvbm9teS1mdW5kZXIgbGFiZWwgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxOXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMEU2MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMzgxMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW07IH0gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBwYWRkaW5nLXRvcDogMS41ZW07IH1cbiAgLnBhZ2luYXRpb24gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi51cHRvLWRhdGUgaW5wdXQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogN3B4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnVwdG8tZGF0ZSBsYWJlbCB7XG4gIHdpZHRoOiA4MCU7IH1cblxuZm9vdGVyIC5tYWluLWZvb3RlciAubmV3c2xldHRlci1jb250YWluZXIgaDMge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuZm9vdGVyIC5tYWluLWZvb3RlciAubmV3c2xldHRlci1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwZW0gIWltcG9ydGFudDsgfVxuXG5mb290ZXIgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWNvbnRhaW5lciAucWEtaW5wdXQtZW1haWwge1xuICBoZWlnaHQ6IDQ5cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IH1cblxuLm1haW4tZm9vdGVyICNzaWdudXAgcCBsYWJlbCB7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4ubWFpbi1mb290ZXIgW3R5cGU9XCJjaGVja2JveFwiXSwgLm1haW4tZm9vdGVyIFt0eXBlPVwicmFkaW9cIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc2VjdG9ycy1uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG5cbi5zZWFyY2gtZmlsdGVyLXJlc3VsdHMgLmZ1bmRpbmctdGlsZSBoMyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgdWwgbGkgbGFiZWwge1xuICBmb250LXNpemU6IDE1cHg7IH1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUge1xuICBwYWRkaW5nOiAyZW0gMC41ZW0gMWVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgd2lkdGg6IDMxNXB4OyB9XG5cbi50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQgLmltYWdlLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDYwMHB4OyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbmV3cyAuYXJlYS1kcm9wZG93bi13cmFwcGVyLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXBlcnNwZWN0aXZlcyAuYXJlYS1kcm9wZG93bi13cmFwcGVyLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWNhc2Utc3R1ZGllcyAuYXJlYS1kcm9wZG93bi13cmFwcGVyLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXdlYmluYXJzIC5hcmVhLWRyb3Bkb3duLXdyYXBwZXIsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5hcmVhLWRyb3Bkb3duLXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbmV3cyAuc2YtZmllbGQtc2VhcmNoIGxhYmVsLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXBlcnNwZWN0aXZlcyAuc2YtZmllbGQtc2VhcmNoIGxhYmVsLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWNhc2Utc3R1ZGllcyAuc2YtZmllbGQtc2VhcmNoIGxhYmVsLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXdlYmluYXJzIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwge1xuICB3aWR0aDogOTglOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbmV3cyAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXBlcnNwZWN0aXZlcyAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWNhc2Utc3R1ZGllcyAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXdlYmluYXJzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0ge1xuICB3aWR0aDogNzYuNSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1uZXdzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGVyc3BlY3RpdmVzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY2FzZS1zdHVkaWVzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2Utd2ViaW5hcnMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSwgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1uZXdzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtcGVyc3BlY3RpdmVzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY2FzZS1zdHVkaWVzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0sIC5wYWdlLXRlbXBsYXRlLXBhZ2Utd2ViaW5hcnMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSwgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwge1xuICB3aWR0aDogOTglOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0ge1xuICB3aWR0aDogNzYuNSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gICAgICB3aWR0aDogNzQuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cyAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtc2VhcmNoIHtcbiAgICB3aWR0aDogNzAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cyAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtIC5zZi1maWVsZC1zZWFyY2gge1xuICAgICAgICB3aWR0aDogNTYlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0gLnNmLWZpZWxkLXNlYXJjaCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0gLnNmLWZpZWxkLXRheG9ub215LWV2ZW50X3N0YXR1cyBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUzcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI1MzI2O1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIHNlbGVjdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cyAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtIC5zZi1maWVsZC10YXhvbm9teS1ldmVudF9zdGF0dXMgc2VsZWN0IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7IH0gfVxuICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0gLnNmLWZpZWxkLXRheG9ub215LWV2ZW50X3N0YXR1cyBsYWJlbCwgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTdweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0gLnNmLWZpZWxkLXRheG9ub215LWV2ZW50X3N0YXR1cyBsYWJlbCwgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIHNlbGVjdCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDgyNDsgfSB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0gLnNmLWZpZWxkLXRheG9ub215LWV2ZW50X3N0YXR1cyBsYWJlbCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7IH0gfVxuICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTkwcHg7XG4gICAgICAgIHRvcDogMjdweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwRTYwMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDE1MnB4O1xuICAgICAgICAgICAgdG9wOiAyNXB4OyB9IH1cblxuLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5ob3ZlciB7XG4gIHBhZGRpbmc6IDBweCAyZW07IH1cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5ob3ZlciAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItYnV0dG9uLXByZXYge1xuICB0b3A6IDkxJTsgfVxuXG4ua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgdG9wOiA5MSU7IH1cblxuLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5ob3ZlciAuZGVmYXVsdC1saW5rIHtcbiAgbWFyZ2luLWxlZnQ6IDBweDsgfVxuXG4ubG9nby1hbmNob3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmxvZ28tYW5jaG9yIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogMzdweDtcbiAgICB3aWR0aDogMjglO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ0cHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubG9nby1hbmNob3Igc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDQxcHg7XG4gICAgICAgIHdpZHRoOiA2OCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGxlZnQ6IDhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNsaWRlLW91dC1tZW51IC5sb2dvLWFuY2hvciBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1ldmVudHMgLmV2ZW50LXRpbGUge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uZW1haWwtc3Vic2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7IH1cblxuLmluZm9ybWF0aW9uLWJsb2NrIHtcbiAgcGFkZGluZy1sZWZ0OiA0ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mb3JtYXRpb24tYmxvY2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwZW07IH0gfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLm5hdmlnYXRpb24tZXZlbnQtdGl0bGUge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNlY3RvcnMtc2VjdGlvbiAucHJvZ3JhbW1lcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aWV3LW5ld3MtaG9tZS1zZWN0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDI2cHg7XG4gIHJpZ2h0OiAxLjVlbTsgfVxuXG4uY3RhLXNlY3Rpb24gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDAwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5mb290ZXIgLmZvb3Rlci1jb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY0MDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAyZW0gMGVtOyB9XG4gIGZvb3RlciAuZm9vdGVyLWNvbnRhY3QgYSB7XG4gICAgY29sb3I6ICMwMEU2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgZm9vdGVyIC5mb290ZXItY29udGFjdCBoMiB7XG4gICAgZm9udC1zaXplOiAzOXB4OyB9XG5cbmZvb3RlciAubWFpbi1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1MzI2O1xuICBwYWRkaW5nOiAyZW0gMWVtIDEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDQvZm9vdGVyLWJhY2tncm91bmQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0NCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjMDBFNjAwOyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgaDMge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgaDMgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA1ZW07XG4gICAgd2lkdGg6IDg0JTsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyIC5xYS1pbnB1dC1lbWFpbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI1MzI2O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDgyMzk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4OyB9XG4gICAgZm9vdGVyIC5tYWluLWZvb3RlciAubmV3c2xldHRlci1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAyMyU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDM4MjM5O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAuYWR2aWNlLWNvbnRhaW5lciBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5wcm9ncmFtbWVzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogOSU7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzBkNjMzMzsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5mb290ZXItbmF2IC5zb2NpYWwge1xuICAgIGNvbG9yOiAjMDBFNjAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLmZvb3Rlci1uYXYgLnNvY2lhbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDQxcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5mb290ZXItbmF2IC5zb2NpYWwgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIGZvb3RlciAubWFpbi1mb290ZXIgLmZvb3Rlci1uYXYgLnNvY2lhbCBhIC5mYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgY29sb3I6ICMwMEU2MDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLmNvcHlyaWdodC1jb250YWluZXIge1xuICAgIGNvbG9yOiAjMDEyZTBiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLnByb2dyYW1tZXMtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAubmV3c2xldHRlci1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWNvbnRhaW5lciAucWEtaW5wdXQtZW1haWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM4MTM7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIGZvb3RlciAuZm9vdGVyLW5hdiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5mb290ZXItbmF2IC5zb2NpYWwgYSAuZmEge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIGZvb3RlciAuZm9vdGVyLWNvbnRhY3QgaDIge1xuICAgIGZvbnQtc2l6ZTogMzFweDsgfVxuICBmb290ZXIgLmZvb3Rlci1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAyZW0gMGVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIGZvb3RlciAubWFpbi1mb290ZXIge1xuICAgIHBhZGRpbmc6IDJlbSAwLjVlbSAxLjVlbTsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgaDMgYSB7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLmZvb3Rlci1uYXYgLnNvY2lhbCBzcGFuIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAuY29weXJpZ2h0LWNvbnRhaW5lciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDBlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyIC5xYS1pbnB1dC1lbWFpbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWNvbnRhaW5lciBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDI5NjQwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjk2NDA7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuICBmb290ZXIgLmZvb3Rlci1jb250YWN0IGgyIHtcbiAgICBmb250LXNpemU6IDIxcHg7IH1cbiAgZm9vdGVyIC5mb290ZXItY29udGFjdCB7XG4gICAgcGFkZGluZzogNXB4IDBlbSAwcHg7IH0gfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiBmb3IgU2l0ZXMgdjYuNC4zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE0NDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMwMDk2NDAsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG5cblxuKTtcblxuLy9DdXN0b20gQ29sb3Vyc1xuJGt0bl9kYXJrOiAgIzAwMzgxMztcbiRrdG5fbWlkOiAgICMwMDUzMjY7XG4ka3RuX2xpZ2h0OiAjMDA5NjQwO1xuJGt0bl9icmlnaHQ6IzAwRTYwMDtcbiRrdG5fZ3JleTogICNGNUZBRjY7XG4ka3RuX2RhcmtfZ3JleTogICNkNmQ2ZDY7XG4ka3RuX3RleHQ6ICM3YzdjN2M7XG5cblxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogIzAwMzgxMztcbiRib2R5LWZvbnQtZmFtaWx5OiAnbmV1ZS1oYWFzLXVuaWNhJywgc2Fucy1zZXJpZiwgJ0xhdG8nLCBzYW5zLXNlcmlmLCAnTGlicmUgQmFza2VydmlsbGUnLCBzZXJpZiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkd2hpdGU7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkZGFyay1uYXYtY29sb3I7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgfVxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cbiAgICBcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBmb3JjZS1lbGVtZW50LW5lc3RpbmdcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiJGRhcmstbmF2LWNvbG9yOiAjMkMzODQwO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuLy9AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG4vLyBHbG9iYWxcbkBpbXBvcnQgXCJnbG9iYWwvYWNjZXNzaWJpbGl0eVwiO1xuQGltcG9ydCBcImdsb2JhbC9jb2xvcnNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3AtYWRtaW5cIjtcbkBpbXBvcnQgXCJnbG9iYWwvd3Atb3ZlcnJpZGVzXCI7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZWRpdG9yLXN0eWxlXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mZWF0dXJlZC1pbWFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGl2aWRlcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpbmtzXCI7XG5cbi8vIFRlbXBsYXRlc1xuQGltcG9ydCBcInRlbXBsYXRlcy9mcm9udFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9raXRjaGVuLXNpbmtcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvaGVhZGVyXCI7XG5cbi8vIEJvaWxlcnBsYXRlIERlZmF1bHRcbkBpbXBvcnQgXCJib2lsZXJwbGF0ZS9nbG9iYWxcIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL2hlYWRlclwiO1xuLy9AaW1wb3J0IFwiYm9pbGVycGxhdGUvZm9vdGVyXCI7XG5AaW1wb3J0IFwiYm9pbGVycGxhdGUvdGlsZXNcIjtcbkBpbXBvcnQgXCJib2lsZXJwbGF0ZS9idXR0b25zXCI7XG5cbi8vLy8gQm9pbGVycGxhdGUgU2VjdGlvbnNcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL25ld3Mtc2luZ2xlXCI7XG4vL0BpbXBvcnQgXCJib2lsZXJwbGF0ZS9sYXJnZS1oZXJvLXNsaWRlclwiO1xuLy9AaW1wb3J0IFwiYm9pbGVycGxhdGUvY3VzdG9tLXBvc3Qtc2VjdGlvblwiO1xuLy9AaW1wb3J0IFwiYm9pbGVycGxhdGUvbWFwLXNlY3Rpb25cIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL3RleHQtYW5kLWltYWdlLXNlY3Rpb25cIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL2NvbnRhY3QtZm9ybS1zZWN0aW9uXCI7XG4vL0BpbXBvcnQgXCJib2lsZXJwbGF0ZS9wYWdlLXRpbGVzLWNhcm91c2VsLXNlY3Rpb25cIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL2dhbGxlcnlcIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL2FjY29yZGlvbi1zZWN0aW9uXCI7XG4vL0BpbXBvcnQgXCJib2lsZXJwbGF0ZS9jb250YWN0LXNlY3Rpb25cIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL2JhY2tncm91bmQtaW1hZ2Utd2l0aC10ZXh0LXNlY3Rpb25cIjtcbi8vQGltcG9ydCBcImJvaWxlcnBsYXRlL2NvdW50ZXItc2VjdGlvblwiO1xuLy9AaW1wb3J0IFwiYm9pbGVycGxhdGUvcmVwZWF0YWJsZS1jb250ZW50XCI7XG5cbi8vIEtUTiAtIFNpdGV3aWRlXG5AaW1wb3J0IFwia3RuL2dlbmVyYWxcIjtcbkBpbXBvcnQgXCJrdG4vaGVhZGVyLWxhcmdlXCI7XG5AaW1wb3J0IFwia3RuL2hlYWRlci1zbWFsbFwiO1xuQGltcG9ydCBcImt0bi9sYXJnZS1oZXJvXCI7XG5AaW1wb3J0IFwia3RuL2hlYWRlclwiO1xuQGltcG9ydCBcImt0bi90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwia3RuL2hvbWUtcGFnZVwiO1xuQGltcG9ydCBcImt0bi9yZXVzYWJsZS1ibG9ja3NcIjtcbkBpbXBvcnQgXCJrdG4vdGV4dC1pbWFnZS1zZWN0aW9uXCI7XG5AaW1wb3J0IFwia3RuL2Zvb3RlclwiO1xuXG4iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEZpeCB0aGUgaXNzdWUgd2hlcmUgdGhlIFdQIGFkbWluLWJhciBvdmVybGFwcyB0aGUgbW9iaWxlIG1lbnVcbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBXUCBhZG1pbi1iYXIgZG9lcyBub3Qgb3ZlcmxhcCBGb3VuZGF0aW9uIGNvbXBvbmVudHNcbmJvZHkuYWRtaW4tYmFyIHtcbiAgLy8gT2Zmc2V0IHN0aWNreSB0b3AgYmFyXG4gICYuZi10b3BiYXItZml4ZWQge1xuICAgIC5zdGlja3kuZml4ZWQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAvLyBPZmZzZXQgbW9iaWxlIG9mZi1jYW52YXMgbWVudVxuICAmLm9mZmNhbnZhcyB7XG4gICAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDQ2KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgzKSB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8vIE5hdmlnYXRpb24gYnJlYWtwb2ludHNcbi5tb2JpbGUtbWVudSxcbi5zaXRlLXRpdGxlLWJhciB7XG4gIEBpbmNsdWRlIGhpZGUtZm9yKG1lZGl1bSk7XG59XG5cbi5kZXNrdG9wLW1lbnUsXG4uc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWxlZnQge1xuICBAaW5jbHVkZSBzaG93LWZvcihtZWRpdW0pO1xufVxuXG4vLyBTaXRlIHRpdGxlXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gTW9iaWxlIG1lbnVcbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIHByZXZlbnRzIHJlcGFpbnQgY2F1c2VkIGJ5IEpTIGhpZGluZyBtZW51IG9ubG9hZFxufVxuXG4ub2ZmLWNhbnZhcyB7XG4gID4gdWwubWVudSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IC5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG59XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNCOUI5Qjk7XG4gIH1cbn1cblxuLm1vYmlsZS1tZW51LFxuLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUge1xuXG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkYXJrLW5hdi1jb2xvciwgNSUpO1xuICB9XG59XG5cbi8vIFRhYmxldCBhbmQgZGVza3RvcCBtZW51XG5cbi50b3AtYmFyIHtcblxuICAudG9wLWJhci10aXRsZSBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNCOUI5Qjk7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIH1cblxuICAubWVudSBhIHtcbiAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6aG92ZXI6bm90KC5idXR0b24pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjUyNUQ7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUgLmFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbiAgLm1lbnU+bGk6bm90KC5tZW51LXRleHQpPmEgeyBwYWRkaW5nOiAxcmVtOyB9XG4gIC5tZW51IGxpOm5vdCg6bGFzdC1jaGlsZCkgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGU0ZTRlOyB9XG5cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgeyBib3JkZXI6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7IHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7IGJvcmRlcjogMDsgfVxuICAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi5zaXRlLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAwOyAvLyBwcmV2ZW50cyBjb250YWluZXIgdmlzaWJpbGl0eSBvbiBzbWFsbCBzY3JlZW5zXG4gIH1cbn1cblxuLy8gV1AgcG9zdCBuYXZpZ2F0aW9uXG4ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDpsZWZ0O1xufVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDpyaWdodDtcbn1cbiIsIi5tYWluLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xufVxuXG4ubWFpbi1ncmlkIHtcbiAgQGluY2x1ZGUgeHktZ3JpZCgpO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gICYuc2lkZWJhci1sZWZ0IHtcbiAgICAvLyBQbGFjZSB0aGUgc2lkZWJhciBiZWxvdyBtYWluIGNvbnRlbnQgb24gc21hbGwgc2NyZWVucyAuLi5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDE7IH1cbiAgICAgIC5zaWRlYmFyIHsgb3JkZXI6IDI7IH1cbiAgICB9XG5cbiAgICAvLyAuLi4gYW5kIHRvIHRoZSBsZWZ0IG9uIG1lZGl1bS11cCBzY3JlZW5zLCB3aGVuIHVzaW5nIHRoZSBzaWRlYmFyLWxlZnQgdGVtcGxhdGVcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLm1haW4tY29udGVudCB7IG9yZGVyOiAyOyB9XG4gICAgICAuc2lkZWJhciB7IG9yZGVyOiAxOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gRnVsbCB3aWR0aCB0ZW1wbGF0ZVxuICAubWFpbi1jb250ZW50LWZ1bGwtd2lkdGgge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0ZW1wbGF0ZVxuICAubWFpbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICB9XG59XG4iLCIuZm9vdGVyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2MCk7XG59XG5cbi5mb290ZXItZ3JpZCB7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwO1xuXG4gIHNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8pO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xufSIsIi5zaXRlcy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLDAsMCwwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcblxufVxuIiwiLmNhcmRzLWNvbnRhaW5lciB7XG5cbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCB0cnVlLCAwLjdyZW0gKTtcblxuICAgIH1cblxuICB9XG59XG4iLCIuZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyMDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gIH1cbn1cbiIsIi5kb3R0ZWQge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7XG59XG4iLCIvLyBBcHBseSBvdXRsaW5lIHN0eWxlcyBvbmx5IHdoZW4gaW5wdXQgbWV0aG9kIGlzIGtleWJvYXJkXG4vLyByZW1vdmUgOmZvY3VzIHN0eWxlIHZpYSBXaGF0IElucHV0IHVzaW5nIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50XG4vLyBzbyA6Zm9jdXMgaXNuJ3QgbGVmdCBicm9rZW4gaWYgSmF2YVNjcmlwdCBmYWlsc1xuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXNcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCIvLyBQYWdlIGhlYWRlclxuLmZyb250LWhlcm8ge1xuICAubWFya2V0aW5nIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcig1NXJlbSk7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjUlKSAwO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnJykgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDY4NSk7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNzIpO1xuICB9XG5cbiAgLndhdGNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgI3N0YXJnYXplcnMge1xuICAgICAgOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0d2l0dGVyIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50YWdsaW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi8vIEludHJvXG4uaW50cm8ge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuZnAtaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwKTtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBkaXZpZGVyXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgaHIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIEBleHRlbmQgLmRvdHRlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi8vIEJlbmVmaXRzXG4uYmVuZWZpdHMge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgfVxuICB9XG5cbiAgLnNlbWFudGljLFxuICAucmVzcG9uc2l2ZSxcbiAgLmN1c3RvbWl6YWJsZSxcbiAgLnByb2Zlc3Npb25hbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLndoeS1mb3VuZGF0aW9uIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59XG4iLCIua2l0Y2hlbi1zaW5rLWhlYWRlciB7XG4gIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xufVxuXG5cbi5raXRjaGVuLXNpbmstY29tcG9uZW50cyB7XG4gIGhyIHtcbiAgICBtYXJnaW46IDNyZW0gMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDkpO1xuICB9XG59XG5cbi5raXRjaGVuLXNpbmstbmF2IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuZG9jcy1zdWItbWVudSB7XG4gICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5kb2NzLW1lbnUtdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIH1cblxuICAgIC5kb2NzLXRvYyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgLmRvY3MtdG9jIC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzIxOTllODtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuZG9jcy10b2MgLmRvY3Mtc3ViLW1lbnU6Zmlyc3QtY2hpbGQgLmRvY3MtbWVudS10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ua2l0Y2hlbi1zaW5rLWdyaWQge1xuICAuZ3JpZC14IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZlY2ZhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgXG4gICAgLmNlbGwsOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3YmMxZWY7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICB9XG5cbiAgICAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRGVmYXVsdCBSb3cgU3BhY2luZ1xuLmdyaWQtbWFyZ2luLXgge1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbn1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41ZW07XG4gIH1cbn1cblxuXG4ucGFnZS1pZC00MzYgLmhlYWRlci1maXhlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuXG4uZnVsbC13aWR0aC1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuXG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cblxufVxuXG4uZGVmYXVsdC1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGFyay1vdmVybGF5IHtcblxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6MDtcbiAgICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgei1pbmRleDogOTk5OTk5OTtcblxufVxuXG4uYmFja2dyb3VuZC1jb2xvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICB6LWluZGV4OiA5OTtcblxufVxuXG4uYmFja2dyb3VuZC1jb3ZlciB7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi8vIERpc2FibGUgU3dpcGVyIGlmIDEgc2xpZGVcbi5zd2lwZXItd3JhcHBlci5kaXNhYmxlZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKSAhaW1wb3J0YW50O1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG5cbi5zbWFsbC1wYWRkaW5nIHtcbiAgcGFkZGluZzogM2VtIDBlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogMmVtIDBlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IDEuNWVtIDBlbTtcbiAgfVxufVxuXG46Zm9jdXMge291dGxpbmU6MDt9XG5cblxuLm1lZGl1bS1wYWRkaW5nIHtcbiAgcGFkZGluZzogM2VtIDBlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZzogM2VtIDBlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IDEuNWVtIDBlbTtcbiAgfVxufVxuXG4ubGFyZ2UtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDdlbSAwZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBhZGRpbmc6IDVlbSAwZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAxLjVlbSAwZW07XG4gIH1cbn1cblxuLmFvcy1vcGFjaXR5IHtcbiAgb3BhY2l0eTogMDtcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuXG4vKiBJRTEwKyBDU1Mgc3R5bGVzIGdvIGhlcmUgKi9cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5sYXJnZS1oZXJvLXNsaWRlciAubWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyMCU7XG4gIH1cblxuICAuaGVyby1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGFyZ2UtaGVyby1zbGlkZXIgLnN3aXBlci1jb250YWluZXIgLmZ1bGwtaGVpZ2h0LXNsaWRlIC5mdWxsLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnN3aXBlci1jb250YWluZXIgLnNtYWxsLWhlaWdodC1zbGlkZSAuZnVsbC1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG59XG4iLCIuYnV0dG9uIHtcbiAgcGFkZGluZzogMjFweCAyMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRrdG5fYnJpZ2h0O1xuICBjb2xvcjogJGt0bl9saWdodCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIycHg7XG4gICAgdG9wOiAyN3B4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQka3RuX2xpZ2h0O1xuICAgIGNsZWFyOiBib3RoO1xuXG5cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmZhZjY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIH1cbn1cbiIsIlxuLmRlZmF1bHQtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLmJyZWFkY3J1bWIge1xuICBtYXJnaW46MmVtIDAgMS41ZW0gMDtcbiAgY29sb3I6ICM5ZGQ2YjQ7XG4gIGZvbnQtc2l6ZTogMThweDtcblxuICBociB7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgIzlkZDZiNDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICB3aWR0aDo4MHB4O1xuICAgIGhlaWdodDoxZW07XG4gICAgbWFyZ2luOjA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gIH1cbiAgYSB7IGRpc3BsYXk6aW5saW5lOyBjb2xvcjogIzlkZDZiNDsgfVxufVxuXG5cblxuLmdldC1pbi10b3VjaC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA1NXB4O1xuICB6LWluZGV4OiA5OTk5OTY7XG4gIGxlZnQ6IC01NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNjAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGEge1xuICAgIGNvbG9yOiAka3RuX2Rhcms7XG4gIH1cblxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICBpbWcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgd2lkdGg6IDEycHg7XG4gIH1cblxufVxuXG5cbi5ncmV5LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2dyZXk7XG59XG5cbi5zd2lwZXItYnRuLW5leHQsIC5zd2lwZXItYnRuLXByZXYgeyBjdXJzb3I6cG9pbnRlcjsgdGV4dC1hbGlnbjpjZW50ZXI7IGZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjJlbTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGJhY2tncm91bmQ6JGt0bl9icmlnaHQ7IGJvcmRlcjoxcHggc29saWQgI2ZmZjsgd2lkdGg6MmVtOyBoZWlnaHQ6MmVtOyBjb2xvcjojZmZmOyB9XG5cblxuXG4ua3RuLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6JGt0bl9taWQ7XG4gIGNvbG9yOiRrdG5fZGFyaztcbiAgcGFkZGluZzoyZW07XG4gIG1hcmdpbjowO1xuICBmb250LXNpemU6MS4xcmVtO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuICB1bCB7XG4gICAgbWF4LXdpZHRoOiAxMDIuNXJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMC42ZW0gMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJjpsYXN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwIDJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDM4MTM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICB9XG4gIH1cbiAgYS5zZWxlY3RlZCB7XG4gICAgY29sb3I6JGt0bl9icmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgfVxuXG5cbn1cblxuXG5cblxuXG4ua3RuLXNlY3Rpb25zIHtcblxuICBiYWNrZ3JvdW5kOiRrdG5fZ3JleTtcbiAgcGFkZGluZzoyZW0gMDtcblxuICAudGV4dC1jb250YWluZXIge1xuXG4gICAgcGFkZGluZzoyZW0gMmVtIDJlbSAwO1xuICAgIGNvbG9yOiRrdG5fdGV4dDtcblxuICAgIGgyIHsgY29sb3I6JGt0bl9saWdodDsgfVxuICB9XG5cbn1cblxuXG5cbi5zdWItaGVhZGVyIHtcblxuICBmb250LXNpemU6IDE5cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmctbGVmdDogNGVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICM4ZThlOGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICB3aWR0aDogM2VtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ZThlOGU7XG4gICAgfVxuXG59XG5cbi5zdWItaGVhZGVyLXRleHQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVlbTtcbiAgICBjb2xvcjogIzhlOGU4ZTtcbn1cblxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2JyaWdodCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDQ1cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zd2lwZXItYnV0dG9uLXByZXYge1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRrdG5fYnJpZ2h0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogNDVweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQ1cHggIWltcG9ydGFudDtcbn1cblxuXG4uZGVmYXVsdC1saW5rIHtcbiAgY29sb3I6ICRrdG5fYnJpZ2h0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICRrdG5fYnJpZ2h0O1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cblxuXG4uYWRkdG90aGlzIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuXG4gIC5zdWItdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHggIWltcG9ydGFudDtcbiAgfVxufVxuIiwiXG5cblxuLnNtYWxsLWhlcm8ge1xuXG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDBweDtcblxuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgaDEsIHAge1xuICAgICAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgICAgIH1cblxuXG4gICAgICBhLmxpbmsge1xuICAgICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1dmg7XG5cbiAgICB9XG5cbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNCUgM2VtIDYlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGNjtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1dmg7XG5cbiAgICAgIC5zdWJoZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMGVtIDFlbTtcblxuXG5cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzQlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogM2VtO1xuICAgICAgICBjb2xvcjogJGt0bl9kYXJrX2dyZXk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9kYXJrX2dyZXk7XG4gICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgIH1cblxuXG5cbiAgICAgIC5tYWluLWhlcm8tY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogOTk5OTk5O1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS1jb250YWluZXIge1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5iYWNrZ3JvdW5kLWdyYWRpZW50IHtcbiAgICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjArMCwwLjY1KzEwMCAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsMC42NSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDAuNjUpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApIDAlLHJnYmEoMCwwLDAsMC42NSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxufVxuXG5cblxuXG5cbi5zbWFsbGVyLWhlcm8ge1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWZhZjY7XG5cblxuICAuZ3JlZW4tYmFyIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2NDA7XG4gICAgei1pbmRleDogOTk5OTk5O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubG9nby1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDJlbTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMGVtIDIuNWVtO1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGlkZS1ncmVlbi1iYXIge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAuZ3JpZC1jb250YWluZXIge1xuXG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcblxuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyZW0gMGVtIDVlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG5cbiAgfVxuXG5cblxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIubGFyZ2UtaGVybyB7XG5cblxuICB6LWluZGV4OiA5OTk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gIC52aW1lby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblxuICB9XG4gIC52aW1lby13cmFwcGVyIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogNTYuMjV2dzsgLyogR2l2ZW4gYSAxNjo5IGFzcGVjdCByYXRpbywgOS8xNioxMDAgPSA1Ni4yNSAqL1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi13aWR0aDogMTkwLjc3dmg7IC8qIEdpdmVuIGEgMTY6OSBhc3BlY3QgcmF0aW8sIDE2LzkqMTAwID0gMTc3Ljc3ICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgcGFkZGluZzogMHB4O1xuXG4gICAgLmdyaWQteCB7XG5cbiAgICB9XG5cbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgIGgxLCBwIHtcbiAgICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIH1cblxuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA0JSAzZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQUY2O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgfVxuXG4gICAgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDBlbSA3ZW0gMTJlbSAxZW07XG5cbiAgICAgIC5jaXJjbGUtZGV2aWNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL0ZvdW5kYXRpb25QcmVzcy9kaXN0L2Fzc2V0cy9pbWFnZXMvaG9tZS9jaXJjbGUtZGV2aWNlLnBuZ1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDc3MHB4O1xuICAgICAgICB3aWR0aDogNzcwcHg7XG4gICAgICAgIHRvcDogM2VtO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHJpZ2h0OiAtNzklO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgICAgIGNvbG9yOiAka3RuX2RhcmtfZ3JleTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fZGFya19ncmV5O1xuICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICB9XG5cbiAgICAgIC5tYWluLWhlcm8tY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogOTk5OTk5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQUY2O1xuICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS1jb250YWluZXIge1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5iYWNrZ3JvdW5kLWdyYWRpZW50IHtcbiAgICAgICAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyMwMDAwMDArMCwwMDAwMDArMTAwJjArMCwwLjY1KzEwMCAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsMC42NSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwKSAwJSxyZ2JhKDAsMCwwLDAuNjUpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDApIDAlLHJnYmEoMCwwLDAsMC42NSkgMTAwJSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAubGl2ZS1ub3ctY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGU2MDA7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubGl2ZS1jb250ZW50IHtcblxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMTBweDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcblxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBlNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogOXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmxpdmUtYnV0dG9uIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMTJweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA0MCU7XG4gICAgICAgICAgICB0b3A6IDQxJTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgd2hpdGU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gIH1cbn1cbiIsIi5oZWFkZXIge1xuICBoZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NjQwO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcblxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHVsIHtcbiAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5oYW1idXJnZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTE1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjFweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBlNjAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cblxuXG4gICAgfVxuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyLCAuZ3JpZC14LCAuY2VsbCwgdWwsIGxpLCBhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgfVxufVxuXG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbGlnaHQ7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIHJpZ2h0OjA7XG4gIHdpZHRoOiAwO1xuICBsZWZ0OjEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcblxuICAuZ3JpZC1jb250YWluZXIsIC5ncmlkLXgsIC5jZWxsIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG5cbiAgLnN1Yi1uYXYtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICByaWdodDowO1xuICAgICAgd2lkdGg6IDA7XG5cbiAgICAgIC5jb250YWluLWNvbnRlbnQge1xuICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMy4zZW0gMGVtO1xuICAgICAgfVxuXG5cbiAgICB9XG5cbiAgfVxuXG4gIC5zdWItbmF2LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDFlbSA0JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNTBweDtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHtcblxuICAgICAgcGFkZGluZzogM2VtO1xuICAgICAgcGFkZGluZy1yaWdodDogMGVtO1xuXG4gICAgICB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNzZWFyY2gge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyOTY0MDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gIH1cbn1cblxuXG4ua25vd2xlZGdlLW5hdmlnYXRpb24ge1xuIGRpc3BsYXk6IG5vbmU7XG5cbiAgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyM3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgd2lkdGg6IDM4JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5ld3MtdGlsZSB7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAwZW07XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIH1cblxuICAgIC5kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgY29sb3I6ICMwMDJlMGE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG5cblxuXG4gICAgLmRlZmF1bHQtbGluayB7XG4gICAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAka3RuX2JyaWdodCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLnNlYXJjaC1jb250YWluZXIge1xuXG4gIC53cGRyZWFtc19hc2xfY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuXG4gICAgLnByb2lucHV0IHtcbiAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjYWpheHNlYXJjaGxpdGUxIC5wcm9ib3gsIGRpdi5hc2xfdyAucHJvYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB9XG5cbiAgI2FqYXhzZWFyY2hsaXRlMSAucHJvYm94IC5wcm9pbnB1dCBpbnB1dCwgZGl2LmFzbF93IC5wcm9ib3ggLnByb2lucHV0IGlucHV0IHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDIxcHg7XG5cbiAgfVxuXG4gIGRpdi5hc2xfdyAucHJvYm94IC5wcm9tYWduaWZpZXIgLmlubmVyaWNvbiBzdmcge1xuICAgIGZpbGw6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB3aWR0aDogMjhweDtcbiAgfVxuXG4gIGRpdi5hc2xfdyAucHJvYm94IC5wcm9tYWduaWZpZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxufVxuXG5kaXYuYXNsX3IgLnJlc3VsdHMgLml0ZW0ge1xuICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbmRpdi5hc2xfciAucmVzdWx0cyAuaXRlbSAuYXNsX2NvbnRlbnQgaDMsIGRpdi5hc2xfciAucmVzdWx0cyAuaXRlbSAuYXNsX2NvbnRlbnQgaDMgYSB7XG4gIGNvbG9yOiByZ2IoMiwgMTUwLCA2NCkgIWltcG9ydGFudDtcbn1cblxuLnByb2dyYW1tZXMtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi5ldmVudHMtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgdWwgbGkge1xuICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEge1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAka3RuX2Rhcms7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmRlZmF1bHQtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAka3RuX2JyaWdodCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnZpZXctYWxsLWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gIH1cbn1cblxuLnByb2dyYW1tZXMtbmF2aWdhdGlvbiB7XG4gIHVsIGxpIHtcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudmlldy1hbGwtbGluayB7XG4gICAgbWFyZ2luLXRvcDogM2VtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICB9XG59XG5cblxuXG4uc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjVzIDtcbn1cblxuLmhlYWRlci1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IGluaXRpYWw7XG5cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDIycHggMHB4IDIycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuXG4gIH1cblxuICB1bCBsaSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgfVxuXG4gIHVsIC5oYW1idXJnZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDMxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICB9XG59XG5cblxuLnNsaWRlLW91dC1tZW51e1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgd2lkdGg6IDExNXB4O1xuXG5cbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDIycHggMHB4IDhweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG5cbiAgfVxuXG4gIHVsIGxpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwcHg7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICB9XG5cbiAgdWwgLmhhbWJ1cmdlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA0OXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuXG4gICAgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgfVxuXG5cbiAgfVxufVxuXG4uc2xpZGUtb3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6MDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhcjtcblxuICAuc3ViLW5hdi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhcjtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cyA7XG4gICAgICBwYWRkaW5nOiAwZW0gM2VtO1xuXG4gICAgICAuY29udGFpbi1jb250ZW50IHtcbiAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgbGluZWFyO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzIDtcblxuICAgICAgICAubWFpbi1wcmltYXJ5LW1lbnUge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNnZoO1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzZW07XG4gICAgICAgICAgICBtYXJnaW46IDJ2aCAwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9saWdodDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgLmFjdGl2ZS1zZWN0b3Ige1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMmYwYjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViLXByaW1hcnktbWVudSB7XG5cbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDZ2aDtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMS41dmggMHB4O1xuICAgICAgICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuZGl2W2lkKj0nYWpheHNlYXJjaGxpdGUnXS53cGRyZWFtc19hc2xfY29udGFpbmVyIHtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2xpZ2h0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG59XG5cbi5zZWFyY2gtY29udGFpbmVyICNhamF4c2VhcmNobGl0ZTEgLnByb2JveCwgLnNlYXJjaC1jb250YWluZXIgZGl2LmFzbF93IC5wcm9ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG59XG5cbi5wcm9tYWduaWZpZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5kaXYuYXNsX3IudmVydGljYWwge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSkgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbi5tb2JpbGUtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gIH1cblxuICAuZ2V0LWluLXRvdWNoLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gIH1cblxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmxhcmdlLWhlcm8ge1xuICAgIG1hcmdpbi10b3A6IDZlbTtcbiAgfVxuXG4gIC5oZWFkZXIgLmxvZ28ge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1maXhlZCAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zbGlkZS1vdXQtbWVudSAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgLm1haW4taGVyby1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gIH1cblxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICBoZWlnaHQ6IDQwMHB4O1xuICB9XG5cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAuY2lyY2xlLWRldmljZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gIH1cblxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgIC5sb2dvIHtcbiAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItZml4ZWQgdWwgLmhhbWJ1cmdlciwgLnNsaWRlLW91dC1tZW51IHVsIC5oYW1idXJnZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi10b3A6IDM3cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMzcHg7XG4gIH1cblxuICAuaGVhZGVyIHVsIC5oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG5cbiAgLnNsaWRlLW91dCAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDBlbSAyZW07XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaTpiZWZvcmUge1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgIHRvcDogMTRweDtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjRlbTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5zdWItcHJpbWFyeS1tZW51IGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCB7XG4gICAgcGFkZGluZzogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgfVxuXG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtIDBlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB9XG5cblxuXG5cblxuICB9XG5cbiAgLnNsaWRlLW91dC1tZW51IHVsIC5oYW1idXJnZXIge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41ZW07XG4gICAgfVxuICB9XG5cbiAgLmtub3dsZWRnZS1uYXZpZ2F0aW9uIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmtub3dsZWRnZS1uYXZpZ2F0aW9uIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmV2ZW50cy1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG5cblxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG5cblxuICAuaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDgzcHg7XG4gIH1cblxuICAuaGVhZGVyIHVsIGxpICB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oZWFkZXIgdWwgLmhhbWJ1cmdlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxLjhlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIH1cblxuICAuaGVhZGVyIC5sb2dvIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB3aWR0aDogMTA0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIH1cblxuICAubGFyZ2UtaGVybyB7XG4gICAgbWFyZ2luLXRvcDogNWVtO1xuICB9XG5cbiAgLmhlYWRlciB1bCAuaGFtYnVyZ2VyIHNwYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gIC5zbGlkZS1vdXQtbWVudSB7XG4gICAgd2lkdGg6IDc4cHg7XG5cbiAgfVxuXG4gIC5zbGlkZS1vdXQtbWVudSB1bCAuaGFtYnVyZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgcGFkZGluZzogMGVtIDFlbTtcbiAgfVxuXG4gIC5tb2JpbGUtZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5hY3RpdmUtc2VjdG9yIHtcblxuICAgIC5tb2JpbGUtZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICB1bCB7XG5cbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG5cbiAgICAgICAgbGkge1xuXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcblxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuaGVhZGVyLWZpeGVkIC5zZWFyY2gtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhlYWRlci1maXhlZCB7XG4gICAgd2lkdGg6IDgzcHg7XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcblxuICB9XG5cbiAgLnNsaWRlLW91dC1tZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZS1vdXQtbWVudSAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgfVxuXG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCB7XG4gICAgcGFkZGluZzogNmVtIDAuNWVtIDJlbTtcbiAgfVxuXG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRhaW4tY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaTpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuXG4gICAgdWwgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cblxuICAuYWN0aXZlLXNlY3RvciAubW9iaWxlLWRyb3Bkb3duIHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogLTM1cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nZXQtaW4tdG91Y2gtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxM3B4IDMwcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNTVweDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZ2V0LWluLXRvdWNoLWNvbnRhaW5lciBzcGFuIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5zdWItcHJpbWFyeS1tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDR2aDtcbiAgICBwYWRkaW5nLXRvcDogMGVtO1xuXG4gIH1cblxuICAuc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSBsaSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIH1cblxuICBkaXZbaWQqPSdhamF4c2VhcmNobGl0ZSddLndwZHJlYW1zX2FzbF9jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDJlMGE7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRrdG5fYnJpZ2h0O1xuICAgIGJvcmRlci1ib3R0b206IDBweDtcblxuICB9XG5cbiAgLnNlYXJjaC1jb250YWluZXIgI2FqYXhzZWFyY2hsaXRlMSAucHJvYm94IC5wcm9pbnB1dCBpbnB1dCwgLnNlYXJjaC1jb250YWluZXIgZGl2LmFzbF93IC5wcm9ib3ggLnByb2lucHV0IGlucHV0IHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3JSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA4NSU7XG4gIH1cblxuICAubW9iaWxlLXNlYXJjaC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogODNweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnNlYXJjaC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDI1cHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2xpZGUtb3V0LW1lbnUgdWwgLmhhbWJ1cmdlciB7XG4gICAgbWFyZ2luLXRvcDogMzhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuXG4gIC5pbmNyZWFzZS1oZWlnaHQge1xuICAgIHBhZGRpbmctdG9wOiAxMGVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICBkaXYuYXNsX20gLnByb2JveCAucHJvY2xvc2Ugc3ZnIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hY3RpdmUtc2VjdG9yIC5tb2JpbGUtZHJvcGRvd24gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxuXG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLm1haW4tcHJpbWFyeS1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiA0dmg7XG4gIH1cblxuICAuaGVhZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG59XG5cbi5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLm1haW4tcHJpbWFyeS1tZW51IGxpOmhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGRpdiB7XG5cbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGt0bi1kYXJrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICB0b3A6IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTlweDtcbiAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwMmUwYTtcbiAgICB9XG4gIH1cblxufVxuXG4uc2xpZGUtb3V0IC5zdWItbmF2LWNvbnRhaW5lciAuY29udGVudCAuY29udGFpbi1jb250ZW50IC5tYWluLXByaW1hcnktbWVudSAuYWN0aXZlLXNlY3RvciB7XG5cbiAgZGl2IHtcblxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAka3RuLWRhcms7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIHRvcDogMThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxOXB4O1xuICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjMDAyZTBhO1xuICAgIH1cbiAgfVxuXG59XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zZWN0b3JzLW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAka3RuX2JyaWdodCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxOXB4O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAka3RuX2JyaWdodDtcbiAgfVxuXG59XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5wcm9ncmFtbWVzLW5hdmlnYXRpb24gdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAka3RuX2JyaWdodCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxOXB4O1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAka3RuX2JyaWdodDtcbiAgfVxuXG59XG5cbi5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLm1haW4tcHJpbWFyeS1tZW51IGxpOmJlZm9yZSB7Ym90dG9tOiAxN3B4O31cblxuXG4uc2VjdG9yLXBhZ2UgLmZ1bmRpbmctdGlsZTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XG59XG5cbi5ldmVudC10aWxlIC5kYXRlIHtcbiAgcGFkZGluZzogMS41ZW0gMTBweDtcbn1cblxuLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogNGVtIDJlbSA1ZW07XG4gIG1pbi1oZWlnaHQ6IDBweDtcbn1cblxuXG4udmlldy1hbGwtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAuc2xpZGUtb3V0LW1lbnUge1xuXG4gICAgLmxvZ28tYW5jaG9yIHtcbiAgICAgIGxlZnQ6IDFlbTtcbiAgICB9XG5cbiAgfVxufVxuXG5cblxuIiwiaDEge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcblxufVxuXG5wIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbiIsIi5ob21lLXBhZ2Uge1xuXG4gIC50aWxlcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDZlbSAwZW0gMmVtO1xuICB9XG5cbiAgLmNhc2Utc3R1ZHktY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2dyZXk7XG4gICAgcGFkZGluZzogNGVtIDBlbTtcbiAgfVxuXG59XG4iLCIubmV3cy10aWxlIHtcblxuICBwYWRkaW5nOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG5cbiAgaDMge1xuXG4gICAgY29sb3I6ICRrdG5fZGFyaztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICB9XG5cblxuXG4gIC5kYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6XCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgfVxuICB9XG5cblxuICAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OjA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMzUlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDQwJTtcbiAgfVxuXG5cblxufVxuXG4uZnVuZGluZy10aWxlIHtcblxuICBwYWRkaW5nOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRrdG5fZGFyaztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG5cbiAgLm9wZW4tZGF0ZSB7XG4gICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5kYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6XCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgfVxuICB9XG5cblxuICAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmJ1dHRvbnMtY29udGFpbmVyIHtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAka3RuX2xpZ2h0O1xuICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5ldmVudC10aWxlIHtcblxuICBwYWRkaW5nOiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnRpbGUtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzgxMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogJGt0bl9kYXJrO1xuICB9XG5cblxuICAuZGF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI5JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzODEzO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxLjFlbSAyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgfVxuXG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuXG4gIC5jb250ZW50IHtcbiAgICB3aWR0aDogNzAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxLjVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRrdG5fZGFyaztcbiAgfVxuXG59XG5cblxuLnR3aXR0ZXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDJlbTtcbiAgaGVpZ2h0OiA1MDhweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cblxuLmNhc2Utc3R1ZHktdGlsZSB7XG4gIHdpZHRoOiA0NiU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbWlkO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBtYXJnaW4tcmlnaHQ6IDMlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyZW07XG5cbiAgICBoMyB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAyN3B4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9icmlnaHQgO1xuICAgICAgY29sb3I6ICRrdG5fZGFyaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICB9XG4gIH1cbn1cblxuXG4ucHJvZ3JhbW1lcy10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb250ZW50IHAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgfVxuXG4gIC5pbWFnZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OjA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDowO1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuXG5cbi5rdG4tYXJlYXMge1xuICBiYWNrZ3JvdW5kOiNmZmZmZmY7XG4gIHBhZGRpbmc6MmVtIDA7XG5cbiAgLnRleHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOjJlbSAyZW0gMmVtIDA7XG4gICAgY29sb3I6JGt0bl90ZXh0O1xuXG4gICAgaDIgeyBjb2xvcjoka3RuX2Rhcms7IH1cblxuICAgIC5hcmVhcy1zd2lwZXItY29udGFpbmVyIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICBwYWRkaW5nLXRvcDogOWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogLTllbTtcblxuICAgICAgLnN3aXBlci1zbGlkZSB7XG5cbiAgICAgICAgLmNvbnRlbnQge1xuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDMgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgzIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjMDBFNjAwO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmFyZWFzLXN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICAgIGxlZnQ6IDkzJTtcbiAgICAgICAgdG9wOiAyZW07XG5cbiAgICAgIH1cblxuICAgICAgLmFyZWFzLXN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIGxlZnQ6IDk2JTtcbiAgICAgICAgdG9wOiAyZW07XG4gICAgICB9XG5cblxuICAgIH1cblxuICB9XG5cbn1cblxuXG5cbi5rdG4tcGVvcGxlIHtcbiAgYmFja2dyb3VuZDoka3RuX2dyZXk7XG5cblxuXG4gIC50ZXh0LWNvbnRhaW5lciB7XG5cbiAgICBwYWRkaW5nOjJlbSAyZW0gMmVtIDA7XG4gICAgY29sb3I6JGt0bl90ZXh0O1xuXG4gICAgaDMgeyBjb2xvcjoka3RuX3RleHQ7IGZvbnQtc2l6ZToxLjNlbTsgfVxuICAgIGgzIGhyIHsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGxpbmUtaGVpZ2h0OjFlbTsgbWFyZ2luOjAuM2VtIDAuMjRlbSAwLjNlbSAwOyBib3JkZXI6MDsgYm9yZGVyLWJvdHRvbToxcHggc29saWQ7IHdpZHRoOjNlbTsgIH1cblxuICAgIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMGVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMGVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVlbTtcblxuICAgICAgLnN3aXBlci1zbGlkZSB7XG5cbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgY29sb3I6ICRrdG5fZGFyaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuam9iLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cblxuICAgICAgICB9XG5cbiAgICAgICAgLmhvdmVyIHtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyIDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAka3RuX2Rhcms7XG4gICAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgbGVmdDowO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRrdG5fbGlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAwZW07XG4gICAgICAgICAgICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZGVmYXVsdC1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuam9iLXRpdGxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLnBlb3BsZS1zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICByaWdodDogMy45ZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRvcDogNGVtO1xuXG4gICAgICB9XG5cbiAgICAgIC5wZW9wbGUtc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgcmlnaHQ6MWVtO1xuICAgICAgICB0b3A6IDRlbTtcbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG59XG5cbi5hYm91dC1kZXZpY2Uge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIG1hcmdpbi10b3A6IC04ZW07XG59XG5cblxuLmluZm9ybWF0aW9uLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9taWQ7XG5cblxuICAuY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogM2VtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTYxcHg7XG4gICAgICB0b3A6IC05MXB4O1xuICAgICAgZm9udC1zaXplOiAxODVweDtcbiAgICAgIGNvbG9yOiAjMDU1ZDJmO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgd2lkdGg6IDU5JTtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4ucXVvdGUtYmxvY2sge1xuXG5cbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICB0b3A6IC03ZW07XG4gICAgICBsZWZ0OjA7XG4gICAgICByaWdodDowO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgIH1cbiAgfVxuXG59XG5cblxuLnF1b3RlLXNsaWRlciB7XG5cbiAgcCB7XG4gICAgZm9udC1mYW1pbHk6ICduZXVlLWhhYXMtdW5pY2EnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cblxuICBzcGFuIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbn1cblxuLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHtcblxuICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuXG4gIHAge1xuICAgIHBhZGRpbmc6IDFlbSAyZW0gMGVtO1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxufVxuXG4ucmVwb3J0cy1zZWN0aW9uIHtcblxuICAucmVwb3J0IHtcblxuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfVxuXG4gIH1cblxuICAucmVwb3J0LTEge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRrdG5fZGFyaztcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGt0bl9kYXJrO1xuICAgIH1cblxuICB9XG5cbiAgLnJlcG9ydC0yIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAka3RuX2JyaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgfVxuXG4gIH1cblxuICAucmVwb3J0LTMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRrdG5fbWlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAka3RuX21pZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi52YWx1ZXMtc2xpZGVyIHtcblxuICBoMiB7XG4gICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gIH1cblxuICAudmFsdWVzLXN3aXBlci1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIHAge1xuICAgICAgY29sb3I6ICRrdG5fbWlkO1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgcGFkZGluZzogMGVtIDFlbTtcbiAgICB9XG4gIH1cbn1cblxuXG4udGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVlbTtcblxuICAgIC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cblxuICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cblxufVxuXG5cblxuXG4udGV4dC1yaWdodC1pbWFnZS1sZWZ0IHtcbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogNWVtO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRvcDowO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbn1cblxuLnByb2dyYW1tZXMtc2VjdGlvbiB7XG4gIGgyIHtcbiAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgfVxufVxuXG5cbi50ZXh0LWxlZnQtdmlkZW8tcmlnaHQge1xuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2ZW07XG4gIH1cblxuICBoMiB7XG4gICAgY29sb3I6ICRrdG5fbWlkO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxufVxuXG4uam9iLXZhY2FuY2llcy1zZWN0aW9uIHtcblxuICBoMiB7XG4gICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG5cbiAgdGFibGUge1xuXG50Ym9keSB7XG4gIGJvcmRlcjowcHg7XG59XG5cblxuICAgIHRyIHtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTtcblxuXG4gICAgICAuam9iLXRpdGxlIHtcblxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDBweDtcbiAgICAgICAgY29sb3I6ICRrdG5fZGFyaztcbiAgICAgIH1cblxuICAgICAgLmpvYi1jYXRlZ29yeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogMjVweCAwcHg7XG4gICAgICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuXG4gICAgICB9XG5cbiAgICAgIC5qb2ItbG9jYXRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgICAgICBjb2xvcjogJGt0bl9kYXJrO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhlYWQge1xuXG4gICAgICBib3JkZXI6MHB4O1xuXG4gICAgICB0ciB7XG4gICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgfVxuXG5cbiAgICAgIC5qb2ItdGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogNHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgICAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgICAgIH1cblxuICAgICAgLmpvYi1jYXRlZ29yeSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMjVweCAwcHg7XG4gICAgICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuam9iLWxvY2F0aW9uIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDBweDtcbiAgICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG5cbi5zaWRlYmFyLWNvbnRhaW5lciB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZmFmNjMwO1xuXG4gIC5zaWRlYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtMmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMC41ZW0gM2VtIDNlbTtcblxuICAgIC50aXRsZSB7XG4gICAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICBtYXJnaW46IDJlbSAwZW07XG4gICAgfVxuICB9XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMi41ZW07XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogJGt0bl9taWQ7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAyN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG5cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogJGt0bl9taWQ7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuXG4gICAgLmV2ZW50LXRpbGUgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA0OCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxufVxuXG4gW3R5cGU9J2NoZWNrYm94J10sIFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjcpO1xufVxuXG4ua25vd2xlZGdlLWNlbnRyZS10aWxlcyB7XG5cbiAgcGFkZGluZzogMmVtIDBlbTtcblxuICAubmV3cy10aWxlIHtcblxuICAgIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMjUlO1xuXG4gICAgICAudGFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTVweCAxMnB4IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMGVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyOCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgIH1cblxuICAgICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjllbTtcbiAgICAgIH1cblxuICAgIH1cblxuXG4gIH1cbn1cblxuXG4uZXZlbnRzLXBhZ2Uge1xuXG4gIC5mdW5kaW5nLXRpbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDUlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLWxlZnQ6IDIlO1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gIH1cblxuICAuc2lkZWJhciB7XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG5cbiAgICBsaSB7XG5cblxuICAgICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9taWQ7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbTtcbiAgbWF4LXdpZHRoOiAxMzQ1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogLTJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMi41cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cblxuICAuc2YtZmllbGQtdGF4b25vbXktc2VjdG9yLCAuc2YtZmllbGQtdGF4b25vbXktYXJlYXMge1xuICAgIHdpZHRoOiAxNSU7XG4gIH1cblxuXG5cblxufVxuXG4uc2YtZmllbGQtc2VhcmNoIHtcbiAgd2lkdGg6IDcwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgbGFiZWwge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcblxuICAgIGlucHV0IHtcbiAgICAgIGhlaWdodDogNTNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyMjc7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTMsIDI1MywgMjUyLCAwLjE0KTtcbiAgICB9XG4gIH1cbn1cblxuLnNmLWZpZWxkLXRheG9ub215LXNlY3RvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblxuICBsYWJlbCB7XG5cbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcblxuXG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNjZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyMjc7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5zZi1maWVsZC10YXhvbm9teS1hcmVhcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblxuICBsYWJlbCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuXG4gICAgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNjZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUyMjc7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cblxuXG4uc2VhcmNoYW5kZmlsdGVyIGg0IHtcbiAgY29sb3I6ICMwMDk2NDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLXRvcDogMS41ZW07XG59XG5cblxuXG4uc2luZ2xlLW5ld3Mge1xuXG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA5JTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZjZmE7XG5cbiAgfVxuXG4gICAgLm5ld3MtZGF0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX21pZDtcbiAgICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICAgICAgbWFyZ2luLXRvcDogLTNlbTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgfVxuXG5cblxuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgbWFyZ2luLXRvcDogMGVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWZhZjY7XG4gICAgcGFkZGluZzogM2VtO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogJGt0bl9kYXJrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogMTVweCAwcHg7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogM2VtO1xuICB9XG5cbiAgLnNpZGViYXItY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogLTNlbTtcbiAgICBwYWRkaW5nOiAwZW07XG4gICAgbWF4LXdpZHRoOiA5NmVtO1xuICB9XG5cbn1cblxuXG4ucGVvcGxlLXRpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcblxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGt0bl9saWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmltYWdlIHtcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAka3RuX2JyaWdodDtcbiAgfVxuXG5cbiAgLmJveCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA5NjQwO1xuICAgIGNvbG9yOiAjMDA5NjQwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLmpvYi10aXRsZSB7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAuaW1hZ2Uge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRrdG5fbWlkO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGt0bl9taWQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgfVxufVxuXG4uYXJlYXMtY29udGVudC1jb250YWluZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlODtcbn1cblxuLnNlY3Rvci1wYWdlIHtcbiAgLnRleHQtbGVmdC1pbWFnZS1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RkFGNjtcbiAgICBwYWRkaW5nOiAzZW0gMGVtO1xuICB9XG5cbiAgLmZ1bmRpbmctdGlsZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q0ZDhkNDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcblxuICB9XG5cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGt0bl9icmlnaHQ7XG4gIH1cbn1cblxuXG4uaG9tZS1wYWdlIC5zbGlkZXItc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmZhZjY7XG59XG5cblxuLmtub3dsZWRnZS1uYXZpZ2F0aW9uIHtcbiAgLm5ld3MtdGlsZSAuaW1hZ2Uge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICB9XG59XG5cblxuLnNsaWRlci1zZWN0aW9uIHtcblxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDllbTtcblxuXG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbWlkO1xuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTI4JSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMi41JTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMlO1xuICAgICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWluLWhlaWdodDogMjdweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHdpZHRoOiAzZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cblxuXG5cblxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiA0Ny43NSU7XG4gICAgICB0b3A6IDEwNi4zJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fYnJpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgfVxuXG4gICAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgdG9wOiAxMDYuMyU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgIH1cbiAgfVxuXG4gIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIHtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDhlbSAwZW07XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbGlnaHQ7XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiA1JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM1JTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAka3RuX2Rhcms7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWluLWhlaWdodDogMjdweDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDNlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9kYXJrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB9XG5cblxuXG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2Rhcms7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICBtYXJnaW4tdG9wOiAtM2VtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDhlbTtcbiAgICAgIHdpZHRoOiA0NSUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC02JTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjglO1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDUvZGV2aWNlLWNhbGxvdXQucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogdG9wO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA0NyU7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICRrdG5fbGlnaHQ7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDI5cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnN3aXBlci1zbGlkZS1wcmV2IHtcbiAgICAgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwczovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMDA5NjQwKzc0LDAwNjAxNCsxMDAgKi9cbiAgICAgIGJhY2tncm91bmQ6IHJnYigwLDE1MCw2NCk7IC8qIE9sZCBicm93c2VycyAqL1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIHJnYmEoMCwxNTAsNjQsMSkgNzQlLCByZ2JhKDAsOTYsMjAsMSkgMTAwJSk7IC8qIEZGMy42LTE1ICovXG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgwLDE1MCw2NCwxKSA3NCUscmdiYSgwLDk2LDIwLDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgwLDE1MCw2NCwxKSA3NCUscmdiYSgwLDk2LDIwLDEpIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDA5NjQwJywgZW5kQ29sb3JzdHI9JyMwMDYwMTQnLEdyYWRpZW50VHlwZT0xICk7IC8qIElFNi05ICovXG4gICAgfVxuXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDE1LjJlbTtcbiAgICAgIHRvcDogNzguMyU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuXG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDE4ZW07XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgIHRvcDogNzguMyU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG59XG5cblxuLmFyZWEtcGFnZSB7XG5cbiAgLnNsaWRlci1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gIH1cblxuICAudGlsZXMtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMGVtO1xuICB9XG5cbn1cblxuLnNpbmdsZS1wZW9wbGUge1xuXG4gIC5zaWRlYmFyLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICBwYWRkaW5nLXRvcDogMGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZlbTtcbiAgfVxuXG4gIC5wZW9wbGUtdGlsZSAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDBlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuXG4gICAgLmZhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gIC5tYWluLWNvbnRlbnQge1xuXG4gICAgc3Ryb25nLCBiIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMmUwYTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogNGVtIDEuNWVtO1xuICB9XG5cbiAgLmFyZWEtYm94IHtcbiAgICBjb2xvcjogJGt0bl9taWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cblxufVxuXG5cbi5wZW9wbGUtcGFnZSB7XG4gIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiA4MyU7XG4gIH1cbn1cblxuXG4uY2FzZS1zdHVkeS1wYWdlIHtcbiAgLmNhc2Utc3R1ZHktdGlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzAwNTIyNztcbiAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG5cbiAgICAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmYWY2O1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRrdG4tbGlnaHQ7XG4gICAgfVxuXG4gICAgLmRlZmF1bHQtbGluayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuLWxpZ2h0O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1jb250ZW50IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGNvbG9yOiAka3RuLWxpZ2h0O1xuICAgIH1cbiAgfVxuXG59XG5cblxuLmltYWdlLWV2ZW50LXRpbGUge1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuaW1hZ2Uge1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgfVxuXG4gIC5kYXRlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMWVtIDBlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZGFkYWQ7XG5cbiAgICAudGhlLWRhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDU1JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogI2FkYWRhZDtcbiAgICB9XG5cbiAgICAubG9jYXRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgY29sb3I6ICRrdG5fYnJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uZXZlbnRzLXBhZ2Uge1xuICAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzZW0gMGVtO1xuICB9XG59XG5cblxuLmNhcmVlcnMtcGFnZSB7XG4gIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUZBRjY7XG4gIH1cblxuICAucXVvdGUtc2xpZGVyIHtcbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAka3RuX21pZDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtcGFnZSB7XG4gIC5jb250YWN0LWZvcm0tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICBwYWRkaW5nOiAxZW0gNWVtO1xuICAgIG1hcmdpbi10b3A6IDllbTtcbiAgfVxuXG4gIC5zbWFsbC1oZXJvIHtcblxuICAgIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA0JSAwZW0gMCU7XG4gICAgfVxuXG4gICAgLnRlbC1udW1iZXIge1xuXG4gICAgICBwYWRkaW5nOiAyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI1MzI2O1xuICAgICAgbWFyZ2luLXRvcDogNmVtO1xuXG4gICAgICAudGVsLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuICB9XG5cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzZW07XG4gIH1cblxuXG59XG5cblxuW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuXG5cbi5jb250YWN0LXBhZ2Uge1xuICBzcGFuLndwY2Y3LWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNTMyNjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW46IDBlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGt0bl9icmlnaHQ7XG5cblxuICAgICBbdHlwZT1cImNoZWNrYm94XCJdLCAuY29udGFjdC1wYWdlIFt0eXBlPVwicmFkaW9cIl0ge1xuXG4gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgIGxlZnQ6IC0xN3B4O1xuICAgICAgIHRvcDogMDtcbiAgICAgICBib3R0b206IDA7XG4gICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgIHdpZHRoOiAxMDglO1xuICAgICAgIG9wYWNpdHk6IDA7XG5cblxuICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICByaWdodDogMDtcbiAgICAgICAgIHRvcDowO1xuICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgIH1cbiAgICB9XG5cbiAgICAud3BjZjctbGlzdC1pdGVtLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAubWVudWl0ZW1zaG93IHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOiAjMDI5NjQwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcblxuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgfVxuICB9XG5cbiAgW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGt0bl9icmlnaHQ7XG4gICAgbWluLWhlaWdodDogNThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gIH1cblxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwRTYwMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAuY2hlY2tib3gtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAuY29udHJvbC1tZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwieFwiO1xuICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gIH1cbiAgI3RvZ2dsZTpjaGVja2VkIH4gLmNvbnRyb2wtbWU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgfVxuXG5cbiAgLmNvbnRhY3QtcGFnZSBzcGFuLndwY2Y3LWxpc3QtaXRlbSBbdHlwZT1cImNoZWNrYm94XCJdLCAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIC5jb250YWN0LXBhZ2UgW3R5cGU9XCJyYWRpb1wiXSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgfVxuXG4gIC5tZW51aXRlbXNob3cgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9saWdodDtcbiAgfVxuXG4gIC53cGNmNy1zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9taWQ7XG4gICAgY29sb3I6ICRrdG5fYnJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5sb2NhdGlvbi1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuXG4gICAgLmxvY2F0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG5cbiAgICAgIGgzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogIzAyOTY0MDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxNHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICB0b3A6IDEwcHg7XG5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDo2cHg7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aXZlLWxvY2F0aW9uIHtcblxuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIi1cIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXAtMiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tYXAtMyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG5cbn1cblxuXG5cbi5zaW5nbGUtZXZlbnQge1xuICAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICAgIHBhZGRpbmctdG9wOiAzZW07XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCBoMiB7XG4gICAgY29sb3I6ICMwMjk2NDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgfVxuXG4gIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA0ZW0gMi41ZW0gM2VtO1xuICB9XG5cbiAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG59XG5cblxuLm9wcG9ydHVuaXR5LXNpbmdsZSB7XG4gIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgfVxufVxuXG5cbi5mdWxsLWltYWdlLXNlY3Rpb24ge1xuXG4gIGltZyB7XG4gICAgbWFyZ2luOiAyZW0gMGVtO1xuICB9XG5cbn1cblxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcblxuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICRrdG5fZGFyaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDE3cHggMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgc3BhbiB7XG4gICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAka3RuX2JyaWdodDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG9tZS1zZWN0b3JzIHtcbiAgbWFyZ2luOiAyZW0gMGVtIDVlbTtcblxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgcGFkZGluZzogMGVtO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMi41ZW07XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAka3RuX21pZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGNvbG9yOiAka3RuX2xpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5leHBlcnQtY29udGFpbmVyIHtcblxuICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwcHggMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgICAgIC5leHBlcnQge1xuXG4gICAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGt0bl9saWdodDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG5cbiAgICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGt0bl9taWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWluLWhlaWdodDogNTAwcHg7XG5cbiAgICAgIC5pbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDowO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRlZmF1bHQtbGluay1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG5cbiAgfVxuXG4gIC50YWJzIHtcbiAgICBib3JkZXI6MHB4O1xuICB9XG5cbiAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbiAgfVxuXG5cbn1cblxuLnRhYnMge1xuXG4gIC5pcy1hY3RpdmUge1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuZHJvcGRvd24tb3B0aW9ucyB7XG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5kcm9wZG93bi1vcHRpb25zIHtcblxuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAwcHg7XG4gIGRpc3BsYXk6bm9uZTtcblxuICBhIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGt0bl9saWdodCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAzMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNXB4IDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLnNlY3RvcnMtY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyZW0gM2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cblxuLmhvbWUtcGFnZSB7XG5cbiAgLnNlY3RvcnMtc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogLTNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG5cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgfVxuXG4gICAgLyogVHJhY2sgKi9cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAvKiBIYW5kbGUgKi9cbiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICRrdG5fYnJpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgIH1cblxuICAgIC8qIEhhbmRsZSBvbiBob3ZlciAqL1xuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGt0bl9taWQ7XG4gICAgfVxuXG5cbiAgICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICAgIGJvcmRlcjowcHg7XG4gICAgfVxuICB9XG5cbn1cblxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIHtcbiAgd2lkdGg6IDQzJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDQlO1xufVxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUge1xuICB3aWR0aDogOTQlO1xuICBwYWRkaW5nLXRvcDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBwYWRkaW5nOiAxZW0gMmVtIDEuNWVtO1xuICBtYXJnaW46IDFlbSAwZW0gMWVtO1xuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgfVxufVxuXG4udGFicy1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDFlbTtcbn1cblxuLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnN3aXBlci1idXR0b24tbmV4dCB7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICByaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE4cHg7XG4gICAgdG9wOiAxN3B4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQgI2ZmZmZmZjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5cbi5zd2lwZXItYnV0dG9uLXByZXYge1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDMuOWVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE4cHg7XG4gICAgdG9wOiAxN3B4O1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOXB4IHNvbGlkICNmZmZmZmY7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuc3dpcGVyLXNsaWRlLW5leHQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4uc2luZ2xlLXBvc3Qge1xuICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IC5tYWluLWhlcm8tY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAzMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICB9XG59XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDZlbTtcbn1cblxuLnN1Yi1uYXYtY29udGVudCAubmV3cy10aWxlIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbmF2LWNvbnRlbnQgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCB7XG4gIHBhZGRpbmc6IDFlbSA0ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDExJTtcbn1cblxuLnNlYXJjaC1jb250YWluZXIgLndwZHJlYW1zX2FzbF9jb250YWluZXIge1xuXG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDpcIiBcIjtcbiAgICB3aWR0aDogMjNweDtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMThweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDUvc2VhcmNoLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG59XG5cbi5zZWFyY2gtaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG5cbi5zZWFyY2gtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4uc2xpZGUtb3V0LW1lbnUge1xuXG4gIC5zZWFyY2gtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ldmVudHMtbmF2aWdhdGlvbiBhIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwNDU2Mjc7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQgdWwgbGkgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zdWItbmF2LWNvbnRlbnQgLnZpZXctYWxsLWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzA1NGExNCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zdWItbmF2LWNvbnRlbnQgLnNvY2lhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzZW07XG4gIHJpZ2h0OiAzZW07XG5cbiAgLmZhIHtcbiAgICBjb2xvcjogJGt0bi1icmlnaHQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcbiAgfVxufVxuXG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IHtcbiAgcGFkZGluZzogMWVtIDRlbTtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ua25vd2xlZGdlLW5hdmlnYXRpb24gLm5ld3MtdGlsZSAuZGF0ZSB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwNDU2Mjc7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaGVhZGVyLWZpeGVkIHVsIC5zZWFyY2gtaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG59XG5cbi5hcmVhLXBhZ2UgIC5zaW5nbGUtcGVvcGxlIC5ncmlkLXgge1xuICBwYWRkaW5nOiAwcHg7XG59XG5cbi5hcmVhLXBhZ2UgLnNpbmdsZS1wZW9wbGUge1xuICBtYXJnaW4tdG9wOiAtNGVtO1xufVxuXG4uYXJlYS1wYWdlICAuc2luZ2xlLXBlb3BsZSAuY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA5ZW07XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgY29sb3I6ICRrdG5fZGFyaztcbiAgfVxuXG4gIGg0IHtcbiAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgfVxufVxuXG4uYXJlYS1wYWdlIHtcbiAgLnRleHQtbGVmdC1pbWFnZS1yaWdodCB7XG4gICAgcGFkZGluZzogMmVtIDBlbSAwZW07XG5cbiAgICAuZ3JpZC14IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwZW07XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA5ZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmZ1bmRpbmctdGlsZSBoMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMjUzMjk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYXJlYS1wYWdlIC50aWxlcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZy1ib3R0b206IDNlbTtcbn1cbi5hcmVhLXBhZ2Uge1xuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiA0ZW07XG4gIH1cbn1cblxuLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDk5cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xufVxuXG4uc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIwLzA1L2RldmljZS1jYWxsb3V0LnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teTogdG9wO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDQ3JTtcbn1cblxuZGl2LmFzbF93IC5wcm9ib3ggLnByb2lucHV0IGlucHV0LmF1dG9jb21wbGV0ZSB7IGRpc3BsYXk6bm9uZSB9XG5cbi5jYXJlZXJzLXBhZ2Uge1xuICAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwZW07XG5cbiAgICAuZ3JpZC14IHtcbiAgICAgIHBhZGRpbmc6IDBlbTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNWVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVlbTtcbiAgICB9XG4gIH1cblxuXG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cblxuLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciAuY29udGVudCAuY2lyY2xlLWRldmljZSB7XG5cbiAgaGVpZ2h0OiA2MzRweDtcbiAgd2lkdGg6IDcwMHB4O1xuICByaWdodDogLTY1JTtcblxufVxuXG4uaG9tZS1wYWdlIC50aWxlcy1jb250YWluZXIge1xuICBwYWRkaW5nOiAzZW0gMGVtIDFlbTtcbn1cblxuLnNlYXJjaC1pY29uLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4uc2luZ2xlLW5ld3Mge1xuICAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciBwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jb25uZWN0IHtcblxuICAuZ2V0LWluLXRvdWNoLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsIHRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDBweDtcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gIGJvcmRlci10b3A6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTMyNjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uc2YtZmllbGQtc2VhcmNoIGxhYmVsIGlucHV0IHtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiAuc2YtZmllbGQtc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMjNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMjBweDtcbiAgICB0b3A6IDI2cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8wNS9zZWFyY2gucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG59XG5cbi5zZi1maWVsZC1zZWFyY2ggbGFiZWwgaW5wdXQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDYsIDEwOSwgNTUpO1xuICBwYWRkaW5nLWxlZnQ6IDQycHggIWltcG9ydGFudDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMHB4O1xufVxuXG4ucGVvcGxlLXBhZ2Uge1xuICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMi41ZW0gMC4xZW07XG4gIH1cbn1cblxuXG4uc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCAuZXZlbnQtdGlsZSBoMyB7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IGZvcm0ge1xuICB3aWR0aDogNzAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLnNmLWZpZWxkLXNlYXJjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNlY3Rvci1kcm9wZG93bi13cmFwcGVyIHtcbiAgd2lkdGg6IDEzJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMiwgODMsIDM4LCAwKTtcbiAgICBib3JkZXI6IDBweDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwZTYwMTtcblxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRrdG5fYnJpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXJlYS1kcm9wZG93bi13cmFwcGVyIHtcbiAgd2lkdGg6IDEzLjUlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyLCA4MywgMzgsIDApO1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzAwZTYwMTtcblxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRrdG5fYnJpZ2h0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgcGFkZGluZzogMmVtIDFlbSAxZW07XG4gICAgYm9yZGVyOiAwcHggc29saWQgI2NhY2FjYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIsIDgzLCAzOCwgMC45MSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRvcDogMTAzcHggIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBsaSB7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IsIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5zZi1maWVsZC10YXhvbm9teS1hcmVhcyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaC1maWx0ZXItcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG5cbiAgLm5vLXJlc3VsdHMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nOiAyZW07XG4gIH1cbn1cblxuLmtub3dsZWRnZS1wYWdlIHtcbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAka3RuX2JyaWdodCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblxuICAua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgIHdpZHRoOiA0NiU7XG4gIH1cblxuICAua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xuICB9XG5cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtIHtcbiAgICB3aWR0aDogNDglO1xuICB9XG5cbiAgLnNlY3Rvci1kcm9wZG93bi13cmFwcGVyIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLmFyZWEtZHJvcGRvd24td3JhcHBlciB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG5cbiAgLmt0bi1zdWJtZW51IHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgIH1cblxuICAgIC8qIFRyYWNrICovXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyOjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEhhbmRsZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICRrdG5fYnJpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyOjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEhhbmRsZSBvbiBob3ZlciAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRrdG5fbWlkO1xuICAgICAgYm9yZGVyOjBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuXG4gICAgLnZlcnRpY2FsIHtcbiAgICAgIGJvcmRlcjowcHg7XG4gICAgfVxuXG4gIH1cblxuXG5cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMyUgMmVtO1xuICB9XG5cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiBjZW50ZXI7XG4gIH1cblxuICAgIGgxIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAuYnJlYWRjcnVtYiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gIH1cblxuICAubGFyZ2UtaGVybyB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICB9XG5cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gIH1cblxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuaW1hZ2UsIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IHtcbiB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDBlbTtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBwYWRkaW5nOiAwZW0gMGVtIDBlbTtcbiAgfVxuXG4gIC5ob21lLXBhZ2UgLnNsaWRlci1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gIC5ldmVudC10aWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMjUwcHg7XG4gIH1cblxuICAuZXZlbnQtdGlsZSAuZGF0ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEuNWVtIDFlbTtcbiAgfVxuXG4gIC5kZWZhdWx0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxuXG4gIC5ob21lLXBhZ2UgLnRpbGVzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMWVtIDBlbSAwZW07XG4gIH1cblxuICAuaG9tZS1wYWdlIC5jYXNlLXN0dWR5LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgfVxuXG4gIC50d2l0dGVyLWZlZWQge1xuICAgIG1hcmdpbi10b3A6IDNlbTtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTAwcHggM2VtIDYlO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgfVxuXG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgLmxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc21hbGwtaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogM2VtO1xuICB9XG5cbiAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDMzdmg7XG4gIH1cblxuICAuaW5mb3JtYXRpb24tYmxvY2sgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgLmluZm9ybWF0aW9uLWJsb2NrIC5jb250ZW50IHNwYW4ge1xuICAgIGxlZnQ6IC0xM3B4O1xuICB9XG5cbiAgLnF1b3RlLWJsb2NrIC5pbWFnZS1jb250YWluZXIgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB9XG5cbiAgLnF1b3RlLWJsb2NrIC5jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICAucXVvdGUtYmxvY2sge1xuICAgIHBhZGRpbmc6IDJlbSAxZW0gMGVtO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMGVtO1xuICB9XG5cbiAgLnF1b3RlLXNsaWRlciB7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgfVxuXG4gIC5rdG4tcGVvcGxlIHtcbiAgICBwYWRkaW5nOiAzZW0gMWVtIDBlbTtcbiAgfVxuXG4gIC5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuam9iLXRpdGxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tcHJldiB7XG4gICAgbGVmdDogODYlO1xuICB9XG5cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgbGVmdDogOTMlO1xuICB9XG5cbiAgLnJlcG9ydHMtc2VjdGlvbiAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIH1cblxuICAuYnJlYWRjcnVtYiBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnNmLWZpZWxkLXNlYXJjaCB7XG4gICAgd2lkdGg6IDY0JTtcbiAgfVxuXG4gIC5wYWdlLWlkLTMwOSAuc2lkZWJhci1jb250YWluZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cblxuICAuZXZlbnRzLXBhZ2UgLmZ1bmRpbmctdGlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDNlbSAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB9XG5cbiAgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiAxZW0gMmVtIDNlbTtcbiAgfVxuXG4gIC5rdG4tc3VibWVudSB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMTVweCAwcHggMTdweDtcbiAgfVxuXG4gIC5zZWN0b3ItcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGQUY2O1xuICAgIHBhZGRpbmc6IDJlbSAxZW07XG4gIH1cblxuICAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IC5pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICB9XG5cbiAgLmt0bi1hcmVhcyB7XG4gICAgcGFkZGluZzogMmVtIDEuNWVtO1xuICB9XG5cbiAgLnNlY3Rvci1wYWdlIC5mdW5kaW5nLXRpbGUge1xuICAgIGJvcmRlci1yaWdodDogMHB4O1xuICB9XG5cbiAgLmZ1bmRpbmctdGlsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5ldmVudC10aWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMjUwcHg7XG4gIH1cblxuICAuc2VjdG9yLXBhZ2Uge1xuICAgIC5ldmVudC10aWxlICB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBlbTtcblxuICAgICAgLnRpbGUtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA3OSU7XG4gICAgICB9XG5cbiAgICAgIC5kYXRlIHtcbiAgICAgICAgd2lkdGg6IDIxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbW1lcy10aWxlIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cblxuICAucHJvZ3JhbW1lcy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtO1xuICB9XG5cbiAgLnBlb3BsZS1wYWdlIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiA2NiU7XG4gIH1cblxuICAua25vd2xlZGdlLWNlbnRyZS10aWxlcyAubmV3cy10aWxlIC5pbWFnZSB7XG4gICAgd2lkdGg6IDMyJTtcbiAgfVxuXG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIC5uZXdzLXRpbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMzglO1xuICB9XG5cbiAgLnRleHQtbGVmdC1pbWFnZS1yaWdodCB7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgfVxuXG4gIC5zaW5nbGUtcGVvcGxlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiA3JTtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbi1zaW5nbGUgLnN3aXBlci1zbGlkZSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMTExJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC0zLjUlO1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAuYXJlYS1wYWdlIC5zbGlkZXItc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgLmNvbnRhY3QtcGFnZSB7XG4gICAgLnNtYWxsLWhlcm8gLmdyaWQtY29udGFpbmVyIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgICB9XG4gIH1cblxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQge1xuXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDBlbSA0ZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC50ZWwtbnVtYmVyIHtcbiAgICBtYXJnaW4tdG9wOiA0ZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC50ZWwtbnVtYmVyIC50ZWwtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwZW0gMWVtO1xuICB9XG5cbiAgLmNvbnRhY3QtcGFnZSAubG9jYXRpb24tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgfVxuXG4gIC5jb250YWN0LXBhZ2UgLmNvbnRhY3QtZm9ybS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxZW0gM2VtO1xuICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgfVxuXG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDJlbSAxZW07XG4gIH1cblxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIC5qb2ItY2F0ZWdvcnksIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi1jYXRlZ29yeSB7XG4gICAgcGFkZGluZzogMjVweCAxNXB4O1xuICB9XG5cbiAgLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDNlbSA2JTtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gIH1cblxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gM2VtO1xuICB9XG5cbiAgLnNpbmdsZS1wZW9wbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgfVxuXG4gIC5zbWFsbGVyLWhlcm8gLmdyZWVuLWJhciAubG9nby1jb250YWluZXIgLmxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2luZ2xlLXBlb3BsZSB7XG5cbiAgICAuc2lkZWJhci1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgIH1cblxuICB9XG5cbiAgLnNpbmdsZS1wZW9wbGUgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDRlbSAxLjVlbTtcbiAgICBwYWRkaW5nOiAyZW0gM2VtO1xuICB9XG5cbiAgaDEgcCB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICB9XG5cbiAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQgLmJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24ge1xuICAgIG1heC13aWR0aDogNjQlO1xuICB9XG5cbiAgLnNpbmdsZS1qb2Ige1xuXG4gICAgLnNpZGViYXIge1xuICAgICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCAuYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgICBtYXgtd2lkdGg6IDgzJTtcbiAgICB9XG5cbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiA5MiU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDQlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDBlbTtcbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICB9XG5cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICAudGFicyAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC5pcy1hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCB7XG4gICAgcGFkZGluZzogMWVtIDRlbSAxZW0gMmVtO1xuICB9XG5cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gIH1cblxuICAua25vd2xlZGdlLW5hdmlnYXRpb24gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5zdWItbmF2LWNvbnRlbnQgLnN1Yi1uYXYtbWFpbi1jb250ZW50IHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxuXG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAuc3ViLW5hdi1jb250ZW50IC5zdWItbmF2LW1haW4tY29udGVudCB1bCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQgdWwgbGkgYSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuXG4gIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIHJpZ2h0OiAyLjdlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNlYXJjaC1pY29uLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnF1b3RlLWJsb2NrIC5jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDI5cHg7XG4gIH1cblxuICAucXVvdGUtYmxvY2sgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuXG4gICAgaGVpZ2h0OiA0NzhweDtcbiAgICB0b3A6IC0xMDBweDtcblxuICB9XG5cbiAgLnNlY3Rvci1wYWdlIC5ldmVudC10aWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICB9XG5cbiAgLmFyZWEtcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwZW0gMWVtIDBlbTtcbiAgfVxuXG4gIC5hcmVhLXBhZ2UgLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICB9XG5cbiAgLmFyZWEtcGFnZSAuc2luZ2xlLXBlb3BsZSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG5cbiAgLmFyZWEtcGFnZSAuc2luZ2xlLXBlb3BsZSAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDNlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM2VtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgfVxuXG4gIC5hcmVhLXBhZ2Uge1xuICAgIC5uZXdzLXRpbGUge1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMjElICFpbXBvcnRhbnQ7XG4gIH1cblxuXG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgLmFyZWEtcGFnZSB7XG4gICAgLnRleHQtbGVmdC1pbWFnZS1yaWdodCAuaW1hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMGVtO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtbWVzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDFlbSAwLjVlbTtcbiAgfVxuXG4gIC5hcmVhLXBhZ2UgLnNpbmdsZS1wZW9wbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIH1cblxuICAuYXJlYS1wYWdlIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgfVxuXG4gIC5hcmVhLXBhZ2UgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSB7XG4gICAgbWFyZ2luLXRvcDogMGVtO1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24tc2luZ2xlIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJlbSAyZW0gM2VtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucXVvdGUtYmxvY2sgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGhlaWdodDogMjc4cHg7XG4gICAgdG9wOiAwcHg7XG4gIH1cblxuICAuc2VjdG9yLXBhZ2UgLmV2ZW50LXRpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIC5ldmVudC10aWxlIGgzIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAuYWJvdXQtZGV2aWNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnF1b3RlLWJsb2NrIC5jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICB9XG5cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHNwYW4ge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDMlIDEuNWVtO1xuICB9XG5cbiAgLnNlYXJjaC1pY29uLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zZWFyY2gtaWNvbi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhlYWRlciB1bCAuc2VhcmNoLWljb24ge1xuICAgIGZsb2F0OiBub25lIDtcbiAgfVxuXG4gIC5zZWFyY2gtY29udGFpbmVyIC53cGRyZWFtc19hc2xfY29udGFpbmVyOmFmdGVyIHtcbiAgICByaWdodDogMjNweDtcbiAgfVxuXG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5kZWZhdWx0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAuYnJlYWRjcnVtYiB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgLmxhcmdlLWhlcm8gLmdyaWQtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIgLmNvbnRlbnQgLmxpdmUtbm93LWNvbnRhaW5lciAubGl2ZS1idXR0b24ge1xuICAgIGhlaWdodDogOTBweDtcbiAgICB3aWR0aDogMjUuMyU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogODNweDtcbiAgfVxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5jb250ZW50IC5saXZlLW5vdy1jb250YWluZXIgLmxpdmUtY29udGVudCB7XG4gICAgd2lkdGg6IDUyJTtcbiAgfVxuXG4gIC5sYXJnZS1oZXJvIC5ncmlkLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5jb250ZW50IC5saXZlLW5vdy1jb250YWluZXIgLmxpdmUtY29udGVudCBwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAubGFyZ2UtaGVybyAuZ3JpZC1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuY29udGVudCAubGl2ZS1ub3ctY29udGFpbmVyIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cblxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIGxpIGEge1xuICAgIHBhZGRpbmc6IDE2cHggMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG4gIC5ob21lLXBhZ2UgLnNlY3RvcnMtc2VjdGlvbiAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgd2lkdGg6IDg2JTtcbiAgICBtYXJnaW46IDclO1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHRvcDogMTc3cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gIH1cblxuICAuc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1jb250YWluZXItc2xpZGVyLXNlY3Rpb24gLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIHRvcDogMTc3cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5zbGlkZXItc2VjdGlvbiAuc3dpcGVyLWNvbnRhaW5lci1zbGlkZXItc2VjdGlvbiAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHNwYW46YmVmb3JlIHtcbiAgICBib3R0b206IDEwcHg7XG4gIH1cblxuICAuaG9tZS1wYWdlIC5uZXdzLXRpbGUge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIH1cblxuICAuc3ViLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgLmhvbWUtcGFnZSAuZnVuZGluZy10aWxlIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICB9XG5cbiAgLmhvbWUtcGFnZSAuZXZlbnQtdGlsZSB7XG4gICAgcGFkZGluZzogMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgfVxuXG4gIC5ob21lLXBhZ2Uge1xuICAgIC5jYXNlLXN0dWR5LXRpbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMjBweCAyMXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5ob21lLXBhZ2UgLmNhc2Utc3R1ZHktY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtO1xuICB9XG5cbiAgLmJ1dHRvbjphZnRlciB7XG4gICAgdG9wOiAyMnB4O1xuICB9XG5cbiAgLmV2ZW50LXRpbGUgLmRhdGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDI5MHB4O1xuICB9XG5cbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwZTYwMTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNWVtO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmNvbnRlbnQgaDQge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cblxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmNvbnRlbnQgLmV4cGVydC1jb250YWluZXIgLmV4cGVydCBoNCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmNvbnRlbnQgLmV4cGVydC1jb250YWluZXIgLmV4cGVydCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cblxuXG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDc1cHggMWVtIDclO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgfVxuXG4gIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQgLm1haW4taGVyby1jb250ZW50IHAgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxuXG4gIC5pbmZvcm1hdGlvbi1ibG9jayAuY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICB9XG5cbiAgLnF1b3RlLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW0gO1xuICB9XG5cbiAgLnF1b3RlLWJsb2NrIC5jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFscy1zd2lwZXItY29udGFpbmVyIHAge1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gMGVtO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5xdW90ZS1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMGVtO1xuICB9XG5cbiAgLmt0bi1wZW9wbGUge1xuICAgIHBhZGRpbmc6IDNlbSAwLjVlbSAwZW07XG4gIH1cblxuICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDJlbSAwZW07XG4gIH1cblxuICAua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmpvYi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tcHJldiB7XG4gICAgdG9wOiAyNS42ZW07XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgdG9wOiAyNS42ZW07XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBpbmhlcml0O1xuICB9XG5cbiAgLm5ld3MtdGlsZSB7XG4gICAgcGFkZGluZzogMGVtIDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgfVxuXG4gIC5uZXdzLXRpbGUgLmltYWdlIHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gIC5uZXdzLXRpbGUgaDMge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxuXG4gIC5uZXdzLXRpbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICB9XG5cbiAgLnJlcG9ydHMtc2VjdGlvbiAucmVwb3J0IGgzIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cblxuICAuZXZlbnRzLXBhZ2UgLmZ1bmRpbmctdGlsZSB7XG4gICAgcGFkZGluZzogMWVtIDJlbSAwZW07XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuXG4gIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnNlYXJjaGFuZGZpbHRlciB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxuXG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IsIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5zZi1maWVsZC10YXhvbm9teS1hcmVhcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZXZlbnRzLXBhZ2UgLnNpZGViYXIgbGkgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgfVxuXG4gIC5zZWFyY2hhbmRmaWx0ZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMGVtO1xuICB9XG5cbiAgLmFib3V0LXBhZ2Uge1xuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciB7XG4gICAgICBwYWRkaW5nOiAxZW0gMmVtIDBlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cblxuICAua3RuLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMGVtIDFlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAua3RuLXN1Ym1lbnUge1xuICAgIHBhZGRpbmc6IDZweCAwcHggMTNweDtcbiAgfVxuXG4gIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgfVxuXG4gIC5zZWN0b3ItcGFnZSAudGV4dC1sZWZ0LWltYWdlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtO1xuICB9XG5cbiAgLmt0bi1hcmVhcyB7XG4gICAgcGFkZGluZzogMWVtIDAuNWVtO1xuICB9XG5cbiAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIgLmFyZWFzLXN3aXBlci1jb250YWluZXIge1xuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmt0bi1hcmVhcyAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDJlbSAwZW07XG4gIH1cblxuICAua3RuLWFyZWFzIC50ZXh0LWNvbnRhaW5lciAuYXJlYXMtc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICBwYWRkaW5nLXRvcDogMGVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAwZW07XG5cbiAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmV2ZW50LXRpbGUgLmRhdGUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5zZWN0b3ItcGFnZSAuZXZlbnQtdGlsZSB7XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLnBlb3BsZS1wYWdlIC5zZi1maWVsZC1zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnNmLWZpZWxkLXNlYXJjaCBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2YtZmllbGQtdGF4b25vbXktc2VjdG9yIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zZi1maWVsZC10YXhvbm9teS1zZWN0b3IgbGFiZWwgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ0YTIzO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIH1cblxuICAuc2YtZmllbGQtc2VhcmNoIGxhYmVsIGlucHV0IHtcbiAgICBoZWlnaHQ6IDUzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ0OTI0O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1MywgMjUzLCAyNTIsIDAuMTQpO1xuICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGhlaWdodDogNjNweDtcbiAgfVxuXG4gIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyLjVlbSAwLjVlbTtcbiAgfVxuXG4gIC5wZW9wbGUtdGlsZSAuaW1hZ2Uge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cblxuICAucGVvcGxlLXRpbGUgaDMge1xuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIC5uZXdzLXRpbGUgLmltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIC5uZXdzLXRpbGUgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gIH1cblxuICAuc2YtZmllbGQtdGF4b25vbXktYXJlYXMgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNmLWZpZWxkLXRheG9ub215LWFyZWFzIGxhYmVsIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiA2NnB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ0YTIzO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cblxuICAuY2FzZS1zdHVkeS1wYWdlIC5jYXNlLXN0dWR5LXRpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIHtcbiAgICBwYWRkaW5nOiAxZW0gMGVtO1xuICB9XG5cbiAgLmV2ZW50LXRpbGUge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgfVxuXG4gIC50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQge1xuICAgIHBhZGRpbmc6IDEuNWVtIDBlbTtcbiAgfVxuXG4gIC5zaW5nbGUtcGVvcGxlIC5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cblxuICAudGV4dC1yaWdodC1pbWFnZS1sZWZ0IC5pbWFnZS1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgICB3aWR0aDogODUlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwcHggOCUgMTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgLnNsaWRlci1zZWN0aW9uIC5zd2lwZXItY29udGFpbmVyLXNsaWRlci1zZWN0aW9uLXNpbmdsZSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICB9XG5cbiAgLmFyZWEtcGFnZSAuc2xpZGVyLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgfVxuXG4gIC5jYXJlZXJzLXBhZ2UgLnF1b3RlLXNsaWRlciBwIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIC5qb2ItdGl0bGUge1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cblxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmpvYi12YWNhbmNpZXMtc2VjdGlvbiB0YWJsZSB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG5cbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDBweDtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRyIC5qb2ItdGl0bGUge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gIH1cblxuICAuam9iLXZhY2FuY2llcy1zZWN0aW9uIHRhYmxlIHRoZWFkIC5qb2ItY2F0ZWdvcnksIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi1jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuXG4gIC5qb2ItdmFjYW5jaWVzLXNlY3Rpb24gdGFibGUgdHIgLmpvYi1sb2NhdGlvbiB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICB9XG5cbiAgLmpvYi12YWNhbmNpZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMmVtIDFlbSAwZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDBlbSAyZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIGgxIHAge1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICBsaW5lLWhlaWdodDogNTNweDtcbiAgfVxuXG4gIC5jb250YWN0LXBhZ2UgLnNtYWxsLWhlcm8gLnRlbC1udW1iZXIgLnRlbC1jb250YWluZXIgYSB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG5cbiAgLmNvbnRhY3QtcGFnZSAuc21hbGwtaGVybyAudGVsLW51bWJlciB7XG4gICAgcGFkZGluZzogMS41ZW0gMWVtO1xuICB9XG5cblxuICAuY29udGFjdC1wYWdlIC5sb2NhdGlvbi1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIC5jb250YWN0LWZvcm0tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtIDJlbTtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIHNwYW4ud3BjZjctbGlzdC1pdGVtIHtcbiAgICB3aWR0aDogNDglO1xuICB9XG5cbiAgLnNpbmdsZS1uZXdzIC5zaWRlYmFyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuXG4gIC5zaW5nbGUtbmV3cyB7XG4gICAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMi41ZW0gMmVtO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IC5idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc2luZ2xlLW5ld3MgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHtcbiAgICBwYWRkaW5nOiAyZW07XG4gIH1cblxuICAuc2luZ2xlLW5ld3MgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIGEge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG5cbiAgLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgbWFyZ2luLXRvcDogMGVtO1xuICAgIHBhZGRpbmc6IDJlbSAwLjVlbTtcbiAgfVxuXG4gIC5zaW5nbGUtZXZlbnQge1xuICAgIC5zaWRlYmFyLWNvbnRhaW5lciAuc2lkZWJhciBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLWV2ZW50IC5zaWRlYmFyLWNvbnRhaW5lciAubWFpbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwZW0gMC41ZW0gMmVtO1xuICB9XG5cbiAgLnNpbmdsZS1ldmVudCB7XG4gICAgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIGlmcmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwZW07XG4gICAgfVxuICB9XG5cbiAgLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCBoMiB7XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gIH1cblxuICAuc21hbGxlci1oZXJvIC5ncmlkLWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDRweCAxZW0gNGVtO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgfVxuXG4gIC5zaW5nbGUtam9iIHtcbiAgICAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIgLnN1Yi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAuNWVtIDBlbSAxZW07XG4gIH1cblxuICBoMSBwIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gIH1cblxuICAuc2luZ2xlLXBlb3BsZSB7XG4gICAgLnNpZGViYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1jb250YWluZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMGVtO1xuICAgIH1cblxuICAgIC5wZW9wbGUtdGlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwZW07XG4gICAgfVxuXG4gIH1cblxuICAuc21hbGxlci1oZXJvIC5ncmVlbi1iYXIge1xuICAgIHotaW5kZXg6IDA7XG4gICAgaGVpZ2h0OiA4NXB4O1xuICB9XG5cbiAgLnNtYWxsZXItaGVybyAuZ3JpZC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDg1cHg7XG4gIH1cblxuICAuc2luZ2xlLXBlb3BsZSAubWFpbi1jb250ZW50IHN0cm9uZywgLnNpbmdsZS1wZW9wbGUgLm1haW4tY29udGVudCBiIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gIH1cblxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLnNpZGViYXIge1xuICAgIHBhZGRpbmc6IDFlbSAwZW0gMGVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmM7XG4gIH1cblxuICAuc2luZ2xlLXBlb3BsZSAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgbWFyZ2luOiAwZW07XG4gIH1cblxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIGxpIGEge1xuICAgIHBhZGRpbmc6IDRweCAwcHg7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICB9XG5cbiAgLmRyb3Bkb3duLW9wdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZmFmNjtcbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLmlzLWFjdGl2ZSBhLCAuc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmYWY2O1xuICB9XG5cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZmFmNjtcbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLmNvbnRlbnQgLmV4cGVydC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweCAwcHggMHB4O1xuICB9XG5cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAuaG9tZS1zZWN0b3JzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAuc2YtZmllbGQtc2VhcmNoOmFmdGVyIHtcbiAgICBsZWZ0OiA0NXB4O1xuICAgIHRvcDogNDFweDtcbiAgfVxuXG4gIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwgaW5wdXQge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjMDY2ZDM3O1xuICAgIHBhZGRpbmctbGVmdDogNTRweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5zZWFyY2hhbmRmaWx0ZXIgc2VsZWN0LnNmLWlucHV0LXNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLnNpZGViYXItY29udGFpbmVyIC5tYWluLWNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxuXG4gIC5icmVhZGNydW1iIGhyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc2VjdG9yLWRyb3Bkb3duLXdyYXBwZXIge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAuYXJlYS1kcm9wZG93bi13cmFwcGVyIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc2VjdG9yLWRyb3Bkb3duLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmFyZWEtZHJvcGRvd24td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc2VjdG9yLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMHB4IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2NDgyNDtcbiAgICBwYWRkaW5nOiAyMHB4IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cblxuICAuYXJlYS1kcm9wZG93bi13cmFwcGVyIC5idXR0b24ge1xuICAgIGJvcmRlcjogMHB4O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjQ4MjQ7XG4gICAgcGFkZGluZzogMjBweCAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgfVxuXG4gIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgfVxuXG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwZW0gMGVtIDEuNWVtO1xuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUge1xuICAgIHRvcDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIHdpZHRoOiA4NSU7XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuZHJvcGRvd24tcGFuZSB7XG4gICAgcGFkZGluZzogMmVtIDFlbSAxZW07XG4gICAgYm9yZGVyOiAwcHggc29saWQgI2NhY2FjYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOSwgNzEsIDM2KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwZW0gMS41ZW07XG4gIH1cblxuICAuc2YtZmllbGQtc2VhcmNoOmFmdGVyIHtcbiAgICBsZWZ0OiAyMnB4O1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIHRvcDogNDdweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuZHJvcGRvd24tcGFuZSB1bCBsaSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDBlbSAwZW0gMC41ZW07XG4gIH1cblxuICAuc2VjdG9yLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUge1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMWVtO1xuICAgIGJvcmRlcjogMHB4IHNvbGlkICNjYWNhY2E7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5NDcyNDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzAyNTMyNjtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMGVtIDBlbSAxLjVlbTtcbiAgfVxuXG4gIC5zZWN0b3ItZHJvcGRvd24td3JhcHBlciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cblxuICAua25vd2xlZGdlLXBhZ2UgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgICBsaSB7XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTdweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMjdweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDk0NzI0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAua25vd2xlZGdlLXBhZ2Uge1xuXG4gICAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMWVtIDBlbSAyZW07XG4gICAgfVxuICB9XG5cblxufVxuXG4uc21hbGxlci1oZXJvIC5ncmlkLWNvbnRhaW5lciB7XG5cbn1cblxuLmt0bi1zdWJtZW51IHtcbiAgcGFkZGluZzogMjVweCAyZW07XG59XG5cbi5ob21lLXBhZ2UgLnNlY3RvcnMtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IC0yZW07XG4gIHBhZGRpbmctdG9wOiA0ZW07XG4gIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcbn1cblxuLmhvbWUtc2VjdG9ycyAua25vd2xlZGdlLWNlbnRyZS10aWxlcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1jb250YWluZXIge1xuICB3aWR0aDogNjUlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBtYXJnaW46IDBweDtcblxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogNGVtO1xuICB9XG5cbiAgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxufVxuXG4ua25vd2xlZGdlLWNlbnRyZS10aWxlcyB7XG4gIHBhZGRpbmc6IDJlbTtcbn1cblxuLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxMjVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzNyU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrdG5fZGFyaztcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuXG4gIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICB9XG59XG5cbi5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5pbWFnZSAuaW1nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGt0bl9kYXJrO1xufVxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIHtcbiAgd2lkdGg6IDQzJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xuICBtYXJnaW4tcmlnaHQ6IDQlO1xufVxuXG4uaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIG1pbi1oZWlnaHQ6IDBweDtcbn1cblxuLmhvbWUtc2VjdG9ycyB7XG4gIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIHRvcDogLTM5cHggIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAtNDIuNSUgIWltcG9ydGFudDtcblxuICAgICAgd2lkdGg6IDM4cHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMzhweCAhaW1wb3J0YW50O1xuXG4gICAgICAmOmFmdGVyIHtcblxuICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkICNmZmZmZmY7XG5cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICB0b3A6IC0zOXB4ICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogLTUwJSAhaW1wb3J0YW50O1xuXG4gICAgICB3aWR0aDogMzhweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuXG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICNmZmZmZmY7XG5cblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLXNsaWRlIC5jb250ZW50IHtcbiAgd2lkdGg6IDUzJTtcbiAgcGFkZGluZzogMGVtIDFlbTtcblxuXG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmRlZmF1bHQtbGluayB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG59XG5cbi5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5zd2lwZXItc2xpZGUgLmNvcHktY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDBlbSAxZW07XG4gIH1cbn1cblxuLmZlYXR1cmVkLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBjb2xvcjogJGt0bl9kYXJrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIGxpIGEge1xuICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgZm9udC1zaXplOiAxN3B4O1xufVxuXG4uaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24gLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG59XG5cbi5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLmlzLWFjdGl2ZSB7XG4gIHdpZHRoOiA5NCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIG1pbi1oZWlnaHQ6IDk1JSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWN0b3JzLWhvbWUtdGl0bGUge1xuXG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAyLjVlbSAxZW0gMGVtO1xuXG4gIHotaW5kZXg6IDk5OTk5O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC41ZW0gMGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwZW07XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICB9XG5cbiAgLnRoZS1jb250ZW50IHtcbiAgICB3aWR0aDogNzE4cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGt0bl9saWdodDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cblxufVxuXG4uY2xvc2VpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAka3RuX2JyaWdodDtcbiAgcGFkZGluZzogNHB4IDI0cHggMTBweDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBjb2xvcjogJGt0bl9kYXJrO1xuICB6LWluZGV4OiA5OTk5OTk7XG59XG5cblxuXG5cblxuLnNlY3RvcnMtbmF2LWNvbnRhaW5lciAudGFicy52ZXJ0aWNhbCAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIGE6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5kcm9wZG93bi1vcHRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gIH1cblxuICAudGFicyAuaXMtYWN0aXZlIC5kcm9wZG93bi1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgfVxufVxuXG4udGFicy1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cblxuLmZ1bmRpbmctdGlsZSBoMyBhIHtcbiAgY29sb3I6ICRrdG5fZGFyaztcbn1cblxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblxuICAuaG9tZS1wYWdlIC5zZWN0b3JzLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBwYWRkaW5nLXRvcDogMGVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgfVxuXG4gIC5rbm93bGVkZ2UtY2VudHJlLXRpbGVzIHtcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cblxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHVsIGxpIGEge1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5jb250YWN0LXBhZ2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0ge1xuICAgIHdpZHRoOiA0OCU7XG4gIH1cblxuICAuc2VjdG9ycy1uYXYtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cblxuICAuY29udGFjdC1wYWdlIC5zbWFsbC1oZXJvIC50ZWwtbnVtYmVyIC50ZWwtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmtub3dsZWRnZS1jZW50cmUtdGlsZXMge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICB9XG5cbiAgLnNlY3RvcnMtbmF2LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMTY2cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzgxMztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgfVxuXG4gIC5ob21lLXNlY3RvcnMgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIC5zd2lwZXItc2xpZGUgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA4NiU7XG4gICAgcGFkZGluZzogMGVtIDFlbTtcbiAgfVxuXG4gIC5mZWF0dXJlZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxuXG4gIC5mZWF0dXJlZC1zZWN0b3ItbmV3cyAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgfVxuXG4gIC5ob21lLXBhZ2UgLnNlY3RvcnMtc2VjdGlvbiAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgYm9yZGVyLXRvcDogMHB4IHNvbGlkICMwMGU2MDE7XG4gICAgcGFkZGluZy10b3A6IDBlbTtcbiAgfVxuXG4gIC5mZWF0dXJlZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjMDAzODEzO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuc3dpcGVyLXNsaWRlIC5pbWFnZSBzcGFuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhvbWUtc2VjdG9ycyAudGFicy1wYW5lbC5pcy1hY3RpdmUgLnN3aXBlci1zbGlkZSAuY29udGVudCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nOiAwZW0gMWVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zZWN0b3JzLW5hdi1jb250YWluZXIgLnRhYnMudmVydGljYWwgLmlzLWFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaG9tZS1zZWN0b3JzIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSAuY29udGVudCB7XG4gICAgcGFkZGluZzogMS41ZW0gMS41ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgfVxuXG4gIC5zbGlkZS1vdXQgLnN1Yi1uYXYtY29udGFpbmVyIC5jb250ZW50IC5jb250YWluLWNvbnRlbnQgLm1haW4tcHJpbWFyeS1tZW51IGxpOmhvdmVyIGRpdjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmt0bi1zdWJtZW51IHtcbiAgICBwYWRkaW5nOiAxM3B4IDBlbTtcbiAgfVxuXG4gIC5jb250YWN0LXBhZ2Ugc3Bhbi53cGNmNy1saXN0LWl0ZW0ge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgLmNvbnRhY3QtcGFnZSAuY2hlY2tib3gtY29udGFpbmVyIHtcblxuXG5cbiAgICAud3BjZjctY2hlY2tib3gge1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB9XG5cbiAgICAgIC8qIFRyYWNrICovXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXI6IDBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvKiBIYW5kbGUgKi9cbiAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGt0bl9icmlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgYm9yZGVyOiAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLyogSGFuZGxlIG9uIGhvdmVyICovXG4gICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRrdG5fbWlkO1xuICAgICAgICBib3JkZXI6IDBweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmNhc2Utc3R1ZHktcGFnZSAuY2FzZS1zdHVkeS10aWxlIC5tYWluLWNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBjb2xvcjogIzAwOTY0MDtcbiAgfVxuXG4gIC5jYXNlLXN0dWR5LXBhZ2UgLmNhc2Utc3R1ZHktdGlsZSAuY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgfVxuXG4gIC5vcHBvcnR1bml0aWVzLXBhZ2UgLnNpZGViYXItY29udGFpbmVyIC5zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYXJyb3ctYWN0aXZlIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cblxuICB9XG59XG5cbi5zaWRlYmFyLW9wdGlvbnMgZm9ybSB1bCBsaS5zZi1maWVsZC10YXhvbm9teS1mdW5kZXIgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcblxuICBzZWxlY3Qge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE5cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGt0bl9icmlnaHQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGt0bl9kYXJrO1xuICB9XG59XG5cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhvbWUtcGFnZSAuc2VjdG9ycy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW07XG4gIH1cbn1cblxuXG5cblxuLnBhZ2luYXRpb24ge1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBwYWRkaW5nLXRvcDogMS41ZW07XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cblxuLnVwdG8tZGF0ZSB7XG5cbiAgaW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuXG59XG5cblxuZm9vdGVyIC5tYWluLWZvb3RlciAubmV3c2xldHRlci1jb250YWluZXIgaDMge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyICB7XG4gbWFyZ2luLXRvcDogMGVtICFpbXBvcnRhbnQ7XG59XG5cbmZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyIC5xYS1pbnB1dC1lbWFpbCB7XG4gIGhlaWdodDogNDlweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLm1haW4tZm9vdGVyIHtcbiAgI3NpZ251cCBwIGxhYmVsIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cblxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc2VjdG9ycy1uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG5cbi5zZWFyY2gtZmlsdGVyLXJlc3VsdHMge1xuICAuZnVuZGluZy10aWxlIGgzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgdWwgbGkgbGFiZWwge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHtcbiAgcGFkZGluZzogMmVtIDAuNWVtIDFlbTtcbn1cblxuLmRyb3Bkb3duLXBhbmUge1xuICB3aWR0aDogMzE1cHg7XG59XG5cbi50ZXh0LWxlZnQtaW1hZ2UtcmlnaHQgLmltYWdlLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDYwMHB4O1xufVxuXG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtbmV3cywgLnBhZ2UtdGVtcGxhdGUtcGFnZS1wZXJzcGVjdGl2ZXMsIC5wYWdlLXRlbXBsYXRlLXBhZ2UtY2FzZS1zdHVkaWVzLCAucGFnZS10ZW1wbGF0ZS1wYWdlLXdlYmluYXJzLCAucGFnZS10ZW1wbGF0ZS1wYWdlLWV2ZW50cyB7XG4gIC5hcmVhLWRyb3Bkb3duLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2YtZmllbGQtc2VhcmNoIGxhYmVsIHtcbiAgICB3aWR0aDogOTglO1xuICB9XG5cbiAgLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIgLmNvbnRlbnQgZm9ybSB7XG4gICAgd2lkdGg6IDc2LjUlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG59XG5cblxuIC5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIHtcblxuXG4gIC5zZi1maWVsZC1zZWFyY2ggbGFiZWwge1xuICAgIHdpZHRoOiA5OCU7XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciAuY29udGVudCBmb3JtIHtcbiAgICB3aWR0aDogNzYuNSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICB3aWR0aDogNzQuNSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNmLWZpZWxkLXNlYXJjaCB7XG4gICAgICB3aWR0aDogNzAlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOiA1NiU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2YtZmllbGQtdGF4b25vbXktZXZlbnRfc3RhdHVzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTNweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNTMyNjtcbiAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBib3JkZXI6MHB4O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBsYWJlbCwgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTdweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogICAjMDY0ODI0O1xuICAgICAgICB9XG5cblxuXG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxOTBweDtcbiAgICAgICAgICB0b3A6IDI3cHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAka3RuX2JyaWdodDtcbiAgICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICBsZWZ0OiAxNTJweDtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuXG59XG5cblxuXG4ua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5zd2lwZXItc2xpZGUgLmhvdmVyIHtcbiAgcGFkZGluZzogMHB4IDJlbTtcblxuICAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gIH1cbn1cblxuLmt0bi1wZW9wbGUgLnRleHQtY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1idXR0b24tcHJldiB7XG4gIHRvcDogOTElO1xufVxuXG4ua3RuLXBlb3BsZSAudGV4dC1jb250YWluZXIgLnBlb3BsZS1zd2lwZXItY29udGFpbmVyIC5wZW9wbGUtc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgdG9wOiA5MSU7XG59XG5cbi5rdG4tcGVvcGxlIC50ZXh0LWNvbnRhaW5lciAucGVvcGxlLXN3aXBlci1jb250YWluZXIgLnN3aXBlci1zbGlkZSAuaG92ZXIgLmRlZmF1bHQtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cblxuLmxvZ28tYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogMzdweDtcbiAgICB3aWR0aDogMjglO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ0cHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGhlaWdodDogNDFweDtcbiAgICAgIHdpZHRoOiA2OCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTlweDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgbGVmdDogOHB4O1xuICAgIH1cblxuICB9XG59XG5cbi5zbGlkZS1vdXQtbWVudSAubG9nby1hbmNob3Igc3BhbiB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuXG59XG5cbi5wYWdlLXRlbXBsYXRlLXBhZ2UtZXZlbnRzIHtcbiAgLmV2ZW50LXRpbGUge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuXG4uZW1haWwtc3Vic2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDEzcHg7XG59XG5cblxuLmluZm9ybWF0aW9uLWJsb2NrIHtcbiAgcGFkZGluZy1sZWZ0OiA0ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwZW07XG4gICAgcGFkZGluZy1yaWdodDogMGVtO1xuICB9XG5cblxufVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLnN1Yi1uYXYtY29udGVudCAuc3ViLW5hdi1tYWluLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5uYXZpZ2F0aW9uLWV2ZW50LXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5cbi5zZWN0b3JzLXNlY3Rpb24gLnByb2dyYW1tZXMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4udmlldy1uZXdzLWhvbWUtc2VjdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyNnB4O1xuICByaWdodDogMS41ZW07XG59XG5cbi5jdGEtc2VjdGlvbiB7XG5cbiAgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNpbmdsZS1ldmVudCAuc2lkZWJhci1jb250YWluZXIgLm1haW4tY29udGVudCB7XG5cbiAgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxufVxuIiwiZm9vdGVyIHtcblxuICAuZm9vdGVyLWNvbnRhY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbGlnaHQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDJlbSAwZW07XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMzlweDtcbiAgICB9XG4gIH1cblxuICAubWFpbi1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fbWlkO1xuICAgIHBhZGRpbmc6IDJlbSAxZW0gMS41ZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIwLzA0L2Zvb3Rlci1iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQ0JTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY29sb3I6ICRrdG5fYnJpZ2h0O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDVlbTtcbiAgICAgIHdpZHRoOiA4NCU7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgfVxuXG4gICAgICAucWEtaW5wdXQtZW1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI1MzI2O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDA4MjM5O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcblxuICAgICAgfVxuXG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogMjMlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzgyMzk7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hZHZpY2UtY29udGFpbmVyIHtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnByb2dyYW1tZXMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6OSU7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMGQ2MzMzO1xuICAgIH1cblxuICAgIC5mb290ZXItbmF2IHtcblxuICAgICAgLnNvY2lhbCB7XG4gICAgICAgIGNvbG9yOiAka3RuX2JyaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNDFweDtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICBjb2xvcjogJGt0bl9icmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb3B5cmlnaHQtY29udGFpbmVyIHtcbiAgICAgIGNvbG9yOiAjMDEyZTBiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cblxuICB9XG5cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAucHJvZ3JhbW1lcy1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgfVxuXG4gIGZvb3RlciAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAzZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWNvbnRhaW5lciAucWEtaW5wdXQtZW1haWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrdG5fZGFyaztcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cblxuICBmb290ZXIgLmZvb3Rlci1uYXYge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICB9XG5cbiAgZm9vdGVyIC5tYWluLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgfVxuXG4gIGZvb3RlciAubWFpbi1mb290ZXIgLmZvb3Rlci1uYXYgLnNvY2lhbCBhIC5mYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICBmb290ZXIgLmZvb3Rlci1jb250YWN0IGgyIHtcbiAgICBmb250LXNpemU6IDMxcHg7XG4gIH1cblxuICBmb290ZXIgLmZvb3Rlci1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAyZW0gMGVtO1xuICB9XG5cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICBmb290ZXIgLm1haW4tZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAyZW0gMC41ZW0gMS41ZW07XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIGgzIGEge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIGZvb3RlciAubWFpbi1mb290ZXIgLmZvb3Rlci1uYXYgLnNvY2lhbCBzcGFuIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5jb3B5cmlnaHQtY29udGFpbmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMGVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWNvbnRhaW5lciAucWEtaW5wdXQtZW1haWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cblxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWNvbnRhaW5lciBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDI5NjQwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjk2NDA7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgfVxuXG4gIGZvb3RlciAuZm9vdGVyLWNvbnRhY3QgaDIge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuXG4gIGZvb3RlciAuZm9vdGVyLWNvbnRhY3Qge1xuICAgIHBhZGRpbmc6IDVweCAwZW0gMHB4O1xuICB9XG5cblxufVxuIl19 */
