@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Playfair+Display:400,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=PT+Sans:400,700&display=swap");
@import url("https://fonts.googleapis.com/css?family=PT+Sans+Caption|PT+Sans:400,700|Playfair+Display:400,400i,700,700i&display=swap");
.clearfix::before, .clearfix::after {
  content: ' ';
  display: table;
  clear: both; }

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

/**
 * 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: #FFFFFF;
  font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 400;
  line-height: 1.4;
  color: #000000;
  -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, .error404 .body-main #content.widecolumn {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  max-width: 90rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container, .error404 .body-main #content.widecolumn {
      padding-right: 2.5rem;
      padding-left: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .grid-container, .error404 .body-main #content.widecolumn {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 75em) {
    .grid-container, .error404 .body-main #content.widecolumn {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 90em) {
    .grid-container, .error404 .body-main #content.widecolumn {
      padding-right: 4.0625rem;
      padding-left: 4.0625rem; } }
  .grid-container.fluid, .error404 .body-main .fluid#content.widecolumn {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid, .error404 .body-main .fluid#content.widecolumn {
        padding-right: 2.5rem;
        padding-left: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .grid-container.fluid, .error404 .body-main .fluid#content.widecolumn {
        padding-right: 3rem;
        padding-left: 3rem; } }
    @media screen and (min-width: 75em) {
      .grid-container.fluid, .error404 .body-main .fluid#content.widecolumn {
        padding-right: 3rem;
        padding-left: 3rem; } }
    @media screen and (min-width: 90em) {
      .grid-container.fluid, .error404 .body-main .fluid#content.widecolumn {
        padding-right: 4.0625rem;
        padding-left: 4.0625rem; } }
  .grid-container.full, .error404 .body-main .full#content.widecolumn {
    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; } }

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

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-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%; } }

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

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

.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; } }
  @media print, screen and (min-width: 64em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -1.125rem;
      margin-left: -1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -1.125rem;
      margin-left: -1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -1.125rem;
      margin-left: -1.125rem; } }

.grid-container:not(.full) > .grid-padding-x, .error404 .body-main #content.widecolumn: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, .error404 .body-main #content.widecolumn:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .grid-container:not(.full) > .grid-padding-x, .error404 .body-main #content.widecolumn:not(.full) > .grid-padding-x {
      margin-right: -1.125rem;
      margin-left: -1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-container:not(.full) > .grid-padding-x, .error404 .body-main #content.widecolumn:not(.full) > .grid-padding-x {
      margin-right: -1.125rem;
      margin-left: -1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-container:not(.full) > .grid-padding-x, .error404 .body-main #content.widecolumn:not(.full) > .grid-padding-x {
      margin-right: -1.125rem;
      margin-left: -1.125rem; } }

.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; } }
  @media print, screen and (min-width: 64em) {
    .grid-padding-x > .cell {
      padding-right: 1.125rem;
      padding-left: 1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-padding-x > .cell {
      padding-right: 1.125rem;
      padding-left: 1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-padding-x > .cell {
      padding-right: 1.125rem;
      padding-left: 1.125rem; } }

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

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

@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-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.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); }
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 2.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 2.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 2.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 2.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 2.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 2.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 2.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 2.25rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 90em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-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% + 1.125rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.125rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.125rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.125rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.125rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.125rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.125rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.125rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.125rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.125rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.125rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.125rem); } }

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

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

.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; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-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%; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-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; } }
  @media print, screen and (min-width: 64em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }

.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; } }
  @media print, screen and (min-width: 64em) {
    .grid-padding-y > .cell {
      padding-top: 1.125rem;
      padding-bottom: 1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-padding-y > .cell {
      padding-top: 1.125rem;
      padding-bottom: 1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-padding-y > .cell {
      padding-top: 1.125rem;
      padding-bottom: 1.125rem; } }

.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; } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-margin-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-margin-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  .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; } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.25rem);
      margin-top: 1.125rem;
      margin-bottom: 1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.25rem);
      margin-top: 1.125rem;
      margin-bottom: 1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.25rem);
      margin-top: 1.125rem;
      margin-bottom: 1.125rem; } }
  .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 > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.25rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 2.25rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 2.25rem); } }

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

@media screen and (min-width: 75em) {
  .xlarge-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 .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xlarge-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%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 90em) {
  .xxlarge-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 .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xxlarge-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%; }
    .xxlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xxlarge-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; } }

@media screen and (min-width: 75em) {
  .grid-y.xlarge-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 screen and (min-width: 90em) {
  .grid-y.xxlarge-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%; } }

@media screen and (min-width: 75em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 90em) {
  .cell .grid-y.xxlarge-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; } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-margin-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-margin-y {
      margin-top: -1.125rem;
      margin-bottom: -1.125rem; } }
  .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; } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.25rem);
      margin-top: 1.125rem;
      margin-bottom: 1.125rem; } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.25rem);
      margin-top: 1.125rem;
      margin-bottom: 1.125rem; } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2.25rem);
      margin-top: 1.125rem;
      margin-bottom: 1.125rem; } }
  .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 > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.25rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 2.25rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 2.25rem); }
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 2.25rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 2.25rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 2.25rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 2.25rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 2.25rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 2.25rem); } }

.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 + 2.25rem); } }
  @media screen and (min-width: 75em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 2.25rem); } }
  @media screen and (min-width: 90em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 2.25rem); } }

@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 + 2.25rem); } }

@media screen and (min-width: 75em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 2.25rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 2.25rem); } }

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: 400;
  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: #626262; }

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.625rem; }
  h3, .h3 {
    font-size: 2.125rem; }
  h4, .h4 {
    font-size: 1.5rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  h6, .h6 {
    font-size: 1.125rem; } }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.625rem; }
  h3, .h3 {
    font-size: 2.25rem; }
  h4, .h4 {
    font-size: 1.75rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  h6, .h6 {
    font-size: 1.125rem; } }

@media screen and (min-width: 90em) {
  h1, .h1 {
    font-size: 5rem; }
  h2, .h2 {
    font-size: 3.625rem; }
  h3, .h3 {
    font-size: 2.25rem; }
  h4, .h4 {
    font-size: 1.75rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  h6, .h6 {
    font-size: 1.125rem; } }

a {
  line-height: inherit;
  color: #2E727F;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #28626d; }
  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 #626262;
  border-left: 0; }

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

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: 700; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #626262; }
  blockquote, blockquote p {
    line-height: 1.4;
    color: #2C2C2C; }

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

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

figure {
  margin: 0; }

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

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-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 #2C2C2C;
    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: #2E727F;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #27616c;
    color: #FFFFFF; }
  .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: #2E727F;
    color: #FFFFFF; }
    .button.primary:hover, .button.primary:focus {
      background-color: #255b66;
      color: #FFFFFF; }
  .button.secondary {
    background-color: #767676;
    color: #000000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #000000; }
  .button.success {
    background-color: #3adb76;
    color: #000000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000000; }
  .button.warning {
    background-color: #ffae00;
    color: #000000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000000; }
  .button.alert {
    background-color: #cc4b37;
    color: #000000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button.disabled, .button[disabled] {
    opacity: 0.4;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #2E727F;
      color: #FFFFFF; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.4;
      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: #2E727F;
        color: #FFFFFF; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.4;
      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: #000000; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.4;
      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: #000000; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.4;
      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: #000000; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.4;
      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: #000000; }
  .button.hollow {
    border: 1px solid #2E727F;
    color: #2E727F; }
    .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: #173940;
      color: #173940; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #2E727F;
        color: #2E727F; }
    .button.hollow.primary {
      border: 1px solid #2E727F;
      color: #2E727F; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #173940;
        color: #173940; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #2E727F;
          color: #2E727F; }
    .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 #2E727F;
    color: #2E727F; }
    .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: #173940;
      color: #173940; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #2E727F;
        color: #2E727F; }
    .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 #2E727F;
      color: #2E727F; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #173940;
        color: #173940; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #2E727F;
          color: #2E727F; }
      .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: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #2E727F; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #2E727F; }
  .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.8375rem;
  margin: 0 0 1rem;
  padding: 0.75rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background-color: #f7f7f7;
  box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: #000000;
  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: 2px solid #2E727F;
    background-color: #FFFFFF;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    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: #626262; }

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

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

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #f7f7f7;
  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: 400;
  line-height: 1.2;
  color: rgba(0, 0, 0, 0.6); }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.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 #e6e6e6;
  background: #f7f7f7;
  color: #000000;
  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 #626262; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.8375rem;
  margin: 0 0 1rem;
  padding: 0.75rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: #000000;
  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%2846, 114, 127%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: 2px solid #2E727F;
    background-color: #FFFFFF;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #f7f7f7;
    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: #faedeb; }
  .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: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #FFFFFF;
  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: #2E727F; }
  :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: #FFFFFF;
  color: #000000; }
  :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: #FFFFFF 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: #FFFFFF 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: #2E727F;
  color: #FFFFFF; }
  .badge.primary {
    background: #2E727F;
    color: #FFFFFF; }
  .badge.secondary {
    background: #767676;
    color: #000000; }
  .badge.success {
    background: #3adb76;
    color: #000000; }
  .badge.warning {
    background: #ffae00;
    color: #000000; }
  .badge.alert {
    background: #cc4b37;
    color: #000000; }

.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: #000000;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #626262; }
  .breadcrumbs a {
    color: #2E727F; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #626262;
    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: #2E727F;
    color: #FFFFFF; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #255b66;
      color: #FFFFFF; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #000000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #000000; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #000000; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #000000; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #000000; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #000000; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #000000; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #000000; }
  .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(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #daeef2;
    color: #000000; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #000000; }
  .callout.success {
    background-color: #e1faea;
    color: #000000; }
  .callout.warning {
    background-color: #fff3d9;
    color: #000000; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #000000; }
  .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: #FFFFFF;
  box-shadow: none;
  overflow: hidden;
  color: #000000; }
  .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: #2C2C2C;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .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; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-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: #2E727F;
    color: #FFFFFF; }
  .menu .active > a {
    background: #2E727F;
    color: #FFFFFF; }
  .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: #FFFFFF;
    box-shadow: 0 7px 0 #FFFFFF, 0 14px 0 #FFFFFF;
    content: ''; }
  .menu-icon:hover::after {
    background: #626262;
    box-shadow: 0 7px 0 #626262, 0 14px 0 #626262; }

.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: #000000;
    box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #2C2C2C;
    box-shadow: 0 7px 0 #2C2C2C, 0 14px 0 #2C2C2C; }

.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: #FFFFFF; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #FFFFFF;
  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 #2E727F; }

.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 #2E727F; }

.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 #2E727F 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 #2E727F 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 #626262;
  border-radius: 0;
  background-color: #FFFFFF;
  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: #2E727F 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 #2E727F 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 #2E727F; }

@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: #2E727F 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 #2E727F 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 #2E727F; } }

@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: #2E727F 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 #2E727F 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 #2E727F; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xlarge-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: #2E727F transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xlarge-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 #2E727F transparent transparent; }
  .dropdown.menu.xlarge-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 #2E727F; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.xxlarge-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: #2E727F transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.xxlarge-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 #2E727F transparent transparent; }
  .dropdown.menu.xxlarge-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 #2E727F; } }

.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 #626262;
  background: #FFFFFF; }
  .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 #2E727F 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 #2E727F; }
  .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: #2E727F;
  color: #FFFFFF; }
  .label.primary {
    background: #2E727F;
    color: #FFFFFF; }
  .label.secondary {
    background: #767676;
    color: #000000; }
  .label.success {
    background: #3adb76;
    color: #000000; }
  .label.warning {
    background: #ffae00;
    color: #000000; }
  .label.alert {
    background: #cc4b37;
    color: #000000; }

.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(255, 255, 255, 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: #FFFFFF; }
  [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(0, 0, 0, 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: #FFFFFF; }
  [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(0, 0, 0, 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(0, 0, 0, 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(0, 0, 0, 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(0, 0, 0, 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(0, 0, 0, 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 screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xxlarge ~ .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; } }

@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .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(0, 0, 0, 0.5);
  color: #FFFFFF; }

.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: #FFFFFF; }
  [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(0, 0, 0, 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: #626262; }
    .orbit-bullets button:hover {
      background-color: #2C2C2C; }
    .orbit-bullets button.is-active {
      background-color: #2C2C2C; }

.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.25rem;
    border-radius: 2px;
    font-size: 1rem;
    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.3125rem 0.625rem;
    border-radius: 2px;
    color: #626262; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.3125rem 0.625rem;
    background: #2E727F;
    color: #FFFFFF;
    cursor: default; }
  .pagination .disabled {
    padding: 0.3125rem 0.625rem;
    color: #e6e6e6;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.3125rem 0.625rem;
    content: '\2026';
    color: #000000; }

.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: #626262; }
  .progress.primary .progress-meter {
    background-color: #2E727F; }
  .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: #2E727F; }

.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: #FFFFFF;
  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;
     -moz-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: #626262;
  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: #2E727F;
  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: #27616c; }
  .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;
     -moz-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(0, 0, 0, 0.85);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 2rem;
  border: none;
  border-radius: 3px;
  background-color: #FFFFFF;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 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: #FFFFFF;
  -webkit-user-select: none;
     -moz-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: #626262;
  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: #FFFFFF;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #2E727F; }
    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 #f2f2f2;
    background-color: #FFFFFF; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700; }
  thead {
    background: #f9f9f9;
    color: #000000; }
  tfoot {
    background: #f2f2f2;
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f2f2f2; }
  table.unstriped tbody {
    background-color: #FFFFFF; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #FFFFFF; }

@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: #f4f4f4; }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  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: #2E727F; }
  .tabs.primary > li > a {
    color: #FFFFFF; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #327d8b; }

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

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #FFFFFF;
  color: #000000;
  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 #FFFFFF;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 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(46, 114, 127, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #2C3840;
  color: #FFFFFF;
  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 #2C2C2C;
  font-weight: 700;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #000000;
  font-size: 80%;
  color: #FFFFFF; }
  .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 #000000;
    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: #000000 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 #000000;
    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 #000000 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%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  .top-bar.stacked-for-xxlarge {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .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; } }

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

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

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

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

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

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

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

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge-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; } }

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

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-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; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

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

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

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

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

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

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

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

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.section-padding {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .section-padding {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .section-padding {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    .section-padding {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    .section-padding {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }

section {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    section {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    section {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    section {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    section {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }

.hidden, .load-more-hidden {
  display: none !important; }

address {
  font-style: normal; }

.image-cell {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

body .show-when-logged-in {
  display: none; }

body .show-when-logged-out {
  display: block; }

body.logged-in .show-when-logged-in {
  display: block; }

body.logged-in .show-when-logged-out {
  display: none; }

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

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

.mobile-menu {
  display: none; }

.off-canvas > ul.menu {
  height: 100vh;
  padding: 1rem; }
  .off-canvas > ul.menu .is-active {
    border-color: transparent; }
    .off-canvas > ul.menu .is-active > a {
      background: transparent; }
  .off-canvas > ul.menu .current-menu-ancestor > a {
    color: #2E727F; }
  .off-canvas > ul.menu .current-menu-item > a {
    border-left-color: #2E727F; }
  .off-canvas > ul.menu a {
    color: #000000;
    font-size: 0.9375rem;
    border-left: 2px solid transparent;
    background-color: transparent;
    padding: 1rem 0.7rem; }
    .off-canvas > ul.menu a:hover, .off-canvas > ul.menu a:active, .off-canvas > ul.menu a:focus {
      background-color: rgba(118, 118, 118, 0.05); }

.off-canvas ul.menu.nested {
  margin-right: 0;
  margin-left: 0;
  padding-left: 1rem;
  border-top: 2px solid #626262; }
  .off-canvas ul.menu.nested a {
    border-left: 2px solid #626262;
    background-color: #F4FCFD; }
    .off-canvas ul.menu.nested a:hover, .off-canvas ul.menu.nested a:focus {
      background-color: #E0EDF0; }
  .off-canvas ul.menu.nested .current-menu-item > a {
    border-left-color: #2E727F; }

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

.off-canvas-content {
  transition: all 0.5s ease; }
  .off-canvas-content.is-open-right {
    position: relative; }
    .off-canvas-content.is-open-right:after {
      content: ' ';
      position: absolute;
      top: 0rem;
      bottom: 0rem;
      left: 0rem;
      right: 0rem;
      background-color: rgba(0, 0, 0, 0.8);
      z-index: 10; }

.js-off-canvas-overlay.is-visible {
  background: transparent; }

.title-bar {
  transition: all 0.5s ease;
  background-color: #FFFFFF; }
  .title-bar .custom-menu-icon {
    font-size: 1.5rem;
    cursor: pointer; }
    .title-bar .custom-menu-icon:hover span::before, .title-bar .custom-menu-icon:active span::before, .title-bar .custom-menu-icon:focus span::before {
      color: #2E727F; }
  .title-bar a.silent {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem; }
  .title-bar .site-logo, .title-bar .site-logo-inverted {
    height: 2rem;
    width: auto; }
  .title-bar .title-bar-left {
    padding-left: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      .title-bar .title-bar-left {
        padding-left: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .title-bar .title-bar-left {
        padding-left: 3rem; } }
    @media screen and (min-width: 75em) {
      .title-bar .title-bar-left {
        padding-left: 3rem; } }
    @media screen and (min-width: 90em) {
      .title-bar .title-bar-left {
        padding-left: 4.0625rem; } }
  .title-bar .title-bar-right {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-right: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      .title-bar .title-bar-right {
        padding-right: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .title-bar .title-bar-right {
        padding-right: 3rem; } }
    @media screen and (min-width: 75em) {
      .title-bar .title-bar-right {
        padding-right: 3rem; } }
    @media screen and (min-width: 90em) {
      .title-bar .title-bar-right {
        padding-right: 4.0625rem; } }
    .title-bar .title-bar-right .searchform-cont form .input-group button.searchsubmit:hover, .title-bar .title-bar-right .searchform-cont form .input-group button.searchsubmit:focus, .title-bar .title-bar-right .searchform-cont form .input-group button.searchsubmit:active {
      color: #2E727F; }

body.offcanvas:not(.home) .site-header {
  background-color: #FFFFFF; }
  body.offcanvas:not(.home) .site-header .site-desktop-title {
    padding-bottom: 1rem; }
  body.offcanvas:not(.home) .site-header.sticky {
    position: fixed;
    top: 0rem;
    left: 0rem;
    right: 0rem;
    z-index: 100;
    box-shadow: 0px 1px 10px rgba(118, 118, 118, 0.25); }
    body.offcanvas:not(.home) .site-header.sticky.off-canvas-pushed {
      z-index: 2;
      left: -250px; }

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

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

.top-bar {
  background-color: #FFFFFF;
  height: auto;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  transition: height 0.3s ease-in-out, width 0.3s ease-in-out;
  display: block; }
  .top-bar ul {
    background-color: transparent; }
  .top-bar .top-bar-title {
    margin: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .top-bar .top-bar-title .nav-logo-link {
      font-size: 1rem;
      line-height: 1.8;
      margin-left: 3rem; }
      @media screen and (min-width: 75em) {
        .top-bar .top-bar-title .nav-logo-link {
          margin-left: 3rem; } }
      @media screen and (min-width: 90em) {
        .top-bar .top-bar-title .nav-logo-link {
          margin-left: 4.0625rem; } }
  .top-bar .menu .menu-item {
    padding: 0 1rem 0.5rem; }
    .top-bar .menu .menu-item a {
      color: #000000;
      font-size: 1rem;
      line-height: 1;
      padding: 0;
      display: inline-block;
      position: relative;
      display: inline-block;
      padding-bottom: 0;
      position: relative; }
      .top-bar .menu .menu-item a:before {
        content: '';
        display: block;
        height: 2px;
        width: 0;
        background: transparent;
        transition: width .5s ease, background-color .5s ease;
        margin-top: -2px;
        position: absolute;
        right: auto;
        left: 0;
        bottom: -2px;
        top: auto; }
      .top-bar .menu .menu-item a:hover:before, .top-bar .menu .menu-item a:focus:before, .top-bar .menu .menu-item a:active:before {
        width: 100%;
        background: #2E727F; }
      .top-bar .menu .menu-item a::before {
        bottom: -5px; }
      .top-bar .menu .menu-item a:hover:not(.button) {
        color: #2E727F;
        position: relative; }
        .top-bar .menu .menu-item a:hover:not(.button)::before {
          background-color: #2E727F; }
  .top-bar ul.menu:not(.submenu) > li {
    padding-top: 0rem;
    padding-bottom: 0rem; }
    .top-bar ul.menu:not(.submenu) > li > a {
      font-size: 1rem;
      text-transform: none; }
    .top-bar ul.menu:not(.submenu) > li > .submenu {
      background-color: transparent;
      z-index: 0;
      min-width: auto;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content; }
      .top-bar ul.menu:not(.submenu) > li > .submenu li.menu-item {
        margin: 0; }
        .top-bar ul.menu:not(.submenu) > li > .submenu li.menu-item a {
          margin: 0; }
  .top-bar .menu > li.is-active > a {
    color: #2E727F;
    background: transparent; }
  .top-bar .menu > li.current_page_item > a {
    color: #2E727F; }
  .top-bar .menu .active > a {
    background-color: #626262; }
  .top-bar .dropdown.menu:first-child > li.is-dropdown-submenu-parent > a::after {
    right: 1rem; }
  .top-bar .dropdown.menu .submenu {
    border: 0; }
  .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; }
  .top-bar .dropdown.menu li.is-dropdown-submenu-parent > a {
    padding-right: 2.5rem;
    white-space: nowrap; }
  .top-bar .dropdown.menu li.is-dropdown-submenu-parent.is-active > a::before {
    width: calc(100% - 2.25rem);
    background-color: #2E727F;
    bottom: -5px; }
  .top-bar .dropdown.menu li.is-dropdown-submenu-parent ul.is-dropdown-submenu {
    background-color: #F4FCFD;
    padding: 0.5rem 1.5rem;
    margin-top: 1rem;
    min-width: 100%; }
    .top-bar .dropdown.menu li.is-dropdown-submenu-parent ul.is-dropdown-submenu li.menu-item {
      padding: 0rem 0rem 0.5rem 0rem; }
      .top-bar .dropdown.menu li.is-dropdown-submenu-parent ul.is-dropdown-submenu li.menu-item:first-child {
        padding-top: 0.5rem; }
      .top-bar .dropdown.menu li.is-dropdown-submenu-parent ul.is-dropdown-submenu li.menu-item > a {
        color: #000000; }
  .top-bar .dropdown.menu li.opens-left .is-dropdown-submenu {
    z-index: 4;
    background-color: #FFFFFF;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    right: 0;
    left: 0; }
  .top-bar .dropdown.menu li.is-dropdown-submenu-parent > a::after {
    content: '\f107';
    height: auto;
    width: auto;
    font-family: 'FontAwesome';
    border: none;
    margin: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    bottom: auto; }
  .top-bar .dropdown.menu li.is-dropdown-submenu-parent > a:hover::before, .top-bar .dropdown.menu li.is-dropdown-submenu-parent > a:focus::before, .top-bar .dropdown.menu li.is-dropdown-submenu-parent > a:active::before {
    width: calc(100% - 2.25rem); }
  .top-bar .site-logo, .top-bar .site-logo-inverted {
    width: auto;
    transition: all 0.5s ease;
    height: 3.3125rem; }
  .top-bar .top-bar-r-premenu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative;
    max-height: 3.125rem; }
    .top-bar .top-bar-r-premenu:after {
      content: ' ';
      display: table;
      clear: both;
      min-height: 3.0625rem; }
    .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a {
      position: relative;
      padding: 0rem;
      color: #2C2C2C;
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: 1.5px; }
      .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:hover, .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:focus, .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:active {
        color: #2E727F;
        opacity: 1; }
        .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:hover:after, .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:focus:after, .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:active:after {
          content: none; }
      .top-bar .top-bar-r-premenu .menu > li:not(.menu-text) > a:after {
        content: '|';
        display: block;
        position: absolute;
        right: -0.1875rem;
        bottom: 1rem;
        color: #000000;
        opacity: 0.2;
        display: none; }
    .top-bar .top-bar-r-premenu .premenu-cont {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0; }
    .top-bar .top-bar-r-premenu .searchform-cont {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      height: 100%;
      padding: 0rem;
      margin-right: 1rem; }
      .top-bar .top-bar-r-premenu .searchform-cont input {
        font-size: 0.875rem; }
    .top-bar .top-bar-r-premenu .login-menu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-left: 1rem;
      margin-right: 1rem;
      position: relative; }
      .top-bar .top-bar-r-premenu .login-menu a, .top-bar .top-bar-r-premenu .login-menu .login-status {
        color: #2C2C2C;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        font-size: 0.875rem;
        line-height: 1.35714;
        display: inline-block;
        padding-bottom: 0;
        position: relative; }
        .top-bar .top-bar-r-premenu .login-menu a:before, .top-bar .top-bar-r-premenu .login-menu .login-status:before {
          content: '';
          display: block;
          height: 2px;
          width: 0;
          background: transparent;
          transition: width .5s ease, background-color .5s ease;
          margin-top: -2px;
          position: absolute;
          right: auto;
          left: 0;
          bottom: -2px;
          top: auto; }
        .top-bar .top-bar-r-premenu .login-menu a:hover:before, .top-bar .top-bar-r-premenu .login-menu a:focus:before, .top-bar .top-bar-r-premenu .login-menu a:active:before, .top-bar .top-bar-r-premenu .login-menu .login-status:hover:before, .top-bar .top-bar-r-premenu .login-menu .login-status:focus:before, .top-bar .top-bar-r-premenu .login-menu .login-status:active:before {
          width: 100%;
          background: #2E727F; }
      .top-bar .top-bar-r-premenu .login-menu .login-status {
        position: relative;
        cursor: pointer; }
        .top-bar .top-bar-r-premenu .login-menu .login-status .hello-text {
          margin-right: 0.5rem; }
        .top-bar .top-bar-r-premenu .login-menu .login-status .fa {
          font-size: 1rem; }
        .top-bar .top-bar-r-premenu .login-menu .login-status > .logout-menu {
          display: none;
          position: absolute;
          top: 1.15rem;
          box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.16);
          background-color: #F4FCFD;
          padding: 0.5rem 1.5rem;
          margin-top: 1rem;
          min-width: 100%;
          z-index: 5; }
          .top-bar .top-bar-r-premenu .login-menu .login-status > .logout-menu::before {
            border-bottom: 8px solid #F4FCFD;
            top: -8px;
            content: ' ';
            border-left: 8px solid transparent;
            border-right: 8px solid transparent;
            position: absolute;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            left: 50%; }
          .top-bar .top-bar-r-premenu .login-menu .login-status > .logout-menu a {
            color: #2C2C2C !important;
            text-transform: none;
            font-size: 1rem; }
            .top-bar .top-bar-r-premenu .login-menu .login-status > .logout-menu a:not(:last-of-type) {
              margin-bottom: 1rem; }
      .top-bar .top-bar-r-premenu .login-menu:hover .login-status > .logout-menu, .top-bar .top-bar-r-premenu .login-menu:active .login-status > .logout-menu, .top-bar .top-bar-r-premenu .login-menu:focus .login-status > .logout-menu, .top-bar .top-bar-r-premenu .login-menu.is-active .login-status > .logout-menu {
        display: block; }
    .top-bar .top-bar-r-premenu .cart-menu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-left: 1rem;
      margin-right: 1rem;
      position: relative; }
      .top-bar .top-bar-r-premenu .cart-menu::before {
        content: ' ';
        position: absolute;
        left: -1rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        width: 1px;
        height: 1.5rem;
        background-color: rgba(46, 114, 127, 0.1); }
      .top-bar .top-bar-r-premenu .cart-menu > a {
        color: #626262;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        font-size: 0.875rem;
        line-height: 1.35714;
        display: inline-block;
        padding-bottom: 0;
        position: relative; }
        .top-bar .top-bar-r-premenu .cart-menu > a:before {
          content: '';
          display: block;
          height: 2px;
          width: 0;
          background: transparent;
          transition: width .5s ease, background-color .5s ease;
          margin-top: -2px;
          position: absolute;
          right: auto;
          left: 0;
          bottom: -2px;
          top: auto; }
        .top-bar .top-bar-r-premenu .cart-menu > a:hover:before, .top-bar .top-bar-r-premenu .cart-menu > a:focus:before, .top-bar .top-bar-r-premenu .cart-menu > a:active:before {
          width: 100%;
          background: #2E727F; }
        .top-bar .top-bar-r-premenu .cart-menu > a::before {
          left: 1.5rem; }
        .top-bar .top-bar-r-premenu .cart-menu > a:hover::before, .top-bar .top-bar-r-premenu .cart-menu > a:focus::before, .top-bar .top-bar-r-premenu .cart-menu > a:active::before {
          width: calc(100% - 1.5rem); }
      .top-bar .top-bar-r-premenu .cart-menu.has-items > a:hover::before, .top-bar .top-bar-r-premenu .cart-menu.has-items > a:focus::before, .top-bar .top-bar-r-premenu .cart-menu.has-items > a:active::before {
        width: calc(100% - 3.5rem); }
      .top-bar .top-bar-r-premenu .cart-menu span.fa {
        color: #2E727F;
        margin-right: 0.09375rem; }
      .top-bar .top-bar-r-premenu .cart-menu .cart-item-count-cont {
        position: relative;
        color: #2E727F;
        margin-left: 1rem; }
        .top-bar .top-bar-r-premenu .cart-menu .cart-item-count-cont::before {
          content: ' ';
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translateX(-50%) translateY(-50%);
              -ms-transform: translateX(-50%) translateY(-50%);
                  transform: translateX(-50%) translateY(-50%);
          border-radius: 50%;
          background-color: rgba(46, 114, 127, 0.1);
          width: 1.5rem;
          height: 1.5rem;
          z-index: 0;
          margin-left: -0.25rem; }
        .top-bar .top-bar-r-premenu .cart-menu .cart-item-count-cont .cart-item-count {
          color: #626262; }
  .top-bar .top-bar-r-menu {
    padding-left: 1.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }

.site-header {
  background-color: transparent;
  transition: height 0.3s ease-in-out, width 0.3s ease-in-out;
  position: relative;
  z-index: 10;
  width: 100%; }
  .site-header a.silent {
    width: auto;
    transition: all 0.5s ease; }
  .site-header .top-bar-container {
    width: 100%; }
  .site-header .banner-cta {
    background-color: #2E727F;
    padding: .5rem 0;
    text-align: center; }
    .site-header .banner-cta span, .site-header .banner-cta a {
      color: #FFFFFF; }
    .site-header .banner-cta a {
      text-decoration: underline;
      opacity: .7;
      margin-left: .5rem; }
      .site-header .banner-cta a:hover {
        opacity: 1;
        text-decoration: none; }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .menu-item.is-active > a::before, .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .menu-item.current_page_item > a::before,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .menu-item.is-active > a::before,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .menu-item.current_page_item > a::before {
    background-color: #2E727F;
    bottom: -5px;
    width: 100%; }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active > a::before, .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.current_page_item > a::before,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active > a::before,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.current_page_item > a::before {
    background-color: #2E727F;
    bottom: -5px;
    width: calc(100% - 2.25rem); }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active::before, .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active::after,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::before,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::after {
    content: ' ';
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    position: absolute;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%; }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active::before,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::before {
    border-bottom: 8px solid #626262;
    bottom: calc(-3.5rem - 1px); }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active::after,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::after {
    border-bottom: 8px solid #F4FCFD;
    bottom: -3.5rem; }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active ul.is-dropdown-submenu,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active ul.is-dropdown-submenu {
    display: block; }
  .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent ul.is-dropdown-submenu,
  .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent ul.is-dropdown-submenu {
    margin-top: 3.5rem;
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.16); }
    .site-header .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent ul.is-dropdown-submenu li.menu-item > a,
    .site-header .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent ul.is-dropdown-submenu li.menu-item > a {
      color: #000000; }
  .site-header.sticky {
    position: fixed;
    width: 100%;
    top: 0rem;
    left: 0rem;
    right: 0rem;
    z-index: 100;
    box-shadow: 0px 1px 10px rgba(118, 118, 118, 0.25); }
    .site-header.sticky .top-bar-r-premenu {
      display: none; }
    .site-header.sticky a.silent {
      padding-top: 0.5rem;
      padding-bottom: 0.5rem; }
    .site-header.sticky .site-desktop-title {
      padding: 1rem 0; }
    .site-header.sticky .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::before, .site-header.sticky .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::after {
      display: none; }
    .site-header.sticky .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent ul.is-dropdown-submenu {
      margin-top: 1rem;
      box-shadow: 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; }

.heading-searchform-cont {
  overflow: hidden;
  margin-right: 1.5rem;
  margin-left: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .heading-searchform-cont {
      margin-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .heading-searchform-cont {
      margin-right: 3rem; } }
  @media screen and (min-width: 75em) {
    .heading-searchform-cont {
      margin-right: 3rem; } }
  @media screen and (min-width: 90em) {
    .heading-searchform-cont {
      margin-right: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .heading-searchform-cont {
      margin-left: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .heading-searchform-cont {
      margin-left: 3rem; } }
  @media screen and (min-width: 75em) {
    .heading-searchform-cont {
      margin-left: 3rem; } }
  @media screen and (min-width: 90em) {
    .heading-searchform-cont {
      margin-left: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .heading-searchform-cont {
      margin-left: 0rem; } }
  .heading-searchform-cont .input-group {
    margin-bottom: 0rem;
    height: 100%;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .heading-searchform-cont .input-group .input-group-field {
      background-color: rgba(118, 118, 118, 0.05);
      border-color: transparent;
      color: #FFFFFF;
      box-shadow: none;
      padding-left: 1rem;
      font-size: 1rem;
      height: 100%; }
      .heading-searchform-cont .input-group .input-group-field::-webkit-input-placeholder {
        color: rgba(255, 255, 255, 0.8);
        font-size: 1rem; }
      .heading-searchform-cont .input-group .input-group-field:-ms-input-placeholder {
        color: rgba(255, 255, 255, 0.8);
        font-size: 1rem; }
      .heading-searchform-cont .input-group .input-group-field::placeholder {
        color: rgba(255, 255, 255, 0.8);
        font-size: 1rem; }
    .heading-searchform-cont .input-group .input-group-button {
      top: 0rem;
      bottom: 0rem;
      transition: background-color 0.5s ease-in; }
      .heading-searchform-cont .input-group .input-group-button .searchsubmit {
        padding: 0rem; }
  .heading-searchform-cont #searchform-desktop {
    min-height: 3rem; }
  .heading-searchform-cont #searchform-desktop, .heading-searchform-cont #searchform-mobile {
    transition: all 0.5s ease; }
    .heading-searchform-cont #searchform-desktop:not(.form-active) .input-group-field, .heading-searchform-cont #searchform-mobile:not(.form-active) .input-group-field {
      background-color: transparent;
      color: transparent; }
    .heading-searchform-cont #searchform-desktop .input-group-field, .heading-searchform-cont #searchform-mobile .input-group-field {
      transition: width 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
      width: 2rem;
      height: 2rem;
      padding: 0; }
      .heading-searchform-cont #searchform-desktop .input-group-field:hover, .heading-searchform-cont #searchform-desktop .input-group-field:active, .heading-searchform-cont #searchform-desktop .input-group-field:focus, .heading-searchform-cont #searchform-mobile .input-group-field:hover, .heading-searchform-cont #searchform-mobile .input-group-field:active, .heading-searchform-cont #searchform-mobile .input-group-field:focus {
        color: #FFFFFF; }
      .heading-searchform-cont #searchform-desktop .input-group-field::-webkit-input-placeholder, .heading-searchform-cont #searchform-mobile .input-group-field::-webkit-input-placeholder {
        color: transparent; }
      .heading-searchform-cont #searchform-desktop .input-group-field:-ms-input-placeholder, .heading-searchform-cont #searchform-mobile .input-group-field:-ms-input-placeholder {
        color: transparent; }
      .heading-searchform-cont #searchform-desktop .input-group-field::placeholder, .heading-searchform-cont #searchform-mobile .input-group-field::placeholder {
        color: transparent; }
    .heading-searchform-cont #searchform-desktop .searchsubmit, .heading-searchform-cont #searchform-mobile .searchsubmit {
      color: #2E727F; }
    .heading-searchform-cont #searchform-desktop.form-active, .heading-searchform-cont #searchform-mobile.form-active {
      width: 10rem; }
      .heading-searchform-cont #searchform-desktop.form-active .input-group-field, .heading-searchform-cont #searchform-mobile.form-active .input-group-field {
        background-color: #2E727F;
        padding-left: 0.5rem;
        padding-right: 2rem;
        width: 10rem;
        color: #FFFFFF;
        border-color: #2E727F; }
        .heading-searchform-cont #searchform-desktop.form-active .input-group-field:focus, .heading-searchform-cont #searchform-mobile.form-active .input-group-field:focus {
          border-color: #2E727F; }
        .heading-searchform-cont #searchform-desktop.form-active .input-group-field::-webkit-input-placeholder, .heading-searchform-cont #searchform-mobile.form-active .input-group-field::-webkit-input-placeholder {
          transition-delay: none;
          color: rgba(255, 255, 255, 0.8); }
        .heading-searchform-cont #searchform-desktop.form-active .input-group-field:-ms-input-placeholder, .heading-searchform-cont #searchform-mobile.form-active .input-group-field:-ms-input-placeholder {
          transition-delay: none;
          color: rgba(255, 255, 255, 0.8); }
        .heading-searchform-cont #searchform-desktop.form-active .input-group-field::placeholder, .heading-searchform-cont #searchform-mobile.form-active .input-group-field::placeholder {
          transition-delay: none;
          color: rgba(255, 255, 255, 0.8); }
      .heading-searchform-cont #searchform-desktop.form-active .input-group-button .searchsubmit, .heading-searchform-cont #searchform-mobile.form-active .input-group-button .searchsubmit {
        color: #FFFFFF; }

.input-group {
  position: relative; }
  .input-group .input-group-field {
    margin-bottom: 0rem;
    border-radius: 0;
    padding-right: 3rem;
    border: 2px solid #F4FCFD;
    box-shadow: none;
    color: #2E727F; }
    .input-group .input-group-field::-webkit-input-placeholder {
      color: #F4FCFD; }
    .input-group .input-group-field:-ms-input-placeholder {
      color: #F4FCFD; }
    .input-group .input-group-field::placeholder {
      color: #F4FCFD; }
    .input-group .input-group-field:focus {
      box-shadow: none;
      border: 2px solid #2E727F; }
  .input-group .input-group-button {
    position: absolute;
    right: 0rem;
    top: 0rem;
    bottom: 0rem;
    font-size: 1.2rem; }
    .input-group .input-group-button .searchsubmit {
      border: none;
      background-color: transparent;
      color: #2E727F;
      cursor: pointer;
      transition: 0.5s ease;
      border-radius: 0px 2px 2px 0px; }
      .input-group .input-group-button .searchsubmit:before {
        font-family: 'FontAwesome';
        content: '\f002';
        padding: 0rem 0.5rem 0rem 0rem;
        font-size: 0.9375rem; }
      .input-group .input-group-button .searchsubmit:hover, .input-group .input-group-button .searchsubmit:active, .input-group .input-group-button .searchsubmit:focus {
        color: #FFFFFF; }

body.logged-in.admin-bar .site-header.sticky {
  top: 32px; }

body.logged-in.admin-bar .site-header.sticky {
  top: 46px; }
  @media screen and (min-width: 783px) {
    body.logged-in.admin-bar .site-header.sticky {
      top: 32px; } }

.submenu-toggle::after {
  border-color: #2E727F transparent transparent; }

.home .off-canvas-content .site-header {
  position: fixed; }
  .home .off-canvas-content .site-header.sticky {
    background-color: #FFFFFF; }
    .home .off-canvas-content .site-header.sticky .top-bar-container {
      background-color: #FFFFFF;
      box-shadow: 0px 1px 10px rgba(118, 118, 118, 0.25); }
      .home .off-canvas-content .site-header.sticky .top-bar-container .site-logo-inverted {
        display: none; }
      .home .off-canvas-content .site-header.sticky .top-bar-container .site-logo {
        display: block; }
      .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-r-premenu {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        max-height: 0px;
        overflow: hidden; }
      .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-r-premenu .premenu-cont .menu .menu-item a {
        color: #2C2C2C; }
      .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .menu-item a {
        color: #2C2C2C; }
      .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-r-premenu .login-menu a, .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-r-premenu .login-menu .login-status {
        color: #FFFFFF; }
      .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-r-premenu .cart-menu > a {
        color: #626262; }
        .home .off-canvas-content .site-header.sticky .top-bar-container .top-bar .top-bar-r-premenu .cart-menu > a .cart-item-count-cont .cart-item-count {
          color: #626262; }
  .home .off-canvas-content .site-header .title-bar {
    background-color: #FFFFFF; }
  .home .off-canvas-content .site-header .top-bar-container {
    background-color: transparent;
    box-shadow: none; }
    .home .off-canvas-content .site-header .top-bar-container .site-logo-inverted {
      display: block; }
    .home .off-canvas-content .site-header .top-bar-container .site-logo {
      display: none; }
    .home .off-canvas-content .site-header .top-bar-container .top-bar {
      background-color: transparent; }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu {
        transition: all 0.3s ease; }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .premenu-cont .menu a,
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu a {
        color: #FFFFFF; }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active::before,
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::before {
        border-bottom: 8px solid #626262;
        bottom: calc(-1.5rem - 1px); }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent.is-active::after,
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent.is-active::after {
        border-bottom: 8px solid #F4FCFD;
        bottom: -1.5rem; }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .premenu-cont .menu .is-dropdown-submenu-parent ul.is-dropdown-submenu,
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-title .top-bar-r-menu .dropdown.menu .is-dropdown-submenu-parent ul.is-dropdown-submenu {
        margin-top: 1.5rem; }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .login-menu a.login-link, .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .login-menu .login-status {
        color: #FFFFFF; }
      .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .cart-menu > a {
        color: #FFFFFF; }
        .home .off-canvas-content .site-header .top-bar-container .top-bar .top-bar-r-premenu .cart-menu > a .cart-item-count-cont .cart-item-count {
          color: #FFFFFF; }

.body-main {
  overflow: hidden; }

.page-wrap {
  min-height: 100vh; }
  .page-wrap:not(:front) {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      .page-wrap:not(:front) {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .page-wrap:not(:front) {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media screen and (min-width: 75em) {
      .page-wrap:not(:front) {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media screen and (min-width: 90em) {
      .page-wrap:not(:front) {
        padding-top: 4.0625rem;
        padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 64em) {
    .page-wrap {
      min-height: 25rem; } }
  .page-wrap.single-event-wrapper section.page-section {
    padding: 0; }

.sidebar {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .sidebar {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-top: 1rem; } }

.result-item .entry-title {
  margin-bottom: 0.75rem;
  display: block;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: italic;
  color: #2E727F; }

.result-item .post-featured-image-cell .post-featured-image {
  object-fit: cover;
  height: 100%;
  min-height: 3.75rem;
  width: 100%;
  max-width: 5rem;
  margin-left: auto;
  margin-right: 0;
  border-radius: 2px;
  border: 2px solid transparent;
  transition: all 0.5s ease; }
  @media print, screen and (min-width: 40em) {
    .result-item .post-featured-image-cell .post-featured-image {
      max-width: 9.375rem; } }

@media print, screen and (min-width: 40em) {
  .result-item .meta-cont {
    margin-bottom: 0.5rem; } }

.result-item .meta-cont > * {
  font-size: 0.875rem;
  color: rgba(0, 0, 0, 0.7);
  margin-bottom: 0.25rem;
  display: block;
  font-weight: 600;
  line-height: 1.2; }
  .result-item .meta-cont > *:last-child {
    margin-bottom: 0; }

.result-item p {
  color: #626262; }
  .result-item p:last-of-type {
    margin-bottom: 0.5rem; }

a.result-link {
  display: block;
  background-color: #FFFFFF;
  color: #000000;
  border: 1px solid transparent;
  padding-top: 0.92308rem;
  padding-bottom: 0.92308rem;
  position: relative;
  transition: all 0.5s ease;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    a.result-link {
      padding-top: 1.53846rem;
      padding-bottom: 1.53846rem; } }
  @media print, screen and (min-width: 64em) {
    a.result-link {
      padding-top: 1.84615rem;
      padding-bottom: 1.84615rem; } }
  @media screen and (min-width: 75em) {
    a.result-link {
      padding-top: 1.84615rem;
      padding-bottom: 1.84615rem; } }
  @media screen and (min-width: 90em) {
    a.result-link {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 40em) {
    a.result-link {
      margin-left: -2.5rem; } }
  @media print, screen and (min-width: 64em) {
    a.result-link {
      margin-left: -3rem; } }
  @media screen and (min-width: 75em) {
    a.result-link {
      margin-left: -3rem; } }
  @media screen and (min-width: 90em) {
    a.result-link {
      margin-left: -4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    a.result-link {
      margin-right: -2.5rem; } }
  @media print, screen and (min-width: 64em) {
    a.result-link {
      margin-right: -3rem; } }
  @media screen and (min-width: 75em) {
    a.result-link {
      margin-right: -3rem; } }
  @media screen and (min-width: 90em) {
    a.result-link {
      margin-right: -4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    a.result-link {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    a.result-link {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    a.result-link {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    a.result-link {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  a.result-link.silent {
    width: auto; }
  a.result-link .fake-result-link {
    color: #2C2C2C;
    border-bottom: 1px dotted #2F373D;
    display: inline-block;
    position: relative;
    margin-right: 1.5rem;
    display: inline-block;
    padding-bottom: 0;
    position: relative; }
    a.result-link .fake-result-link:before {
      content: '';
      display: block;
      height: 4px;
      width: 0;
      background: transparent;
      transition: width .5s ease, background-color .5s ease;
      margin-top: -4px;
      position: absolute;
      right: auto;
      left: 0;
      bottom: -4px;
      top: auto; }
    a.result-link .fake-result-link:hover:before, a.result-link .fake-result-link:focus:before, a.result-link .fake-result-link:active:before {
      width: 100%;
      background: #2E727F; }
    a.result-link .fake-result-link::after {
      content: '\f105';
      font-family: 'FontAwesome';
      color: #2E727F;
      display: inline-block;
      position: absolute;
      right: -1rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
  a.result-link:hover, a.result-link:focus, a.result-link:active {
    border: 1px solid #2E727F;
    background-color: #F4FCFD; }
    a.result-link:hover .fake-result-link::before, a.result-link:focus .fake-result-link::before, a.result-link:active .fake-result-link::before {
      background-color: #2E727F;
      width: 100%; }
    a.result-link:hover .entry-title, a.result-link:focus .entry-title, a.result-link:active .entry-title {
      color: #2E727F; }
    a.result-link:hover > *:not(.entry-title), a.result-link:focus > *:not(.entry-title), a.result-link:active > *:not(.entry-title) {
      color: #000000; }
    a.result-link:hover .post-featured-image > div, a.result-link:focus .post-featured-image > div, a.result-link:active .post-featured-image > div {
      border-color: #2E727F; }

.tag-list {
  color: rgba(0, 0, 0, 0.3);
  margin-bottom: 0.5rem; }
  .tag-list > a {
    padding: 0.25rem 0.5rem;
    color: #2E727F;
    display: inline-block;
    position: relative;
    overflow: hidden;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.05);
    font-size: 0.9375rem; }
    .tag-list > a:before {
      content: '';
      width: 100%;
      background: transparent;
      transition: height .2s ease, background-color .2s ease;
      position: absolute;
      right: 0;
      left: 0;
      bottom: auto;
      top: 0;
      height: 0%;
      z-index: -1; }
    .tag-list > a:hover, .tag-list > a:focus {
      text-decoration: none;
      color: #FFFFFF; }
      .tag-list > a:hover:before, .tag-list > a:focus:before {
        height: 100%;
        background-color: #2E727F; }

.pagination > li > * {
  border-radius: 2px;
  font-weight: 600; }

.has-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #767676; }

@media print, screen and (min-width: 40em) {
  .archive-content {
    padding-top: 2.75rem; } }

@media screen and (max-width: 39.9375em) {
  .archive-content .grid-container, .archive-content .error404 .body-main #content.widecolumn, .error404 .body-main .archive-content #content.widecolumn {
    padding: 1rem; } }

.archive-content .tiles .main-tile-cell {
  padding-bottom: 1rem; }
  @media screen and (max-width: 39.9375em) {
    .archive-content .tiles .main-tile-cell:last-child {
      padding-bottom: 0; } }
  @media print, screen and (min-width: 40em) {
    .archive-content .tiles .main-tile-cell {
      padding-bottom: 2.125rem; } }

.archive-content .archive-tile {
  height: 100%; }
  .archive-content .archive-tile .tile-result-link {
    display: block;
    background-color: #FFFFFF;
    color: #000000;
    border: 1px solid #626262;
    border-radius: 2px;
    position: relative; }
    .archive-content .archive-tile .tile-result-link:hover, .archive-content .archive-tile .tile-result-link:focus, .archive-content .archive-tile .tile-result-link:active {
      box-shadow: 0 0.5rem 1.375rem 0 rgba(0, 0, 0, 0.12); }
      .archive-content .archive-tile .tile-result-link:hover:after, .archive-content .archive-tile .tile-result-link:focus:after, .archive-content .archive-tile .tile-result-link:active:after {
        width: 100%;
        background: #2E727F; }
      .archive-content .archive-tile .tile-result-link:hover .entry-title, .archive-content .archive-tile .tile-result-link:focus .entry-title, .archive-content .archive-tile .tile-result-link:active .entry-title {
        color: #2E727F; }
      .archive-content .archive-tile .tile-result-link:hover > *:not(.entry-title), .archive-content .archive-tile .tile-result-link:focus > *:not(.entry-title), .archive-content .archive-tile .tile-result-link:active > *:not(.entry-title) {
        color: #000000; }
      .archive-content .archive-tile .tile-result-link:hover .post-featured-image-cell .post-featured-image, .archive-content .archive-tile .tile-result-link:focus .post-featured-image-cell .post-featured-image, .archive-content .archive-tile .tile-result-link:active .post-featured-image-cell .post-featured-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-color: #2E727F; }
    .archive-content .archive-tile .tile-result-link .grid-x {
      height: 100%; }
  .archive-content .archive-tile .post-featured-image-cell .post-featured-image {
    height: 100%;
    border: none;
    max-width: unset;
    border-radius: 0;
    margin: 0; }
  .archive-content .archive-tile .entry-content {
    padding: 1rem 1.1875rem 1.375rem 1.125rem; }
    .archive-content .archive-tile .entry-content .meta-cont {
      margin-bottom: 0; }
      .archive-content .archive-tile .entry-content .meta-cont time {
        font-size: 0.625rem;
        color: rgba(44, 44, 44, 0.8);
        line-height: 1.6; }
    .archive-content .archive-tile .entry-content .entry-title {
      line-height: 1.2;
      margin-bottom: 0.5rem; }
    .archive-content .archive-tile .entry-content p {
      color: #2C2C2C;
      font-size: 0.875rem;
      line-height: 1.21; }

.content-title header {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .content-title header {
      padding-top: 1.66667rem;
      padding-bottom: 1.66667rem; } }
  @media print, screen and (min-width: 64em) {
    .content-title header {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  @media screen and (min-width: 75em) {
    .content-title header {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  @media screen and (min-width: 90em) {
    .content-title header {
      padding-top: 2.70833rem;
      padding-bottom: 2.70833rem; } }
  .content-title header h1 {
    margin: 0; }

.pagination {
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  .pagination > li > * {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    padding: 0rem !important;
    display: inline-block;
    position: relative; }

.register-page-wrap {
  padding-top: 0.75rem;
  padding-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .register-page-wrap {
      padding-top: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .register-page-wrap {
      padding-top: 1.5rem; } }
  @media screen and (min-width: 75em) {
    .register-page-wrap {
      padding-top: 1.5rem; } }
  @media screen and (min-width: 90em) {
    .register-page-wrap {
      padding-top: 2.03125rem; } }
  @media print, screen and (min-width: 40em) {
    .register-page-wrap {
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .register-page-wrap {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    .register-page-wrap {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    .register-page-wrap {
      padding-bottom: 4.0625rem; } }
  .register-page-wrap .form-cell {
    text-align: center;
    padding-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .register-page-wrap .form-cell {
        padding-top: 1.66667rem; } }
    @media print, screen and (min-width: 64em) {
      .register-page-wrap .form-cell {
        padding-top: 2rem; } }
    @media screen and (min-width: 75em) {
      .register-page-wrap .form-cell {
        padding-top: 2rem; } }
    @media screen and (min-width: 90em) {
      .register-page-wrap .form-cell {
        padding-top: 2.70833rem; } }
    .register-page-wrap .form-cell .form-title {
      margin-bottom: 1.5rem; }
      @media print, screen and (min-width: 64em) {
        .register-page-wrap .form-cell .form-title {
          margin-bottom: 3rem; } }
    .register-page-wrap .form-cell .gform_wrapper {
      padding-top: 0 !important; }
    .register-page-wrap .form-cell .gf_login_links {
      display: none; }
    .register-page-wrap .form-cell img {
      margin-bottom: 1.5rem;
      border-radius: 50%; }
  .register-page-wrap .link-wrap {
    margin-top: 1rem; }
  .register-page-wrap .link-wrap-col {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }

.error404 .body-main #content.widecolumn {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .error404 .body-main #content.widecolumn {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .error404 .body-main #content.widecolumn {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    .error404 .body-main #content.widecolumn {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    .error404 .body-main #content.widecolumn {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 64em) {
    .error404 .body-main #content.widecolumn {
      text-align: center; } }

.footer .footer-container {
  background-color: #F4FCFD;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-bottom: 0.6rem; }
  @media print, screen and (min-width: 40em) {
    .footer .footer-container {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .footer .footer-container {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    .footer .footer-container {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    .footer .footer-container {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .footer .footer-container {
      padding-bottom: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .footer .footer-container {
      padding-bottom: 1.2rem; } }
  @media screen and (min-width: 75em) {
    .footer .footer-container {
      padding-bottom: 1.2rem; } }
  @media screen and (min-width: 90em) {
    .footer .footer-container {
      padding-bottom: 1.625rem; } }
  .footer .footer-container .footer-logo-cell {
    text-align: center;
    margin-bottom: 1rem; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container .footer-logo-cell {
        margin-bottom: 1.66667rem; } }
    @media print, screen and (min-width: 64em) {
      .footer .footer-container .footer-logo-cell {
        margin-bottom: 2rem; } }
    @media screen and (min-width: 75em) {
      .footer .footer-container .footer-logo-cell {
        margin-bottom: 2rem; } }
    @media screen and (min-width: 90em) {
      .footer .footer-container .footer-logo-cell {
        margin-bottom: 2.70833rem; } }
    .footer .footer-container .footer-logo-cell a {
      margin: 0 auto;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
  .footer .footer-container .footer-nav-cell {
    margin-bottom: 1rem; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container .footer-nav-cell {
        margin-bottom: 1.66667rem; } }
    @media print, screen and (min-width: 64em) {
      .footer .footer-container .footer-nav-cell {
        margin-bottom: 2rem; } }
    @media screen and (min-width: 75em) {
      .footer .footer-container .footer-nav-cell {
        margin-bottom: 2rem; } }
    @media screen and (min-width: 90em) {
      .footer .footer-container .footer-nav-cell {
        margin-bottom: 2.70833rem; } }
    .footer .footer-container .footer-nav-cell .footer-nav-items {
      margin: 0 auto;
      max-width: 80%; }
      .footer .footer-container .footer-nav-cell .footer-nav-items section.widget.widget_nav_menu {
        padding: 0rem; }
      .footer .footer-container .footer-nav-cell .footer-nav-items .menu .is-active > a {
        background: none;
        color: unset; }
      .footer .footer-container .footer-nav-cell .footer-nav-items .menu {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .footer .footer-container .footer-nav-cell .footer-nav-items .menu > li {
          display: inline-block;
          padding: 0 1rem;
          margin: 0.25rem 0; }
      .footer .footer-container .footer-nav-cell .footer-nav-items ul {
        list-style-type: none;
        margin: 0;
        padding: 0; }
        .footer .footer-container .footer-nav-cell .footer-nav-items ul li a {
          color: #2C2C2C;
          text-transform: uppercase;
          padding: 0.5rem 0;
          display: inline-block;
          padding-bottom: 0;
          position: relative;
          font-size: 0.9rem; }
          .footer .footer-container .footer-nav-cell .footer-nav-items ul li a:after {
            content: '';
            display: block;
            height: 1px;
            width: 0;
            background: transparent;
            transition: width .5s ease, background-color .5s ease;
            margin-top: 1.5px; }
          .footer .footer-container .footer-nav-cell .footer-nav-items ul li a:hover:after, .footer .footer-container .footer-nav-cell .footer-nav-items ul li a:focus:after, .footer .footer-container .footer-nav-cell .footer-nav-items ul li a:active:after {
            width: 100%;
            background: #2E727F; }
          @media print, screen and (min-width: 64em) {
            .footer .footer-container .footer-nav-cell .footer-nav-items ul li a {
              font-size: 1rem; } }
  .footer .footer-container .footer-social-cell {
    margin-bottom: 1.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container .footer-social-cell {
        margin-bottom: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .footer .footer-container .footer-social-cell {
        margin-bottom: 3rem; } }
    @media screen and (min-width: 75em) {
      .footer .footer-container .footer-social-cell {
        margin-bottom: 3rem; } }
    @media screen and (min-width: 90em) {
      .footer .footer-container .footer-social-cell {
        margin-bottom: 4.0625rem; } }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container .footer-social-cell {
        -webkit-flex-flow: row;
            -ms-flex-flow: row;
                flex-flow: row; } }
    @media screen and (max-width: 39.9375em) {
      .footer .footer-container .footer-social-cell .social-icon-list {
        margin-bottom: 1rem; } }
    .footer .footer-container .footer-social-cell .social-icon-list li {
      transition: all 0.5s ease;
      padding: 0;
      margin: 0 0.5rem; }
      .footer .footer-container .footer-social-cell .social-icon-list li a.social-link {
        transition: all 0.5s ease;
        height: 2rem;
        width: 2rem;
        border-radius: 50%;
        background-color: rgba(46, 114, 127, 0.1);
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .footer .footer-container .footer-social-cell .social-icon-list li a.social-link .fa {
          font-size: 1rem; }
        .footer .footer-container .footer-social-cell .social-icon-list li a.social-link:hover, .footer .footer-container .footer-social-cell .social-icon-list li a.social-link:active, .footer .footer-container .footer-social-cell .social-icon-list li a.social-link:focus {
          opacity: 1;
          background-color: #2E727F;
          color: #FFFFFF; }
    .footer .footer-container .footer-social-cell .hashtag-text {
      font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      padding: 0 0.25rem; }
  .footer .footer-container .footer-contact-cell .location-cell {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container .footer-contact-cell .location-cell {
        border-bottom: 1px solid rgba(155, 130, 65, 0.2); }
        .footer .footer-container .footer-contact-cell .location-cell:first-child {
          border-top: 1px solid rgba(155, 130, 65, 0.2); } }
    @media print, screen and (min-width: 64em) {
      .footer .footer-container .footer-contact-cell .location-cell {
        border-bottom: none;
        border-right: 1px solid rgba(155, 130, 65, 0.2); }
        .footer .footer-container .footer-contact-cell .location-cell:first-child {
          border-top: none; }
        .footer .footer-container .footer-contact-cell .location-cell:last-child {
          border-right: none; } }
    .footer .footer-container .footer-contact-cell .location-cell .location-title {
      font-family: "PT Sans Caption", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      font-size: 0.875rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      font-weight: 400;
      margin-bottom: 1rem; }
    .footer .footer-container .footer-contact-cell .location-cell .location-contact-info {
      margin-bottom: 0.3125rem; }
      .footer .footer-container .footer-contact-cell .location-cell .location-contact-info:last-of-type {
        margin-bottom: 0.625rem; }
      .footer .footer-container .footer-contact-cell .location-cell .location-contact-info .fa {
        color: rgba(46, 114, 127, 0.5); }
      .footer .footer-container .footer-contact-cell .location-cell .location-contact-info a {
        font-weight: 400;
        font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
        color: #2C2C2C; }
    .footer .footer-container .footer-contact-cell .location-cell .address {
      display: block;
      color: #626262;
      font-size: 0.875rem;
      font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      margin-bottom: 0rem; }
  .footer .footer-container .footer-newsletter-cell {
    margin: auto 0rem;
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-container .footer-newsletter-cell {
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .footer .footer-container .footer-newsletter-cell > div {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-container .footer-newsletter-cell > div {
          padding-top: 1.25rem;
          padding-bottom: 1.25rem; } }
      @media print, screen and (min-width: 64em) {
        .footer .footer-container .footer-newsletter-cell > div {
          padding-top: 1.5rem;
          padding-bottom: 1.5rem; } }
      @media screen and (min-width: 75em) {
        .footer .footer-container .footer-newsletter-cell > div {
          padding-top: 1.5rem;
          padding-bottom: 1.5rem; } }
      @media screen and (min-width: 90em) {
        .footer .footer-container .footer-newsletter-cell > div {
          padding-top: 2.03125rem;
          padding-bottom: 2.03125rem; } }
    .footer .footer-container .footer-newsletter-cell > div > p, .footer .footer-container .footer-newsletter-cell .newsletter-label {
      color: #2C2C2C;
      font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      font-size: 1.125rem;
      line-height: 1.33333; }

.footer .subfooter-container {
  background-color: #F4FCFD;
  padding: 0.5rem 0 2rem; }
  .footer .subfooter-container .cell {
    margin-bottom: 0.25rem;
    text-align: center; }
  .footer .subfooter-container p {
    color: #626262;
    font-size: 0.875rem;
    line-height: 1.7142857143;
    margin-bottom: 0; }
    .footer .subfooter-container p a {
      color: #626262; }

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

.gform_wrapper {
  margin: 0 auto !important;
  background-color: #FFFFFF;
  max-width: 58rem !important;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper {
      padding-top: 1.66667rem;
      padding-bottom: 1.66667rem; } }
  @media print, screen and (min-width: 64em) {
    .gform_wrapper {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  @media screen and (min-width: 75em) {
    .gform_wrapper {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  @media screen and (min-width: 90em) {
    .gform_wrapper {
      padding-top: 2.70833rem;
      padding-bottom: 2.70833rem; } }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper {
      padding-left: 3.33333rem;
      padding-right: 3.33333rem; } }
  @media print, screen and (min-width: 64em) {
    .gform_wrapper {
      padding-left: 4rem;
      padding-right: 4rem; } }
  @media screen and (min-width: 75em) {
    .gform_wrapper {
      padding-left: 4rem;
      padding-right: 4rem; } }
  @media screen and (min-width: 90em) {
    .gform_wrapper {
      padding-left: 5.41667rem;
      padding-right: 5.41667rem; } }
  .gform_wrapper .gform_heading {
    margin-bottom: 3rem !important; }
    .gform_wrapper .gform_heading h3.gform_title {
      margin-bottom: 0;
      text-align: center;
      color: #000000; }
  .gform_wrapper ul.gform_fields li.gfield {
    margin: 0 0 1rem;
    padding: 0 !important; }
    .gform_wrapper ul.gform_fields li.gfield select, .gform_wrapper ul.gform_fields li.gfield textarea, .gform_wrapper ul.gform_fields li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
      padding-left: 1rem;
      padding-right: 1rem;
      margin-top: 0;
      margin-bottom: 0;
      background-color: rgba(46, 114, 127, 0.1);
      color: #0a0a0a;
      border-color: transparent;
      border-radius: 2px; }
      .gform_wrapper ul.gform_fields li.gfield select:active, .gform_wrapper ul.gform_fields li.gfield select:focus, .gform_wrapper ul.gform_fields li.gfield textarea:active, .gform_wrapper ul.gform_fields li.gfield textarea:focus, .gform_wrapper ul.gform_fields li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']):active, .gform_wrapper ul.gform_fields li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']):focus {
        border-color: #2E727F; }
      .gform_wrapper ul.gform_fields li.gfield select::-webkit-input-placeholder, .gform_wrapper ul.gform_fields li.gfield textarea::-webkit-input-placeholder, .gform_wrapper ul.gform_fields li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file'])::-webkit-input-placeholder {
        color: rgba(10, 10, 10, 0.4); }
      .gform_wrapper ul.gform_fields li.gfield select:-ms-input-placeholder, .gform_wrapper ul.gform_fields li.gfield textarea:-ms-input-placeholder, .gform_wrapper ul.gform_fields li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']):-ms-input-placeholder {
        color: rgba(10, 10, 10, 0.4); }
      .gform_wrapper ul.gform_fields li.gfield select::placeholder, .gform_wrapper ul.gform_fields li.gfield textarea::placeholder, .gform_wrapper ul.gform_fields li.gfield input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file'])::placeholder {
        color: rgba(10, 10, 10, 0.4); }
    .gform_wrapper ul.gform_fields li.gfield select {
      background-position: right 0 center; }
      .gform_wrapper ul.gform_fields li.gfield select:hover {
        cursor: pointer; }
    .gform_wrapper ul.gform_fields li.gfield textarea {
      height: 9.375rem; }
    .gform_wrapper ul.gform_fields li.gfield label.gfield_label {
      font-size: 0.875rem; }
    .gform_wrapper ul.gform_fields li.gfield .ginput_container {
      margin-top: 0 !important; }
      .gform_wrapper ul.gform_fields li.gfield .ginput_container.ginput_container_consent {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        height: 3rem; }
        .gform_wrapper ul.gform_fields li.gfield .ginput_container.ginput_container_consent input {
          margin: 0.75rem 0; }
          .gform_wrapper ul.gform_fields li.gfield .ginput_container.ginput_container_consent input label.gfield_consent_label {
            font-size: 1rem; }
      .gform_wrapper ul.gform_fields li.gfield .ginput_container input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
        width: 100%; }
    .gform_wrapper ul.gform_fields li.gfield.gf_left_third, .gform_wrapper ul.gform_fields li.gfield.gf_middle_third, .gform_wrapper ul.gform_fields li.gfield.gf_right_third {
      margin-bottom: 1rem; }
    @media print, screen and (min-width: 40em) {
      .gform_wrapper ul.gform_fields li.gfield.gf_right_half {
        padding: 0 0 0 0.5rem !important; }
      .gform_wrapper ul.gform_fields li.gfield.gf_left_half {
        padding: 0 0.5rem 0 0 !important; }
      .gform_wrapper ul.gform_fields li.gfield.gf_left_third {
        padding-right: 0.5rem !important; }
      .gform_wrapper ul.gform_fields li.gfield.gf_middle_third {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important; }
      .gform_wrapper ul.gform_fields li.gfield.gf_right_third {
        padding-left: 0.5rem !important; } }
  .gform_wrapper form .field_description_below .gfield_description {
    padding-top: 0.5rem; }
  .gform_wrapper.gform_validation_error form .gform_body ul li.gfield.gfield_error, .gform_wrapper.gform_validation_error form .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half):not(.gf_left_third):not(.gf_middle_third):not(.gf_right_third) {
    max-width: none !important;
    margin-left: 0;
    margin-right: 0; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper.gform_validation_error form .gform_body ul li.gfield.gfield_error.gf_left_third, .gform_wrapper.gform_validation_error form .gform_body ul li.gfield.gfield_error.gf_middle_third, .gform_wrapper.gform_validation_error form .gform_body ul li.gfield.gfield_error.gfield_right_third {
      width: 33.3% !important; } }
  .gform_wrapper form .validation_message {
    color: #a63b2a;
    padding: 0 0 1rem !important; }
  .gform_wrapper form div.validation_error {
    border: none;
    background-color: rgba(204, 75, 55, 0.1);
    color: #ca4834;
    border-radius: 4px;
    line-height: 1.4; }
  .gform_wrapper form ul.gform_fields li.gfield.gfield_error, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    border: none;
    background: none;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0 !important; }
    .gform_wrapper form ul.gform_fields li.gfield.gfield_error label.gfield_label, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning label.gfield_label {
      color: #cc4b37; }
    .gform_wrapper form ul.gform_fields li.gfield.gfield_error.gfield_contains_required label.gfield_label, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning.gfield_contains_required label.gfield_label {
      margin-top: 0; }
    .gform_wrapper form ul.gform_fields li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning.gfield_contains_required div.ginput_container {
      margin-top: 4px; }
      @media print, screen and (min-width: 64em) {
        .gform_wrapper form ul.gform_fields li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning.gfield_contains_required div.ginput_container {
          margin-top: 8px; } }
    .gform_wrapper form ul.gform_fields li.gfield.gfield_error select, .gform_wrapper form ul.gform_fields li.gfield.gfield_error textarea, .gform_wrapper form ul.gform_fields li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']), .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning select, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning textarea, .gform_wrapper form li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
      border: 1px solid #cc4b37; }
  .gform_wrapper .gform_body {
    padding-bottom: 0.5rem; }
    .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input.gform_button_select_files, .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea.gform_button_select_files, .gform_wrapper .gform_body .gform_fields .gf_left_half .ginput_container input.gform_button_select_files, .gform_wrapper .gform_body .gform_fields .gf_left_half .ginput_container textarea.gform_button_select_files, .gform_wrapper .gform_body .gform_fields .gf_right_half .ginput_container input.gform_button_select_files, .gform_wrapper .gform_body .gform_fields .gf_right_half .ginput_container textarea.gform_button_select_files {
      text-transform: none; }
  .gform_wrapper div.gform_footer {
    margin: 0;
    padding: 0;
    text-align: center; }
    .gform_wrapper div.gform_footer input[type='submit'] {
      display: block;
      width: 100%;
      padding: 1rem;
      min-height: 0 !important;
      line-height: 1 !important; }
      .gform_wrapper div.gform_footer input[type='submit'] ~ p {
        margin-top: 2rem;
        color: #626262; }

.gform_confirmation_wrapper {
  padding: 1.5rem;
  font-weight: 400;
  border: 1px solid #e6e6e6;
  position: relative;
  background-color: #f7f7f7;
  border-radius: 4px;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .gform_confirmation_wrapper {
      padding: 1.5rem 1.5rem 1.5rem 3.5rem;
      text-align: left; } }
  .gform_confirmation_wrapper:before {
    display: inline-block;
    padding: 0 9px;
    width: 2.125rem;
    height: 2.125rem;
    color: #3adb76;
    border-radius: 50%;
    font-size: 1rem;
    content: '\f00c';
    background-color: #FFFFFF;
    font-family: FontAwesome;
    line-height: 2.2;
    box-shadow: 0 1px 6px rgba(118, 118, 118, 0.4);
    margin-bottom: 0.6rem; }
    @media print, screen and (min-width: 64em) {
      .gform_confirmation_wrapper:before {
        position: absolute;
        display: block;
        left: 0.65rem;
        top: 50%;
        margin-top: -1.0625rem; } }

input:not([type=submit]), select, select > option {
  background-color: rgba(46, 114, 127, 0.1);
  border: 1px solid transparent;
  line-height: 1.5;
  padding: 0.75rem;
  font-size: 0.75rem; }
  @media print, screen and (min-width: 40em) {
    input:not([type=submit]), select, select > option {
      font-size: 1rem; } }
  input:not([type=submit])::-webkit-input-placeholder, input:not([type=submit]) option[value=''], select::-webkit-input-placeholder, select option[value=''], select > option::-webkit-input-placeholder, select > option option[value=''] {
    color: rgba(98, 98, 98, 0.4); }
  input:not([type=submit]):-ms-input-placeholder, input:not([type=submit]) option[value=''], select:-ms-input-placeholder, select option[value=''], select > option:-ms-input-placeholder, select > option option[value=''] {
    color: rgba(98, 98, 98, 0.4); }
  input:not([type=submit])::placeholder, input:not([type=submit]) option[value=''], select::placeholder, select option[value=''], select > option::placeholder, select > option option[value=''] {
    color: rgba(98, 98, 98, 0.4); }
  input:not([type=submit]):hover, input:not([type=submit]):focus, input:not([type=submit]):active, select:hover, select:focus, select:active, select > option:hover, select > option:focus, select > option:active {
    border: 1px solid #2E727F;
    background-color: rgba(46, 114, 127, 0.1); }

select {
  padding: 0.75rem 1.5rem 0.75rem 0.75rem; }

.select-wrapper {
  position: relative;
  margin-bottom: 1rem; }
  .select-wrapper select {
    background-image: none;
    margin-bottom: 0rem; }
  .select-wrapper::after {
    content: '\f107';
    font-family: 'FontAwesome';
    position: absolute;
    right: 4px;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
        -ms-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
    font-size: 1rem;
    color: #2E727F;
    pointer-events: none; }

.ui-widget.ui-datepicker .ui-datepicker-header {
  background-color: #FFFFFF; }
  .ui-widget.ui-datepicker .ui-datepicker-header .ui-datepicker-title select {
    margin: 0rem;
    border-bottom: 1px solid #626262; }

.gform_confirmation_wrapper {
  max-width: 37.5rem;
  width: 90%;
  margin-right: auto;
  margin-left: auto; }

body {
  font-size: 1rem;
  letter-spacing: 0.5px; }
  @media print, screen and (min-width: 40em) {
    body {
      font-size: 1rem; } }

h1, h2, h3, h4, h5, h6, .show-as-h1, .show-as-h2, .show-as-h3, .result-item .entry-title, .gform_wrapper .gform_heading h3.gform_title, .page-wrap.type-archive.career .archive-content .archive-text-cell > h2, .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont .entry-title, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.price, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .woocommerce-Price-amount.amount, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dd, section.info-copy .quote-content, div.page-wrap > blockquote > p, .show-as-h4, .show-as-h5, section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-title, .show-as-h6, .archive-content .archive-tile .entry-content .entry-title {
  font-weight: 400; }

.show-as-h1 {
  font-size: 2.25rem;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  @media print, screen and (min-width: 40em) {
    .show-as-h1 {
      font-size: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .show-as-h1 {
      font-size: 3rem; } }

.show-as-h2 {
  font-size: 1.875rem;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  @media print, screen and (min-width: 40em) {
    .show-as-h2 {
      font-size: 2.625rem; } }
  @media print, screen and (min-width: 64em) {
    .show-as-h2 {
      font-size: 2.625rem; } }

.show-as-h3, .result-item .entry-title, .gform_wrapper .gform_heading h3.gform_title, .page-wrap.type-archive.career .archive-content .archive-text-cell > h2, .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont .entry-title, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.price, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .woocommerce-Price-amount.amount, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dd, section.info-copy .quote-content, div.page-wrap > blockquote > p {
  font-size: 1.625rem;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  @media print, screen and (min-width: 40em) {
    .show-as-h3, .result-item .entry-title, .gform_wrapper .gform_heading h3.gform_title, .page-wrap.type-archive.career .archive-content .archive-text-cell > h2, .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont .entry-title, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.price, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .woocommerce-Price-amount.amount, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dd, section.info-copy .quote-content, div.page-wrap > blockquote > p {
      font-size: 2.125rem; } }
  @media print, screen and (min-width: 64em) {
    .show-as-h3, .result-item .entry-title, .gform_wrapper .gform_heading h3.gform_title, .page-wrap.type-archive.career .archive-content .archive-text-cell > h2, .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont .entry-title, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.price, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .woocommerce-Price-amount.amount, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dd, section.info-copy .quote-content, div.page-wrap > blockquote > p {
      font-size: 2.25rem; } }

.show-as-h4 {
  font-size: 1.375rem;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  @media print, screen and (min-width: 40em) {
    .show-as-h4 {
      font-size: 1.5rem; } }
  @media print, screen and (min-width: 64em) {
    .show-as-h4 {
      font-size: 1.75rem; } }

.show-as-h5, section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-title {
  font-size: 1.125rem;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  @media print, screen and (min-width: 40em) {
    .show-as-h5, section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-title {
      font-size: 1.375rem; } }
  @media print, screen and (min-width: 64em) {
    .show-as-h5, section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-title {
      font-size: 1.375rem; } }

.show-as-h6, .archive-content .archive-tile .entry-content .entry-title {
  font-size: 1rem;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  @media print, screen and (min-width: 40em) {
    .show-as-h6, .archive-content .archive-tile .entry-content .entry-title {
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 64em) {
    .show-as-h6, .archive-content .archive-tile .entry-content .entry-title {
      font-size: 1.125rem; } }

.post-navigation {
  background-color: #FFFFFF;
  padding: 1rem 0 1.5rem;
  width: 100%;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .post-navigation {
      padding-top: 2rem;
      padding-bottom: 2.75rem; } }
  @media screen and (min-width: 75em) {
    .post-navigation {
      padding-top: 3rem;
      padding-bottom: 3.5rem; } }
  .post-navigation .prev-link, .post-navigation .next-link {
    margin-bottom: 1rem;
    text-align: left; }
    @media print, screen and (min-width: 40em) {
      .post-navigation .prev-link, .post-navigation .next-link {
        margin-bottom: 0;
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                    -ms-grid-row-align: center;
                align-self: center; } }
    .post-navigation .prev-link > a, .post-navigation .next-link > a {
      font-size: 1rem; }
      .post-navigation .prev-link > a i.fa, .post-navigation .next-link > a i.fa {
        color: #2E727F; }
  .post-navigation .next-link {
    margin-bottom: 1rem;
    text-align: right; }
    @media print, screen and (min-width: 40em) {
      .post-navigation .next-link {
        margin-bottom: 0;
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                    -ms-grid-row-align: center;
                align-self: center; } }
  .post-navigation .view-all-button {
    text-align: center; }

@media print, screen and (min-width: 40em) {
  section.content-location-map .acf-map {
    min-height: 21rem; } }

section.content-location-map .map-grid {
  background-color: #F4FCFD; }

section.content-location-map .map-cell {
  padding-left: 0rem;
  padding-right: 0rem; }
  section.content-location-map .map-cell > .grid-x {
    height: 100%; }
    section.content-location-map .map-cell > .grid-x > .map-information {
      height: 100%; }

section.content-location-map .text-cell {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch; }
  section.content-location-map .text-cell .text-content {
    width: 100%;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      section.content-location-map .text-cell .text-content {
        padding-top: 2.08333rem;
        padding-bottom: 2.08333rem; } }
    @media print, screen and (min-width: 64em) {
      section.content-location-map .text-cell .text-content {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem; } }
    @media screen and (min-width: 75em) {
      section.content-location-map .text-cell .text-content {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem; } }
    @media screen and (min-width: 90em) {
      section.content-location-map .text-cell .text-content {
        padding-top: 3.38542rem;
        padding-bottom: 3.38542rem; } }
    @media print, screen and (min-width: 40em) {
      section.content-location-map .text-cell .text-content {
        padding-left: 1.25rem;
        padding-right: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      section.content-location-map .text-cell .text-content {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (min-width: 75em) {
      section.content-location-map .text-cell .text-content {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (min-width: 90em) {
      section.content-location-map .text-cell .text-content {
        padding-left: 2.03125rem;
        padding-right: 2.03125rem; } }
    @media print, screen and (min-width: 40em) {
      section.content-location-map .text-cell .text-content {
        text-align: left; }
        section.content-location-map .text-cell .text-content .section-title::after {
          left: 1.5625rem;
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none; } }
    section.content-location-map .text-cell .text-content address {
      margin-bottom: 1.5rem; }
    section.content-location-map .text-cell .text-content .location-contact-info > span.fa {
      color: #8FB5BC; }

section.content-location-map + section.content-location-map {
  padding-top: 0rem; }
  @media print, screen and (min-width: 64em) {
    section.content-location-map + section.content-location-map {
      margin-top: -1rem; } }

.page-wrap.has-form-with-background .gform_wrapper {
  display: block;
  position: relative;
  background-color: #FFFFFF;
  width: calc(100% - 3rem);
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important; }
  @media print, screen and (min-width: 64em) {
    .page-wrap.has-form-with-background .gform_wrapper {
      margin-top: 5rem !important;
      margin-bottom: 5rem !important; } }
  .page-wrap.has-form-with-background .gform_wrapper::before {
    z-index: -1;
    content: ' ';
    position: absolute;
    width: 100vw;
    top: -1.5rem;
    bottom: -1.5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: transparent;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center; }
    @media print, screen and (min-width: 64em) {
      .page-wrap.has-form-with-background .gform_wrapper::before {
        top: -5rem;
        bottom: -5rem; } }

.add-to-cart {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }
  .add-to-cart.variable .tabs > li > a[role=tab] {
    font-family: "PT Sans Caption", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    background-color: #F4FCFD;
    color: #000000; }
    .add-to-cart.variable .tabs > li > a[role=tab]:hover, .add-to-cart.variable .tabs > li > a[role=tab]:focus, .add-to-cart.variable .tabs > li > a[role=tab]:active {
      background-color: #2E727F;
      color: #FFFFFF; }
  .add-to-cart.variable .tabs > li.is-active > a[role=tab] {
    background-color: #23484F;
    color: #FFFFFF; }
  .add-to-cart.variable .tabs-content {
    margin-bottom: 2rem; }

div.reveal {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  max-width: 57rem; }
  @media print, screen and (min-width: 40em) {
    div.reveal {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.reveal {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    div.reveal {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    div.reveal {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    div.reveal {
      width: calc(100% - 6rem); } }
  div.reveal.form-reveal .gform_wrapper {
    padding-left: 0rem;
    padding-right: 0rem;
    max-width: none !important; }
    div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .gfield_time_hour > i, div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .gfield_time_hour > label, div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .gfield_time_minute > i, div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .gfield_time_minute > label {
      display: none; }
    div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .clear-multi {
      -webkit-justify-content: stretch;
          -ms-flex-pack: stretch;
              justify-content: stretch; }
      div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .clear-multi > div {
        width: auto;
        max-width: none; }
        div.reveal.form-reveal .gform_wrapper .gfield.field_sublabel_below .clear-multi > div:last-child {
          margin-right: 0rem; }

.age-confirm-reveal {
  max-width: 50rem; }
  .age-confirm-reveal .site-logo-cont {
    text-align: center; }
    .age-confirm-reveal .site-logo-cont .site-logo {
      display: inline-block;
      width: 100%;
      max-width: 12.5rem; }
      @media print, screen and (min-width: 40em) {
        .age-confirm-reveal .site-logo-cont .site-logo {
          max-width: 31.25rem; } }
  .age-confirm-reveal .age-confirm-form {
    margin-top: 2rem;
    margin-bottom: 2rem; }
    .age-confirm-reveal .age-confirm-form .label-cell {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media print, screen and (min-width: 40em) {
        .age-confirm-reveal .age-confirm-form .label-cell {
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; } }
    .age-confirm-reveal .age-confirm-form label {
      margin-bottom: 0.25rem;
      text-align: left; }
    @media screen and (max-width: 39.9375em) {
      .age-confirm-reveal .age-confirm-form button {
        width: 100%; }
        .age-confirm-reveal .age-confirm-form button:not(:first-child) {
          margin-top: 1rem; } }
    .age-confirm-reveal .age-confirm-form .age-confirm-errors {
      color: #cc4b37; }
      .age-confirm-reveal .age-confirm-form .age-confirm-errors:not(:empty) {
        padding: 1rem; }

.button, a.button, input[type="submit"], .woocommerce button.button, .woocommerce a.button, .woocommerce input[type="submit"] {
  background-color: #2E727F;
  color: #FFFFFF;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1rem;
  border: 0.0625rem solid #2E727F;
  transition: all 0.5s ease;
  min-width: 10rem;
  font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  letter-spacing: 3px;
  border-radius: 0px; }
  .button:not([disabled]):hover, .button:not([disabled]):active, .button:not([disabled]):focus, a.button:not([disabled]):hover, a.button:not([disabled]):active, a.button:not([disabled]):focus, input[type="submit"]:not([disabled]):hover, input[type="submit"]:not([disabled]):active, input[type="submit"]:not([disabled]):focus, .woocommerce button.button:not([disabled]):hover, .woocommerce button.button:not([disabled]):active, .woocommerce button.button:not([disabled]):focus, .woocommerce a.button:not([disabled]):hover, .woocommerce a.button:not([disabled]):active, .woocommerce a.button:not([disabled]):focus, .woocommerce input[type="submit"]:not([disabled]):hover, .woocommerce input[type="submit"]:not([disabled]):active, .woocommerce input[type="submit"]:not([disabled]):focus {
    color: #FFFFFF;
    background-color: #23484F;
    border-color: #23484F; }
  .button[disabled], .button:disabled, .button:disabled[disabled], a.button[disabled], a.button:disabled, a.button:disabled[disabled], input[type="submit"][disabled], input[type="submit"]:disabled, input[type="submit"]:disabled[disabled], .woocommerce button.button[disabled], .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce a.button[disabled], .woocommerce a.button:disabled, .woocommerce a.button:disabled[disabled], .woocommerce input[type="submit"][disabled], .woocommerce input[type="submit"]:disabled, .woocommerce input[type="submit"]:disabled[disabled] {
    opacity: 0.4;
    padding: 1rem;
    color: #FFFFFF; }
    .button[disabled]:hover, .button[disabled]:active, .button[disabled]:focus, .button:disabled:hover, .button:disabled:active, .button:disabled:focus, .button:disabled[disabled]:hover, .button:disabled[disabled]:active, .button:disabled[disabled]:focus, a.button[disabled]:hover, a.button[disabled]:active, a.button[disabled]:focus, a.button:disabled:hover, a.button:disabled:active, a.button:disabled:focus, a.button:disabled[disabled]:hover, a.button:disabled[disabled]:active, a.button:disabled[disabled]:focus, input[type="submit"][disabled]:hover, input[type="submit"][disabled]:active, input[type="submit"][disabled]:focus, input[type="submit"]:disabled:hover, input[type="submit"]:disabled:active, input[type="submit"]:disabled:focus, input[type="submit"]:disabled[disabled]:hover, input[type="submit"]:disabled[disabled]:active, input[type="submit"]:disabled[disabled]:focus, .woocommerce button.button[disabled]:hover, .woocommerce button.button[disabled]:active, .woocommerce button.button[disabled]:focus, .woocommerce button.button:disabled:hover, .woocommerce button.button:disabled:active, .woocommerce button.button:disabled:focus, .woocommerce button.button:disabled[disabled]:hover, .woocommerce button.button:disabled[disabled]:active, .woocommerce button.button:disabled[disabled]:focus, .woocommerce a.button[disabled]:hover, .woocommerce a.button[disabled]:active, .woocommerce a.button[disabled]:focus, .woocommerce a.button:disabled:hover, .woocommerce a.button:disabled:active, .woocommerce a.button:disabled:focus, .woocommerce a.button:disabled[disabled]:hover, .woocommerce a.button:disabled[disabled]:active, .woocommerce a.button:disabled[disabled]:focus, .woocommerce input[type="submit"][disabled]:hover, .woocommerce input[type="submit"][disabled]:active, .woocommerce input[type="submit"][disabled]:focus, .woocommerce input[type="submit"]:disabled:hover, .woocommerce input[type="submit"]:disabled:active, .woocommerce input[type="submit"]:disabled:focus, .woocommerce input[type="submit"]:disabled[disabled]:hover, .woocommerce input[type="submit"]:disabled[disabled]:active, .woocommerce input[type="submit"]:disabled[disabled]:focus {
      background-color: #2E727F;
      color: #FFFFFF; }
  .button.outline, section.newsletter-signup .text-cell > .text-cell-content .form-content input[type=submit], a.button.outline, input[type="submit"].outline, .woocommerce button.button.outline, .woocommerce a.button.outline, .woocommerce input[type="submit"].outline {
    background-color: transparent;
    border-color: #FFFFFF; }
    .button.outline:not([disabled]):hover, section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([disabled]):hover[type=submit], .button.outline:not([disabled]):active, section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([disabled]):active[type=submit], .button.outline:not([disabled]):focus, section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([disabled]):focus[type=submit], a.button.outline:not([disabled]):hover, a.button.outline:not([disabled]):active, a.button.outline:not([disabled]):focus, input[type="submit"].outline:not([disabled]):hover, input[type="submit"].outline:not([disabled]):active, input[type="submit"].outline:not([disabled]):focus, .woocommerce button.button.outline:not([disabled]):hover, .woocommerce button.button.outline:not([disabled]):active, .woocommerce button.button.outline:not([disabled]):focus, .woocommerce a.button.outline:not([disabled]):hover, .woocommerce a.button.outline:not([disabled]):active, .woocommerce a.button.outline:not([disabled]):focus, .woocommerce input[type="submit"].outline:not([disabled]):hover, .woocommerce input[type="submit"].outline:not([disabled]):active, .woocommerce input[type="submit"].outline:not([disabled]):focus {
      background-color: #2E727F;
      border-color: #2E727F; }
    .button.outline.secondary:not([disabled]):hover, section.newsletter-signup .text-cell > .text-cell-content .form-content input.secondary:not([disabled]):hover[type=submit], .button.outline.secondary:not([disabled]):active, section.newsletter-signup .text-cell > .text-cell-content .form-content input.secondary:not([disabled]):active[type=submit], .button.outline.secondary:not([disabled]):focus, section.newsletter-signup .text-cell > .text-cell-content .form-content input.secondary:not([disabled]):focus[type=submit], a.button.outline.secondary:not([disabled]):hover, a.button.outline.secondary:not([disabled]):active, a.button.outline.secondary:not([disabled]):focus, input[type="submit"].outline.secondary:not([disabled]):hover, input[type="submit"].outline.secondary:not([disabled]):active, input[type="submit"].outline.secondary:not([disabled]):focus, .woocommerce button.button.outline.secondary:not([disabled]):hover, .woocommerce button.button.outline.secondary:not([disabled]):active, .woocommerce button.button.outline.secondary:not([disabled]):focus, .woocommerce a.button.outline.secondary:not([disabled]):hover, .woocommerce a.button.outline.secondary:not([disabled]):active, .woocommerce a.button.outline.secondary:not([disabled]):focus, .woocommerce input[type="submit"].outline.secondary:not([disabled]):hover, .woocommerce input[type="submit"].outline.secondary:not([disabled]):active, .woocommerce input[type="submit"].outline.secondary:not([disabled]):focus {
      background-color: #FFFFFF;
      border-color: #FFFFFF;
      color: #2E727F; }
    .button.outline[disabled]:hover, section.newsletter-signup .text-cell > .text-cell-content .form-content input[disabled]:hover[type=submit], .button.outline[disabled]:active, section.newsletter-signup .text-cell > .text-cell-content .form-content input[disabled]:active[type=submit], .button.outline[disabled]:focus, section.newsletter-signup .text-cell > .text-cell-content .form-content input[disabled]:focus[type=submit], a.button.outline[disabled]:hover, a.button.outline[disabled]:active, a.button.outline[disabled]:focus, input[type="submit"].outline[disabled]:hover, input[type="submit"].outline[disabled]:active, input[type="submit"].outline[disabled]:focus, .woocommerce button.button.outline[disabled]:hover, .woocommerce button.button.outline[disabled]:active, .woocommerce button.button.outline[disabled]:focus, .woocommerce a.button.outline[disabled]:hover, .woocommerce a.button.outline[disabled]:active, .woocommerce a.button.outline[disabled]:focus, .woocommerce input[type="submit"].outline[disabled]:hover, .woocommerce input[type="submit"].outline[disabled]:active, .woocommerce input[type="submit"].outline[disabled]:focus {
      background-color: transparent;
      border-color: #FFFFFF; }
  .button.inverted, a.button.inverted, input[type="submit"].inverted, .woocommerce button.button.inverted, .woocommerce a.button.inverted, .woocommerce input[type="submit"].inverted {
    background-color: transparent;
    border-color: #2E727F;
    color: #000000;
    border-width: 0.0625rem; }
    .button.inverted:not([disabled]):hover, .button.inverted:not([disabled]):active, .button.inverted:not([disabled]):focus, a.button.inverted:not([disabled]):hover, a.button.inverted:not([disabled]):active, a.button.inverted:not([disabled]):focus, input[type="submit"].inverted:not([disabled]):hover, input[type="submit"].inverted:not([disabled]):active, input[type="submit"].inverted:not([disabled]):focus, .woocommerce button.button.inverted:not([disabled]):hover, .woocommerce button.button.inverted:not([disabled]):active, .woocommerce button.button.inverted:not([disabled]):focus, .woocommerce a.button.inverted:not([disabled]):hover, .woocommerce a.button.inverted:not([disabled]):active, .woocommerce a.button.inverted:not([disabled]):focus, .woocommerce input[type="submit"].inverted:not([disabled]):hover, .woocommerce input[type="submit"].inverted:not([disabled]):active, .woocommerce input[type="submit"].inverted:not([disabled]):focus {
      background-color: #2E727F;
      border-color: #2E727F;
      color: #FFFFFF; }
    .button.inverted[disabled]:hover, .button.inverted[disabled]:active, .button.inverted[disabled]:focus, a.button.inverted[disabled]:hover, a.button.inverted[disabled]:active, a.button.inverted[disabled]:focus, input[type="submit"].inverted[disabled]:hover, input[type="submit"].inverted[disabled]:active, input[type="submit"].inverted[disabled]:focus, .woocommerce button.button.inverted[disabled]:hover, .woocommerce button.button.inverted[disabled]:active, .woocommerce button.button.inverted[disabled]:focus, .woocommerce a.button.inverted[disabled]:hover, .woocommerce a.button.inverted[disabled]:active, .woocommerce a.button.inverted[disabled]:focus, .woocommerce input[type="submit"].inverted[disabled]:hover, .woocommerce input[type="submit"].inverted[disabled]:active, .woocommerce input[type="submit"].inverted[disabled]:focus {
      background-color: transparent;
      border-color: #2E727F;
      color: #000000; }
  .button.white, a.button.white, input[type="submit"].white, .woocommerce button.button.white, .woocommerce a.button.white, .woocommerce input[type="submit"].white {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
    color: #2E727F; }
    .button.white:not([disabled]):hover, .button.white:not([disabled]):active, .button.white:not([disabled]):focus, a.button.white:not([disabled]):hover, a.button.white:not([disabled]):active, a.button.white:not([disabled]):focus, input[type="submit"].white:not([disabled]):hover, input[type="submit"].white:not([disabled]):active, input[type="submit"].white:not([disabled]):focus, .woocommerce button.button.white:not([disabled]):hover, .woocommerce button.button.white:not([disabled]):active, .woocommerce button.button.white:not([disabled]):focus, .woocommerce a.button.white:not([disabled]):hover, .woocommerce a.button.white:not([disabled]):active, .woocommerce a.button.white:not([disabled]):focus, .woocommerce input[type="submit"].white:not([disabled]):hover, .woocommerce input[type="submit"].white:not([disabled]):active, .woocommerce input[type="submit"].white:not([disabled]):focus {
      background-color: #d9d9d9;
      border-color: #d9d9d9; }
    .button.white[disabled]:hover, .button.white[disabled]:active, .button.white[disabled]:focus, a.button.white[disabled]:hover, a.button.white[disabled]:active, a.button.white[disabled]:focus, input[type="submit"].white[disabled]:hover, input[type="submit"].white[disabled]:active, input[type="submit"].white[disabled]:focus, .woocommerce button.button.white[disabled]:hover, .woocommerce button.button.white[disabled]:active, .woocommerce button.button.white[disabled]:focus, .woocommerce a.button.white[disabled]:hover, .woocommerce a.button.white[disabled]:active, .woocommerce a.button.white[disabled]:focus, .woocommerce input[type="submit"].white[disabled]:hover, .woocommerce input[type="submit"].white[disabled]:active, .woocommerce input[type="submit"].white[disabled]:focus {
      background-color: #FFFFFF;
      color: #2E727F; }

.woocommerce a.button.alt, .woocommerce button.button.alt {
  background-color: #2E727F; }
  .woocommerce a.button.alt:hover, .woocommerce a.button.alt:focus, .woocommerce a.button.alt:active, .woocommerce button.button.alt:hover, .woocommerce button.button.alt:focus, .woocommerce button.button.alt:active {
    background-color: #23484F; }

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

@media screen and (max-width: 39.9375em) {
  .featured-hero.title-only + .breadcrumb-section + .page-wrap {
    padding-top: 0 !important; } }

.featured-hero.has-bg {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 15.625rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero.has-bg {
      min-height: 25rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero.has-bg {
      min-height: 31.25rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero.has-bg {
      min-height: 44rem; } }
  .featured-hero.has-bg:not(.no-shadow)::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 0; }
  .featured-hero.has-bg .hero-content {
    margin-top: 0rem;
    margin-bottom: 0.5rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    text-align: center;
    height: 100%;
    min-height: 15.625rem; }
    @media print, screen and (min-width: 40em) {
      .featured-hero.has-bg .hero-content {
        min-height: 25rem; } }
    @media print, screen and (min-width: 64em) {
      .featured-hero.has-bg .hero-content {
        min-height: 31.25rem; } }
    @media screen and (min-width: 75em) {
      .featured-hero.has-bg .hero-content {
        min-height: 44rem; } }
    .featured-hero.has-bg .hero-content > * {
      color: #FFFFFF; }
    .featured-hero.has-bg .hero-content .page-title {
      text-shadow: 0 2px 20px rgba(0, 0, 0, 0.62); }
  .featured-hero.has-bg.post:after {
    content: none; }

.featured-hero .hero-content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero .hero-content {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero .hero-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero .hero-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    .featured-hero .hero-content {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero .hero-content {
      margin-top: 2.5rem; } }
  .featured-hero .hero-content > * {
    color: rgba(0, 0, 0, 0.8);
    width: 100%; }
  .featured-hero .hero-content .page-title,
  .featured-hero .hero-content .header-text {
    font-weight: 400;
    line-height: 1;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto; }

.featured-hero > * {
  z-index: 2;
  position: relative; }

.featured-hero.page-php .hero-content, .featured-hero.single-career-php .hero-content, .featured-hero.archive-career-php .hero-content, .featured-hero.contact-php .hero-content, .featured-hero.single-post-php .hero-content {
  margin-top: 0rem;
  margin-bottom: 2rem; }
  @media print, screen and (min-width: 64em) {
    .featured-hero.page-php .hero-content, .featured-hero.single-career-php .hero-content, .featured-hero.archive-career-php .hero-content, .featured-hero.contact-php .hero-content, .featured-hero.single-post-php .hero-content {
      margin-bottom: 3.5rem; } }

.featured-hero.page-php.has-bg, .featured-hero.single-career-php.has-bg, .featured-hero.archive-career-php.has-bg, .featured-hero.contact-php.has-bg, .featured-hero.single-post-php.has-bg {
  margin-bottom: 2rem;
  min-height: 11.25rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero.page-php.has-bg, .featured-hero.single-career-php.has-bg, .featured-hero.archive-career-php.has-bg, .featured-hero.contact-php.has-bg, .featured-hero.single-post-php.has-bg {
      margin-bottom: 0rem;
      min-height: 15.625rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero.page-php.has-bg, .featured-hero.single-career-php.has-bg, .featured-hero.archive-career-php.has-bg, .featured-hero.contact-php.has-bg, .featured-hero.single-post-php.has-bg {
      min-height: 24rem; } }
  .featured-hero.page-php.has-bg .hero-content, .featured-hero.single-career-php.has-bg .hero-content, .featured-hero.archive-career-php.has-bg .hero-content, .featured-hero.contact-php.has-bg .hero-content, .featured-hero.single-post-php.has-bg .hero-content {
    margin-bottom: 0rem; }

.featured-hero.single-career-php .hero-content {
  margin-top: 0rem;
  margin-bottom: 2rem;
  min-height: 0rem; }
  .featured-hero.single-career-php .hero-content .page-title {
    margin-bottom: 1.5rem; }
    @media print, screen and (min-width: 64em) {
      .featured-hero.single-career-php .hero-content .page-title {
        margin-left: 0rem;
        max-width: 50rem; } }
  .featured-hero.single-career-php .hero-content .caption-list {
    font-weight: 700;
    color: #000000;
    font-size: 0.875rem;
    line-height: 1.35714;
    letter-spacing: 2px; }
    .featured-hero.single-career-php .hero-content .caption-list .caption-list-item {
      position: relative;
      display: block; }
      @media print, screen and (min-width: 40em) {
        .featured-hero.single-career-php .hero-content .caption-list .caption-list-item {
          display: inline-block;
          padding-right: 1.5rem; } }
      .featured-hero.single-career-php .hero-content .caption-list .caption-list-item::after {
        content: ' ';
        background-color: #000000;
        border-radius: 50%;
        height: 5px;
        width: 5px;
        position: absolute;
        right: 0.5rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        display: none; }
        @media print, screen and (min-width: 40em) {
          .featured-hero.single-career-php .hero-content .caption-list .caption-list-item::after {
            display: block; } }
      .featured-hero.single-career-php .hero-content .caption-list .caption-list-item:last-child {
        padding-right: 0rem; }
        .featured-hero.single-career-php .hero-content .caption-list .caption-list-item:last-child::after {
          display: none; }

.featured-hero.single-career-php.has-bg {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .featured-hero.single-career-php.has-bg .hero-content {
    display: block; }
    @media print, screen and (min-width: 64em) {
      .featured-hero.single-career-php.has-bg .hero-content {
        text-align: left; } }
    .featured-hero.single-career-php.has-bg .hero-content .caption-list {
      color: #FFFFFF; }
      .featured-hero.single-career-php.has-bg .hero-content .caption-list .caption-list-item::after {
        background-color: #FFFFFF; }

.featured-hero.archive-career-php .hero-content, .featured-hero.contact-php .hero-content {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  @media print, screen and (min-width: 64em) {
    .featured-hero.archive-career-php .hero-content, .featured-hero.contact-php .hero-content {
      margin-top: 3.5rem;
      margin-bottom: 3.5rem; } }

.featured-hero.archive-career-php.has-bg, .featured-hero.contact-php.has-bg {
  margin-bottom: 2rem;
  min-height: 11.25rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero.archive-career-php.has-bg, .featured-hero.contact-php.has-bg {
      margin-bottom: 0rem;
      min-height: 15.625rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero.archive-career-php.has-bg, .featured-hero.contact-php.has-bg {
      min-height: 24rem; } }
  .featured-hero.archive-career-php.has-bg .hero-content, .featured-hero.contact-php.has-bg .hero-content {
    margin-top: 0rem;
    margin-bottom: 0rem; }

.featured-hero.single-post-php.has-bg {
  min-height: 10rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero.single-post-php.has-bg {
      min-height: 14.375rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero.single-post-php.has-bg {
      min-height: 22rem; } }

.featured-hero.homepage-hero {
  min-height: 21.875rem; }
  .featured-hero.homepage-hero.has-bg:not(.no-shadow)::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    z-index: 0;
    background: rgba(0, 0, 0, 0.2); }
    @media print, screen and (min-width: 64em) {
      .featured-hero.homepage-hero.has-bg:not(.no-shadow)::after {
        height: 20.5rem;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, transparent 100%); } }
  @media print, screen and (min-width: 40em) {
    .featured-hero.homepage-hero {
      min-height: 28rem; } }
  @media print, screen and (min-width: 64em) {
    .featured-hero.homepage-hero {
      min-height: 44rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero.homepage-hero {
      min-height: 51.5rem; } }
  @media screen and (min-width: 90em) {
    .featured-hero.homepage-hero {
      min-height: 62.25rem; } }
  .featured-hero.homepage-hero .hero-content {
    margin: auto;
    text-align: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .featured-hero.homepage-hero .hero-content .page-title {
      font-weight: 400;
      margin-bottom: 1.5rem;
      line-height: 1.0769230769; }
      .featured-hero.homepage-hero .hero-content .page-title > em {
        font-size: 2rem; }
        @media print, screen and (min-width: 40em) {
          .featured-hero.homepage-hero .hero-content .page-title > em {
            font-size: 2.625rem; } }
        @media print, screen and (min-width: 64em) {
          .featured-hero.homepage-hero .hero-content .page-title > em {
            font-size: 4.0625rem; } }
    .featured-hero.homepage-hero .hero-content .page-sub-title {
      font-style: italic;
      font-size: 1.5rem; }
      @media print, screen and (min-width: 40em) {
        .featured-hero.homepage-hero .hero-content .page-sub-title {
          font-size: 1.875rem;
          font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
          line-height: 1.3333333333;
          text-shadow: 0 0.125rem 1.25rem rgba(0, 0, 0, 0.62); } }

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

ul.horizontal-list {
  list-style-type: none;
  margin: 0rem;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  ul.horizontal-list > li {
    display: inline-block;
    padding: 0rem 0.25rem; }
  ul.horizontal-list:after {
    content: ' ';
    display: block;
    clear: both; }

ul.social-icon-list a.social-link .fa {
  font-size: 1.25rem; }

ul.social-icon-list a.social-link:hover, ul.social-icon-list a.social-link:focus, ul.social-icon-list a.social-link:active {
  opacity: 0.6; }

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

a {
  transition: 0.5s ease;
  opacity: 1; }
  a.reg-link, .entry-content a:not(.button), p a:not(.button), .footer .subfooter-container a, .post-navigation .prev-link > a, .post-navigation .next-link > a, .reveal a:not(.button) {
    font-weight: 400;
    font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    display: inline-block;
    color: #2C2C2C;
    border-bottom: 1px dotted rgba(44, 44, 44, 0.5);
    text-decoration: none !important;
    position: relative;
    padding-left: 0;
    padding-right: 0.25rem;
    z-index: 0;
    line-height: 1.3125; }
    a.reg-link:before, .entry-content a:not(.button):before, p a:not(.button):before, .footer .subfooter-container a:before, .post-navigation .prev-link > a:before, .post-navigation .next-link > a:before, .reveal a:not(.button):before {
      content: '';
      width: 0%;
      background: transparent;
      transition: width .2s ease, background-color .2s ease;
      position: absolute;
      left: 0;
      bottom: -1px;
      top: auto;
      height: 1px;
      z-index: -1; }
    a.reg-link:hover, .entry-content a:hover:not(.button), p a:hover:not(.button), .footer .subfooter-container a:hover, .post-navigation .prev-link > a:hover, .post-navigation .next-link > a:hover, .reveal a:hover:not(.button), a.reg-link:focus, .entry-content a:focus:not(.button), p a:focus:not(.button), .footer .subfooter-container a:focus, .post-navigation .prev-link > a:focus, .post-navigation .next-link > a:focus, .reveal a:focus:not(.button) {
      text-decoration: none;
      color: #20505a; }
      a.reg-link:hover:before, .entry-content a:not(.button):hover:before, p a:not(.button):hover:before, .footer .subfooter-container a:hover:before, .post-navigation .prev-link > a:hover:before, .post-navigation .next-link > a:hover:before, .reveal a:not(.button):hover:before, a.reg-link:focus:before, .entry-content a:not(.button):focus:before, p a:not(.button):focus:before, .footer .subfooter-container a:focus:before, .post-navigation .prev-link > a:focus:before, .post-navigation .next-link > a:focus:before, .reveal a:not(.button):focus:before {
        width: 100%;
        background-color: #2E727F; }
  a.silent {
    height: 100%;
    width: 100%;
    display: block; }
  a.arrow-link {
    position: relative;
    box-sizing: border-box; }
    a.arrow-link:after {
      font-family: 'FontAwesome';
      content: '\f178';
      color: #2E727F;
      position: absolute;
      font-size: 18px;
      top: calc(50% - 9px);
      bottom: calc(50% - 9px);
      right: -1rem;
      transition: 0.5s ease; }
    a.arrow-link:hover:after, a.arrow-link:focus:after, a.arrow-link:active:after {
      right: -2rem; }

a.image-link .image-link-cont {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  width: 100%;
  padding-top: 72.5%;
  min-height: 15rem;
  position: relative;
  overflow: hidden; }
  a.image-link .image-link-cont .image-bg {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: all 0.5s ease;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0rem;
    bottom: 0rem;
    left: 0rem;
    right: 0rem;
    z-index: 0; }
  a.image-link .image-link-cont .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0rem;
    bottom: 0rem;
    left: 0rem;
    right: 0rem;
    z-index: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: rgba(255, 255, 255, 0.6); }
    a.image-link .image-link-cont .overlay .image-link-content {
      text-align: center; }
  a.image-link .image-link-cont .button {
    margin-bottom: 0rem; }

a.image-link:hover .image-bg, a.image-link:focus .image-bg, a.image-link:active .image-bg {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2); }

.breadcrumb-section {
  background-color: #FFFFFF; }
  .breadcrumb-section ul.breadcrumbs {
    background-color: transparent;
    border: none;
    margin: 0;
    padding: 1.5rem 0rem; }
    @media screen and (min-width: 90em) {
      .breadcrumb-section ul.breadcrumbs {
        padding: 2.125rem 0; } }
    .breadcrumb-section ul.breadcrumbs > li {
      color: rgba(0, 0, 0, 0.5);
      font-family: "PT Sans Caption", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      letter-spacing: 2px;
      line-height: 1.35714;
      font-size: 0.625rem;
      text-transform: uppercase; }
      @media print, screen and (min-width: 40em) {
        .breadcrumb-section ul.breadcrumbs > li {
          font-size: 0.875rem; } }
      .breadcrumb-section ul.breadcrumbs > li > a {
        color: #000000;
        transition: all 0.5s ease;
        text-decoration: none; }
        .breadcrumb-section ul.breadcrumbs > li > a:hover, .breadcrumb-section ul.breadcrumbs > li > a:focus, .breadcrumb-section ul.breadcrumbs > li > a:active {
          color: #2E727F; }
      .breadcrumb-section ul.breadcrumbs > li:before {
        content: '';
        display: none; }
      .breadcrumb-section ul.breadcrumbs > li:after {
        color: rgba(0, 0, 0, 0.5); }
  .breadcrumb-section .breadcrumbs li:not(:last-child)::after {
    margin: 0 0.5rem; }
  .breadcrumb-section.search-results-breadcrumbs {
    padding-bottom: 0; }
    .breadcrumb-section.search-results-breadcrumbs > .grid-container, .error404 .body-main .breadcrumb-section.search-results-breadcrumbs > #content.widecolumn {
      padding-bottom: 0; }
    .breadcrumb-section.search-results-breadcrumbs ul.breadcrumbs {
      margin-bottom: 0; }

.reveal {
  height: auto;
  min-height: inherit;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 4rem 1.5rem 1.5rem 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      padding: 4rem 2rem 2rem 2rem; } }
  .reveal button.close-button {
    font-size: 2.5rem;
    transition: all 0.5s ease;
    background-color: rgba(0, 0, 0, 0.05);
    color: #000000;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.25rem 1rem;
    line-height: 1; }
    .reveal button.close-button:focus, .reveal button.close-button:hover, .reveal button.close-button:active {
      background-color: #2E727F;
      color: #FFFFFF; }

.caption, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt {
  color: #000000;
  font-family: "PT Sans Caption", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  letter-spacing: 2px;
  line-height: 1.35714;
  font-size: 0.625rem;
  text-transform: uppercase; }
  @media print, screen and (min-width: 40em) {
    .caption, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt {
      font-size: 0.875rem; } }

.heading-underline {
  margin-bottom: 3.75rem;
  position: relative; }
  .heading-underline::after {
    content: ' ';
    bottom: -1.75rem;
    left: 50%;
    height: 4px;
    width: 6rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #2E727F;
    position: absolute; }

.acf-map {
  height: 100%;
  width: 100%;
  min-height: 12.5rem; }

.map-link {
  width: 100%;
  height: 100%; }

.map-image {
  width: 100%;
  height: 100%;
  min-height: 12.5rem;
  object-fit: cover; }

.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: 1.5rem;
    padding-left: 1.5rem;
    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: 2.5rem;
        padding-left: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      .front-hero .marketing {
        padding-right: 3rem;
        padding-left: 3rem; } }
    @media screen and (min-width: 75em) {
      .front-hero .marketing {
        padding-right: 3rem;
        padding-left: 3rem; } }
    @media screen and (min-width: 90em) {
      .front-hero .marketing {
        padding-right: 4.0625rem;
        padding-left: 4.0625rem; } }
  @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: 1.5rem;
  padding-left: 1.5rem;
  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: 2.5rem;
      padding-left: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .intro {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 75em) {
    .intro {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 90em) {
    .intro {
      padding-right: 4.0625rem;
      padding-left: 4.0625rem; } }
  .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: 1.5rem;
  padding-left: 1.5rem;
  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: 2.5rem;
      padding-left: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .section-divider {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 75em) {
    .section-divider {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 90em) {
    .section-divider {
      padding-right: 4.0625rem;
      padding-left: 4.0625rem; } }
  .section-divider hr {
    width: calc(100% - 2.25rem);
    margin-right: 1.125rem;
    margin-left: 1.125rem;
    box-sizing: border-box; }

.benefits {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  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: 2.5rem;
      padding-left: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .benefits {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 75em) {
    .benefits {
      padding-right: 3rem;
      padding-left: 3rem; } }
  @media screen and (min-width: 90em) {
    .benefits {
      padding-right: 4.0625rem;
      padding-left: 4.0625rem; } }
  .benefits header {
    width: calc(100% - 2.25rem);
    margin-right: 1.125rem;
    margin-left: 1.125rem; }
    .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% - 2.25rem);
    margin-right: 1.125rem;
    margin-left: 1.125rem;
    margin-top: 4rem; }

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

.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% - 2.25rem);
      margin-right: 1.125rem;
      margin-left: 1.125rem; } }

.kitchen-sink-nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-nav {
      width: calc(25% - 2.25rem);
      margin-right: 1.125rem;
      margin-left: 1.125rem;
      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: #2C2C2C;
        font-weight: bold;
        line-height: 1;
        padding-left: 0.9rem;
        margin-bottom: 0.5rem;
        border-top: 1px solid #626262;
        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; }

.type-error {
  padding-bottom: 3.5rem;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .type-error {
      padding-top: 5.3125rem; } }
  .type-error .entry-title {
    line-height: 1;
    color: #2E727F; }
  .type-error hr {
    margin-top: 2rem;
    margin-bottom: 2rem; }
    @media print, screen and (min-width: 64em) {
      .type-error hr {
        margin-top: 3rem;
        margin-bottom: 3rem; } }
  .type-error .entry-content {
    max-width: 37.5rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 95%; }
    .type-error .entry-content ul {
      text-align: left;
      max-width: 350px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 0.5rem;
      padding-left: 3rem; }
      @media print, screen and (min-width: 40em) {
        .type-error .entry-content ul {
          padding-top: 0.5rem;
          padding-left: 4rem; } }
      .type-error .entry-content ul li > a {
        text-transform: capitalize;
        text-decoration: underline;
        display: inline; }
  .type-error .bottom {
    font-size: 1.1rem;
    line-height: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      .type-error .bottom {
        font-size: 1.2rem;
        line-height: 1.8rem; } }
  .type-error .error span {
    text-align: center;
    color: #2E727F;
    font-size: 10rem; }
    @media print, screen and (min-width: 40em) {
      .type-error .error span {
        font-size: 15rem; } }
    @media print, screen and (min-width: 64em) {
      .type-error .error span {
        font-size: 20rem; } }
  .type-error .info-block p {
    font-weight: 600;
    margin-bottom: 0; }

.page-wrap.type-archive.career .archive-content {
  padding-top: 0rem; }
  .page-wrap.type-archive.career .archive-content .archive-text-cell > h2, .page-wrap.type-archive.career .archive-content .archive-text-cell > h3, .page-wrap.type-archive.career .archive-content .archive-text-cell > h4, .page-wrap.type-archive.career .archive-content .archive-text-cell > h5, .page-wrap.type-archive.career .archive-content .archive-text-cell > h6 {
    color: #000000;
    line-height: 1.33333;
    margin-bottom: 1.5rem; }
  .page-wrap.type-archive.career .archive-content .archive-text-cell > p {
    color: #626262;
    font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    line-height: 1.5;
    margin-bottom: 1.5rem;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      .page-wrap.type-archive.career .archive-content .archive-text-cell > p {
        font-size: 1rem; } }
  .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
    height: 100%;
    background-color: #F4FCFD;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    @media print, screen and (min-width: 40em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-left: 0.83333rem;
        padding-right: 0.83333rem; } }
    @media print, screen and (min-width: 64em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-left: 1rem;
        padding-right: 1rem; } }
    @media screen and (min-width: 75em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-left: 1rem;
        padding-right: 1rem; } }
    @media screen and (min-width: 90em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-left: 1.35417rem;
        padding-right: 1.35417rem; } }
    @media print, screen and (min-width: 40em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-top: 0.83333rem;
        padding-bottom: 0.83333rem; } }
    @media print, screen and (min-width: 64em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-top: 1rem;
        padding-bottom: 1rem; } }
    @media screen and (min-width: 75em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-top: 1rem;
        padding-bottom: 1rem; } }
    @media screen and (min-width: 90em) {
      .page-wrap.type-archive.career .archive-content .career-link-cell .career-list-cont {
        padding-top: 1.35417rem;
        padding-bottom: 1.35417rem; } }
  .page-wrap.type-archive.career .archive-content .career-link-cell .caption, .page-wrap.type-archive.career .archive-content .career-link-cell .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .page-wrap.type-archive.career .archive-content .career-link-cell dl.product-addon-totals > dt {
    padding: 0.5rem; }
  .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list {
    list-style-type: none;
    margin-left: 0rem;
    margin-right: 0rem; }
    .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li {
      width: 100%; }
      .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li > a {
        display: block;
        position: relative;
        border-bottom: 1px solid rgba(46, 114, 127, 0.2);
        width: 100%;
        padding: 1rem 2rem 1rem 0.5rem;
        line-height: 1.3125;
        color: #2C2C2C;
        font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
        font-size: 0.875rem; }
        @media print, screen and (min-width: 40em) {
          .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li > a {
            font-size: 1rem; } }
        .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li > a::after {
          content: '\f105';
          font-family: 'FontAwesome';
          position: absolute;
          right: 1rem;
          top: 50%;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          color: #2E727F; }
        .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li > a:hover, .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li > a:focus, .page-wrap.type-archive.career .archive-content .career-link-cell ul.careers-list > li > a:active {
          background-color: #E0EDF0; }

.page-wrap.type-archive.event header {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.type-archive.event header {
      margin-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .page-wrap.type-archive.event header {
      margin-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    .page-wrap.type-archive.event header {
      margin-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    .page-wrap.type-archive.event header {
      margin-bottom: 4.0625rem; } }
  .page-wrap.type-archive.event header > .cell > .entry-title {
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .page-wrap.type-archive.event header > .cell > .entry-title {
        text-align: left; } }

.page-wrap.type-archive.event .filter-cell {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .page-wrap.type-archive.event .filter-cell > .select-wrapper {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.type-archive.event .filter-cell {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
      .page-wrap.type-archive.event .filter-cell > .caption, .page-wrap.type-archive.event .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals.filter-cell > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .page-wrap.type-archive.event dl.product-addon-totals.filter-cell > dt {
        margin-right: 1rem; }
      .page-wrap.type-archive.event .filter-cell > .select-wrapper {
        width: auto;
        margin-right: 1rem; } }

.page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link {
  border: 1px solid transparent;
  background-color: #F4FCFD;
  text-align: center;
  min-height: 15.625rem; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link {
      min-height: 26.5rem; } }
  .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link:hover, .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link:focus, .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link:active {
    border: 1px solid #2E727F; }
    .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link:hover .fake-link, .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link:focus .fake-link, .page-wrap.type-archive.event .grid-cont .grid-item > article .tile-result-link:active .fake-link {
      background-color: #23484F; }

.page-wrap.type-archive.event .grid-cont .grid-item > article .post-featured-image-cell .post-featured-image {
  object-fit: cover;
  height: 100%;
  width: 100%;
  min-height: 5rem;
  max-height: 10rem; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.type-archive.event .grid-cont .grid-item > article .post-featured-image-cell .post-featured-image {
      min-height: 9.125rem;
      max-height: 11.25rem; } }

.page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.5rem; }
  .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont .entry-title {
      color: #2E727F; }
    .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont time {
      margin-bottom: 0.5rem;
      color: #2E727F;
      letter-spacing: 0.53px;
      line-height: 1.25;
      font-size: 0.75rem; }
      @media print, screen and (min-width: 40em) {
        .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .entry-title-cont time {
          font-size: 1rem; } }
  .page-wrap.type-archive.event .grid-cont .grid-item > article .entry-content .fake-link {
    margin-top: 1.5rem; }

.page-wrap.type-archive.event .load-more-cont {
  margin-top: 3rem;
  text-align: center; }

.page-wrap.type-archive.post .page-title {
  text-align: center;
  color: rgba(0, 0, 0, 0.8);
  padding-top: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.type-archive.post .page-title {
      padding-top: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .page-wrap.type-archive.post .page-title {
      padding-top: 3rem; } }
  @media screen and (min-width: 75em) {
    .page-wrap.type-archive.post .page-title {
      padding-top: 3rem; } }
  @media screen and (min-width: 90em) {
    .page-wrap.type-archive.post .page-title {
      padding-top: 4.0625rem; } }

.page-wrap.type-archive.post .post-archive-section + section.page-navigation {
  padding-top: 0rem; }

.page-wrap.type-archive.post .entry-content .entry-title-cont {
  width: 100%;
  white-space: pre-wrap; }

div.page-wrap.type-location section.google-map-with-meta .meta-container {
  margin-bottom: 2.5rem; }

div.page-wrap.type-location section.google-map-with-meta .section-title {
  color: #2E727F;
  font-style: italic;
  margin-bottom: 0.875rem;
  letter-spacing: 0px; }

div.page-wrap.type-location section.google-map-with-meta .address {
  color: #626262;
  letter-spacing: 0px;
  line-height: 1.5;
  font-size: 0.75rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-location section.google-map-with-meta .address {
      font-size: 1rem; } }

div.page-wrap.type-location section.google-map-with-meta .acf-map, div.page-wrap.type-location section.google-map-with-meta .map-image {
  min-height: 320px; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-location section.google-map-with-meta .acf-map, div.page-wrap.type-location section.google-map-with-meta .map-image {
      min-height: 450px; } }
  @media screen and (min-width: 75em) {
    div.page-wrap.type-location section.google-map-with-meta .acf-map, div.page-wrap.type-location section.google-map-with-meta .map-image {
      min-height: 560px; } }

div.page-wrap.type-location section.google-map-with-meta .map-image {
  height: 320px; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-location section.google-map-with-meta .map-image {
      height: 450px; } }
  @media screen and (min-width: 75em) {
    div.page-wrap.type-location section.google-map-with-meta .map-image {
      height: 560px; } }

.page-wrap.single-event-wrapper .featured-hero.event.has-bg {
  min-height: 12.5rem; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.single-event-wrapper .featured-hero.event.has-bg {
      min-height: 22rem; } }
  .page-wrap.single-event-wrapper .featured-hero.event.has-bg::after {
    display: none; }
  @media print, screen and (min-width: 40em) {
    .page-wrap.single-event-wrapper .featured-hero.event.has-bg {
      margin-top: 0.8125rem; } }

.page-wrap.type-career .breadcrumb-section {
  margin-bottom: 2rem; }

.page-wrap.type-career > p {
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 1.75rem; }
  .page-wrap.type-career > p:last-of-type {
    margin-bottom: 3.75rem; }

div.page-wrap.type-post.single-post-wrapper .breadcrumb-section ul.breadcrumbs {
  padding-top: 0.92308rem;
  padding-bottom: 0rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-post.single-post-wrapper .breadcrumb-section ul.breadcrumbs {
      padding-top: 1.53846rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap.type-post.single-post-wrapper .breadcrumb-section ul.breadcrumbs {
      padding-top: 1.84615rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap.type-post.single-post-wrapper .breadcrumb-section ul.breadcrumbs {
      padding-top: 1.84615rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap.type-post.single-post-wrapper .breadcrumb-section ul.breadcrumbs {
      padding-top: 2.5rem; } }

div.page-wrap.type-post.single-post-wrapper .breadcrumb-section > .grid-container, div.page-wrap.type-post.single-post-wrapper .error404 .body-main .breadcrumb-section > #content.widecolumn, .error404 .body-main div.page-wrap.type-post.single-post-wrapper .breadcrumb-section > #content.widecolumn {
  padding-left: 0rem;
  padding-right: 0rem; }

div.page-wrap.type-post.single-post-wrapper .featured-image-grid-container {
  padding-left: 0rem;
  padding-right: 0rem;
  padding-top: 0.92308rem;
  padding-bottom: 0.92308rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-post.single-post-wrapper .featured-image-grid-container {
      padding-top: 1.53846rem;
      padding-bottom: 1.53846rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap.type-post.single-post-wrapper .featured-image-grid-container {
      padding-top: 1.84615rem;
      padding-bottom: 1.84615rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap.type-post.single-post-wrapper .featured-image-grid-container {
      padding-top: 1.84615rem;
      padding-bottom: 1.84615rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap.type-post.single-post-wrapper .featured-image-grid-container {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }

div.page-wrap.type-post.single-post-wrapper .post-meta-cont time {
  display: block;
  color: #2E727F;
  margin-bottom: 1.5625rem; }

div.page-wrap.type-post.single-post-wrapper .post-meta-cont .page-title {
  margin-bottom: 2rem;
  color: rgba(0, 0, 0, 0.8); }

div.page-wrap.type-post.single-post-wrapper .post-meta-cont .author {
  margin-bottom: 1rem; }

.single-post-postnav-cont .post-navigation {
  margin-top: 0.92308rem; }
  @media print, screen and (min-width: 40em) {
    .single-post-postnav-cont .post-navigation {
      margin-top: 1.53846rem; } }
  @media print, screen and (min-width: 64em) {
    .single-post-postnav-cont .post-navigation {
      margin-top: 1.84615rem; } }
  @media screen and (min-width: 75em) {
    .single-post-postnav-cont .post-navigation {
      margin-top: 1.84615rem; } }
  @media screen and (min-width: 90em) {
    .single-post-postnav-cont .post-navigation {
      margin-top: 2.5rem; } }
  .single-post-postnav-cont .post-navigation > .grid-container, .single-post-postnav-cont .error404 .body-main .post-navigation > #content.widecolumn, .error404 .body-main .single-post-postnav-cont .post-navigation > #content.widecolumn {
    padding-left: 0rem;
    padding-right: 0rem; }

.page-wrap.type-page.generic-page .breadcrumb-section {
  margin-bottom: 2rem; }

.page-wrap.type-page.generic-page > p {
  padding-top: 0rem;
  padding-bottom: 0rem;
  margin-bottom: 1.75rem; }
  .page-wrap.type-page.generic-page > p:last-of-type {
    margin-bottom: 5.5rem; }

.content-post-tile .entry-content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media print, screen and (min-width: 40em) {
    .content-post-tile .entry-content {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .content-post-tile .entry-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    .content-post-tile .entry-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    .content-post-tile .entry-content {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .content-post-tile .entry-content {
      padding-top: 1.66667rem;
      padding-bottom: 1.66667rem; } }
  @media print, screen and (min-width: 64em) {
    .content-post-tile .entry-content {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  @media screen and (min-width: 75em) {
    .content-post-tile .entry-content {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  @media screen and (min-width: 90em) {
    .content-post-tile .entry-content {
      padding-top: 2.70833rem;
      padding-bottom: 2.70833rem; } }
  @media screen and (min-width: 75em) {
    .content-post-tile .entry-content {
      height: 100%; } }
  .content-post-tile .entry-content .caption, .content-post-tile .entry-content .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .content-post-tile .entry-content dl.product-addon-totals > dt {
    color: #2E727F; }
  .content-post-tile .entry-content .publish-date {
    display: block;
    margin-bottom: 1rem; }
  .content-post-tile .entry-content .entry-title {
    display: block;
    margin-bottom: 1rem; }
  .content-post-tile .entry-content .excerpt {
    color: #626262;
    margin-bottom: 3.0625rem; }
  .content-post-tile .entry-content .fake-link::before {
    content: '+ '; }
  @media screen and (min-width: 75em) {
    .content-post-tile .entry-content.has-image {
      padding-left: 0.75rem;
      padding-right: 0.75rem; } }
  @media screen and (min-width: 75em) and (min-width: 40em) {
    .content-post-tile .entry-content.has-image {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }
  @media screen and (min-width: 75em) and (min-width: 64em) {
    .content-post-tile .entry-content.has-image {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  @media screen and (min-width: 75em) and (min-width: 75em) {
    .content-post-tile .entry-content.has-image {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  @media screen and (min-width: 75em) and (min-width: 90em) {
    .content-post-tile .entry-content.has-image {
      padding-left: 2.03125rem;
      padding-right: 2.03125rem; } }

.content-post-tile .post-featured-image-cell {
  overflow: hidden; }
  .content-post-tile .post-featured-image-cell .post-featured-image {
    object-fit: cover;
    height: 100%;
    width: 100%;
    transition: all 0.5s ease;
    min-height: 6.25rem; }
    @media print, screen and (min-width: 40em) {
      .content-post-tile .post-featured-image-cell .post-featured-image {
        min-height: 11.25rem; } }

.content-post-tile .tile-link {
  border: 1px solid rgba(46, 114, 127, 0.15); }
  .content-post-tile .tile-link:hover, .content-post-tile .tile-link:focus, .content-post-tile .tile-link:active {
    background-color: #F4FCFD; }
    .content-post-tile .tile-link:hover .post-featured-image-cell .post-featured-image, .content-post-tile .tile-link:focus .post-featured-image-cell .post-featured-image, .content-post-tile .tile-link:active .post-featured-image-cell .post-featured-image {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }
  @media print, screen and (min-width: 40em) {
    .content-post-tile .tile-link > .grid-x {
      height: 100%; } }

div.page-wrap.type-search .result-count {
  margin-bottom: 1rem; }

div.page-wrap.type-search .entry-title.search-query {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-search .entry-title.search-query {
      margin-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap.type-search .entry-title.search-query {
      margin-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap.type-search .entry-title.search-query {
      margin-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap.type-search .entry-title.search-query {
      margin-bottom: 4.0625rem; } }

div.page-wrap.type-search .search-result-items-cont {
  padding-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap.type-search .search-result-items-cont {
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap.type-search .search-result-items-cont {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap.type-search .search-result-items-cont {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap.type-search .search-result-items-cont {
      padding-bottom: 4.0625rem; } }

.page-wrap.type-single.single-product .single-product-section {
  position: relative; }
  .page-wrap.type-single.single-product .single-product-section .on-sale-banner {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #cc4b37;
    color: #FFFFFF;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.5rem;
    font-family: "PT Sans Caption", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    letter-spacing: 2px;
    line-height: 1.35714;
    padding: 0rem 1.75rem;
    text-align: center;
    height: 4rem;
    width: 100%;
    margin-bottom: 2rem; }
    .page-wrap.type-single.single-product .single-product-section .on-sale-banner::before, .page-wrap.type-single.single-product .single-product-section .on-sale-banner::after {
      content: ' ';
      position: absolute;
      top: 0rem;
      bottom: 0rem;
      border-top: 2rem solid #cc4b37;
      border-bottom: 2rem solid #cc4b37;
      height: 100%;
      width: 1.25rem; }
    .page-wrap.type-single.single-product .single-product-section .on-sale-banner::before {
      left: -1.25rem;
      border-left: 1.25rem solid transparent; }
    .page-wrap.type-single.single-product .single-product-section .on-sale-banner::after {
      right: -1.25rem;
      border-right: 1.25rem solid transparent; }
    @media print, screen and (min-width: 40em) {
      .page-wrap.type-single.single-product .single-product-section .on-sale-banner {
        padding: 0rem 1.75rem 0rem 2.75rem;
        width: auto;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0rem;
        position: absolute;
        top: 3rem;
        left: 0rem;
        z-index: 1; }
        .page-wrap.type-single.single-product .single-product-section .on-sale-banner::before {
          display: none; } }
    @media screen and (min-width: 75em) {
      .page-wrap.type-single.single-product .single-product-section .on-sale-banner {
        padding-left: 7.5rem; } }
  .page-wrap.type-single.single-product .single-product-section .image-cell {
    text-align: center; }
    .page-wrap.type-single.single-product .single-product-section .image-cell .product-image {
      display: inline-block;
      width: 100%;
      height: auto;
      max-width: 100%;
      object-fit: contain;
      margin-bottom: 2rem;
      max-height: 15.625rem; }
      @media print, screen and (min-width: 40em) {
        .page-wrap.type-single.single-product .single-product-section .image-cell .product-image {
          max-height: 25rem;
          margin-bottom: 0rem; } }
      @media screen and (min-width: 75em) {
        .page-wrap.type-single.single-product .single-product-section .image-cell .product-image {
          max-height: 43.5rem; } }
  .page-wrap.type-single.single-product .single-product-section .product-meta-cell .entry-title {
    color: rgba(0, 0, 0, 0.8);
    margin-bottom: 1rem; }
  .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section {
    margin-bottom: 1.5rem; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section:last-child {
      margin-bottom: 0rem; }
  .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-download-link {
    color: #2C2C2C;
    font-size: 1rem;
    line-height: 1.3125;
    border-bottom: 1px dotted #2F373D;
    display: inline-block;
    padding-bottom: 0;
    position: relative;
    margin-right: 2.5rem;
    position: relative; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-download-link:after {
      content: '';
      display: block;
      height: 1px;
      width: 0;
      background: transparent;
      transition: width .5s ease, background-color .5s ease;
      margin-top: 1.5px; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-download-link:hover:after, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-download-link:focus:after, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-download-link:active:after {
      width: 100%;
      background: #2E727F; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-download-link .dl-icon {
      position: absolute;
      right: -1.5rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      color: #2E727F; }
  .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p {
    margin-bottom: 0.4375rem; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p:not(.caption):not(.price) {
      color: #626262;
      line-height: 1.5;
      font-size: 1rem;
      margin-bottom: 0rem; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p:last-child {
      margin-bottom: 0rem; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.price {
      color: #2E727F;
      font-style: italic;
      line-height: 1.33333; }
      .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.price::before {
        content: '$ '; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data p.news-link-section > a {
      display: table; }
  .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .add-to-cart-cont {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .add-to-cart-cont .quantity {
      margin-right: 1rem; }
      .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .add-to-cart-cont .quantity input, .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .add-to-cart-cont .quantity select {
        margin-bottom: 0rem; }
      .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .add-to-cart-cont .quantity select {
        width: auto; }
  .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section.price-section.is-on-sale {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section.price-section.is-on-sale {
        -webkit-align-items: flex-end;
            -ms-flex-align: end;
                align-items: flex-end;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section.price-section.is-on-sale .price.regular-price {
      color: #000000;
      font-size: 0.875rem;
      letter-spacing: 2px;
      line-height: 1.35714;
      text-decoration: line-through;
      margin-right: 1.75rem; }
    .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section.price-section.is-on-sale .on-sale-tag {
      max-height: 1.5rem;
      max-width: 18.75rem;
      height: 100%;
      width: auto;
      display: block; }
      @media print, screen and (min-width: 40em) {
        .page-wrap.type-single.single-product .single-product-section .product-meta-cell .product-meta-data .meta-section.price-section.is-on-sale .on-sale-tag {
          max-height: 1.75rem;
          margin-left: 1rem;
          display: inline-block; } }
  .page-wrap.type-single.single-product .single-product-section .bundled-product-image {
    height: 8rem;
    width: auto;
    max-width: 8rem;
    margin-bottom: 1rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated p.price::before {
    display: none;
    content: ''; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .woocommerce-Price-amount.amount {
    font-style: italic;
    color: #2E727F;
    margin-bottom: 1rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .quantity {
    display: inline-block; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    object-fit: contain;
    max-height: 18rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .single_add_to_cart_button.button.alt.disabled {
    background-color: rgba(46, 114, 127, 0.5);
    padding: 1rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .cart.cart_group.bundle_form .bundled_products table.variations td.value, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .cart.cart_group.bundle_form .bundled_product table.variations td.value {
    padding-top: 0rem; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .cart.cart_group.bundle_form .bundled_products table.variations td.value > select, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .cart.cart_group.bundle_form .bundled_product table.variations td.value > select {
      width: 65%; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .cart.cart_group.bundle_form .bundled_products table.variations td.value > div.reset_bundled_variations, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .cart.cart_group.bundle_form .bundled_product table.variations td.value > div.reset_bundled_variations {
      width: 35%; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .bundled_item_cart_content .wc-pao-addon-container:not(.wc-pao-required-addon) {
    display: none; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .wc-pao-addon-container {
    margin-bottom: 2rem; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .wc-pao-addon-container .wc-pao-addon-wrap::before, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .wc-pao-addon-container .wc-pao-addon-wrap::after {
      display: none; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .wc-pao-addon-container .wc-pao-addon-wrap > label {
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .wc-pao-addon-container .wc-pao-addon-wrap > label .wc-pao-addon-checkbox {
        margin-bottom: 0rem; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated .wc-pao-addon-container .woocommerce-Price-amount.amount {
      font-size: 1rem;
      margin: 0rem 0.25rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated table.variations td.label {
    background-color: #f7f7f7;
    display: table-cell;
    padding: 1rem; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated table.variations td.label > label {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      font-weight: 600; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated table.variations td.value select {
    display: inline-block;
    width: 80%;
    margin-bottom: 0rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated table.variations td.value > a.reset_variations, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated table.variations td.value > div.reset_bundled_variations {
    display: inline-block;
    width: 20%;
    padding-left: 1rem; }
  .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals {
    margin-top: -1rem;
    margin-bottom: 1rem; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dd {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      height: 100%; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dd {
      width: 100%;
      line-height: 1.33333;
      font-style: italic;
      color: #2E727F;
      margin-bottom: 1rem; }
    .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals strong {
      font-weight: 400; }

.feat-slider .has-bg-img {
  background-size: cover !important;
  background-position: center !important; }

.feat-slider .slide-height {
  min-height: 22rem; }
  @media print, screen and (min-width: 40em) {
    .feat-slider .slide-height {
      height: 28rem; } }
  @media print, screen and (min-width: 64em) {
    .feat-slider .slide-height {
      height: 34rem; } }
  @media screen and (min-width: 75em) {
    .feat-slider .slide-height {
      height: 42rem; } }
  .feat-slider .slide-height .slide-title {
    color: #FFFFFF;
    text-align: center;
    padding: 0rem 2rem; }

.feat-slider .slide-inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(10, 10, 10, 0.4);
  height: 22rem; }
  @media print, screen and (min-width: 40em) {
    .feat-slider .slide-inner {
      height: 28rem; } }
  @media print, screen and (min-width: 64em) {
    .feat-slider .slide-inner {
      height: 34rem; } }
  @media screen and (min-width: 75em) {
    .feat-slider .slide-inner {
      height: 42rem; } }

section.copy-with-title {
  background-color: #F4FCFD;
  text-align: center; }
  section.copy-with-title .section-title {
    color: #2E727F;
    font-weight: 400;
    margin-bottom: 2rem; }
  section.copy-with-title p.copy-text-content {
    color: #626262; }
    section.copy-with-title p.copy-text-content .caption.with-spacing, section.copy-with-title p.copy-text-content .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt.with-spacing, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated section.copy-with-title p.copy-text-content dl.product-addon-totals > dt.with-spacing {
      display: block;
      margin-bottom: 1rem; }

section.cta {
  padding-top: 2.58621rem;
  padding-bottom: 2.58621rem;
  background-color: #F4FCFD;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    section.cta {
      padding-top: 4.31034rem;
      padding-bottom: 4.31034rem; } }
  @media print, screen and (min-width: 64em) {
    section.cta {
      padding-top: 5.17241rem;
      padding-bottom: 5.17241rem; } }
  @media screen and (min-width: 75em) {
    section.cta {
      padding-top: 5.17241rem;
      padding-bottom: 5.17241rem; } }
  @media screen and (min-width: 90em) {
    section.cta {
      padding-top: 7.00431rem;
      padding-bottom: 7.00431rem; } }
  section.cta .section-title {
    color: #2E727F;
    font-weight: 400;
    margin-bottom: 0rem; }
  section.cta .button.cta-link {
    margin-top: 1rem;
    margin-bottom: 0rem; }
    @media print, screen and (min-width: 40em) {
      section.cta .button.cta-link {
        margin-top: 1.66667rem; } }
    @media print, screen and (min-width: 64em) {
      section.cta .button.cta-link {
        margin-top: 2rem; } }
    @media screen and (min-width: 75em) {
      section.cta .button.cta-link {
        margin-top: 2rem; } }
    @media screen and (min-width: 90em) {
      section.cta .button.cta-link {
        margin-top: 2.70833rem; } }
  section.cta p.cta-text {
    color: #626262; }
    section.cta p.cta-text ~ .button.cta-link {
      margin-top: 1.5rem; }
      @media print, screen and (min-width: 40em) {
        section.cta p.cta-text ~ .button.cta-link {
          margin-top: 2.5rem; } }
      @media print, screen and (min-width: 64em) {
        section.cta p.cta-text ~ .button.cta-link {
          margin-top: 3rem; } }
      @media screen and (min-width: 75em) {
        section.cta p.cta-text ~ .button.cta-link {
          margin-top: 3rem; } }
      @media screen and (min-width: 90em) {
        section.cta p.cta-text ~ .button.cta-link {
          margin-top: 4.0625rem; } }
  section.cta.align-left {
    text-align: left; }
  section.cta.align-right {
    text-align: right; }
  section.cta.bg-white {
    background-color: #FFFFFF; }

div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  text-align: center;
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 0rem !important;
  margin-bottom: 3.75rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > h1, div.page-wrap > h2, div.page-wrap > h3, div.page-wrap > h4, div.page-wrap > h5, div.page-wrap > h6 {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  div.page-wrap > h1::after, div.page-wrap > h2::after, div.page-wrap > h3::after, div.page-wrap > h4::after, div.page-wrap > h5::after, div.page-wrap > h6::after {
    content: ' ';
    bottom: -1.75rem;
    left: 50%;
    height: 4px;
    width: 6rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #2E727F;
    position: absolute; }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > h1::after, div.page-wrap > h2::after, div.page-wrap > h3::after, div.page-wrap > h4::after, div.page-wrap > h5::after, div.page-wrap > h6::after {
      width: 12rem; } }

div.page-wrap > figure {
  padding-bottom: 1.5rem;
  width: 100%;
  margin-bottom: 0rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > figure {
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > figure {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > figure {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > figure {
      padding-bottom: 4.0625rem; } }
  div.page-wrap > figure > img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      div.page-wrap > figure > img {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      div.page-wrap > figure > img {
        padding-left: 3rem;
        padding-right: 3rem; } }
    @media screen and (min-width: 75em) {
      div.page-wrap > figure > img {
        padding-left: 3rem;
        padding-right: 3rem; } }
    @media screen and (min-width: 90em) {
      div.page-wrap > figure > img {
        padding-left: 4.0625rem;
        padding-right: 4.0625rem; } }
    @media screen and (min-width: 75em) {
      div.page-wrap > figure > img {
        max-width: 90rem; } }
  div.page-wrap > figure + section.profile {
    padding-top: 0rem !important; }

section.image-cta {
  padding-top: 0rem;
  padding-bottom: 0rem; }
  @media print, screen and (min-width: 40em) {
    section.image-cta {
      padding-top: 2.02703rem;
      padding-bottom: 2.02703rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.image-cta {
      padding-top: 3.37838rem;
      padding-bottom: 3.37838rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64em) {
    section.image-cta {
      padding-top: 4.05405rem;
      padding-bottom: 4.05405rem; } }
  @media screen and (min-width: 40em) and (min-width: 75em) {
    section.image-cta {
      padding-top: 4.05405rem;
      padding-bottom: 4.05405rem; } }
  @media screen and (min-width: 40em) and (min-width: 90em) {
    section.image-cta {
      padding-top: 5.48986rem;
      padding-bottom: 5.48986rem; } }
  @media print, screen and (min-width: 40em) {
    section.image-cta.align-left .text-cell .text-content {
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.image-cta.align-left .text-cell .text-content {
      padding-left: 2.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64em) {
    section.image-cta.align-left .text-cell .text-content {
      padding-left: 3rem; } }
  @media screen and (min-width: 40em) and (min-width: 75em) {
    section.image-cta.align-left .text-cell .text-content {
      padding-left: 3rem; } }
  @media screen and (min-width: 40em) and (min-width: 90em) {
    section.image-cta.align-left .text-cell .text-content {
      padding-left: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    section.image-cta.align-right .text-cell .text-content {
      padding-right: 1.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.image-cta.align-right .text-cell .text-content {
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64em) {
    section.image-cta.align-right .text-cell .text-content {
      padding-right: 3rem; } }
  @media screen and (min-width: 40em) and (min-width: 75em) {
    section.image-cta.align-right .text-cell .text-content {
      padding-right: 3rem; } }
  @media screen and (min-width: 40em) and (min-width: 90em) {
    section.image-cta.align-right .text-cell .text-content {
      padding-right: 4.0625rem; } }
  section.image-cta .image-cell > .cta-image {
    object-fit: cover;
    min-width: 100%;
    max-width: none;
    height: 100%;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    min-height: 12.5rem;
    width: calc(100% + 3rem); }
    @media print, screen and (min-width: 40em) {
      section.image-cta .image-cell > .cta-image {
        margin-left: -2.5rem; } }
    @media print, screen and (min-width: 64em) {
      section.image-cta .image-cell > .cta-image {
        margin-left: -3rem; } }
    @media screen and (min-width: 75em) {
      section.image-cta .image-cell > .cta-image {
        margin-left: -3rem; } }
    @media screen and (min-width: 90em) {
      section.image-cta .image-cell > .cta-image {
        margin-left: -4.0625rem; } }
    @media print, screen and (min-width: 40em) {
      section.image-cta .image-cell > .cta-image {
        margin-right: -2.5rem; } }
    @media print, screen and (min-width: 64em) {
      section.image-cta .image-cell > .cta-image {
        margin-right: -3rem; } }
    @media screen and (min-width: 75em) {
      section.image-cta .image-cell > .cta-image {
        margin-right: -3rem; } }
    @media screen and (min-width: 90em) {
      section.image-cta .image-cell > .cta-image {
        margin-right: -4.0625rem; } }
    @media print, screen and (min-width: 40em) {
      section.image-cta .image-cell > .cta-image {
        min-height: 21.875rem;
        width: calc(100% + 5rem); } }
    @media print, screen and (min-width: 64em) {
      section.image-cta .image-cell > .cta-image {
        min-height: 26.25rem;
        width: calc(100% + 6rem); } }
    @media screen and (min-width: 90em) {
      section.image-cta .image-cell > .cta-image {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        min-height: 37rem; } }
  section.image-cta .text-cell {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 3rem;
    padding-bottom: 3rem; }
    @media print, screen and (min-width: 40em) {
      section.image-cta .text-cell {
        padding-top: 0rem;
        padding-bottom: 0rem; } }
    section.image-cta .text-cell .text-content {
      width: 100%;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        section.image-cta .text-cell .text-content.align-left {
          text-align: left; }
        section.image-cta .text-cell .text-content.align-right {
          text-align: right; } }
      section.image-cta .text-cell .text-content p {
        color: #626262;
        line-height: 1.5;
        margin-bottom: 2rem;
        font-size: 0.75rem; }
        @media print, screen and (min-width: 40em) {
          section.image-cta .text-cell .text-content p {
            font-size: 1rem; } }
        section.image-cta .text-cell .text-content p:last-child {
          margin-bottom: 0rem; }
        section.image-cta .text-cell .text-content p > em {
          color: rgba(0, 0, 0, 0.8);
          font-style: italic;
          line-height: 1.32143;
          font-size: 1.25rem;
          font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
          @media print, screen and (min-width: 40em) {
            section.image-cta .text-cell .text-content p > em {
              font-size: 1.75rem; } }
      section.image-cta .text-cell .text-content > div:last-child .button.cta-link {
        margin-bottom: 0rem; }
    section.image-cta .text-cell .button.cta-link {
      width: 100%;
      max-width: 17rem; }
  section.image-cta .section-title {
    position: relative;
    color: rgba(0, 0, 0, 0.8);
    margin-bottom: 2rem; }
    @media print, screen and (min-width: 40em) {
      section.image-cta .section-title {
        padding-top: 0rem;
        margin-bottom: 4rem; } }
    section.image-cta .section-title::after {
      content: ' ';
      background-color: #2E727F;
      position: absolute;
      z-index: 1;
      top: -3.125rem;
      left: 10%;
      height: 4px;
      width: 80%; }
      @media print, screen and (min-width: 40em) {
        section.image-cta .section-title::after {
          height: 4px;
          left: 0rem;
          right: 0rem;
          width: calc(100% + 4rem);
          display: block;
          top: unset;
          bottom: -2rem; } }
      @media screen and (min-width: 75em) {
        section.image-cta .section-title::after {
          width: calc(100% + 8rem); } }
    section.image-cta .section-title > em {
      color: #2E727F;
      font-style: normal; }
  @media print, screen and (min-width: 40em) {
    section.image-cta.align-left .section-title::after {
      left: auto;
      right: 4rem; } }
  @media screen and (min-width: 75em) {
    section.image-cta.align-left .section-title::after {
      right: 8rem; } }
  @media print, screen and (min-width: 40em) {
    section.image-cta.align-right .section-title::after {
      right: auto;
      left: 4rem; } }
  @media screen and (min-width: 75em) {
    section.image-cta.align-right .section-title::after {
      left: 8rem; } }
  section.image-cta + section.image-cta {
    padding-top: 0rem; }
  section.image-cta + section.info-copy {
    padding-top: 0rem; }

ul.wp-block-gallery {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  max-width: 90rem;
  margin: 0rem auto;
  position: relative;
  overflow: visible;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: strecth;
      -ms-flex-align: strecth;
          align-items: strecth;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media print, screen and (min-width: 40em) {
    ul.wp-block-gallery {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    ul.wp-block-gallery {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    ul.wp-block-gallery {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    ul.wp-block-gallery {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    ul.wp-block-gallery {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    ul.wp-block-gallery {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    ul.wp-block-gallery {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    ul.wp-block-gallery {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    ul.wp-block-gallery {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  ul.wp-block-gallery:first-of-type {
    background-color: #F4FCFD; }
    ul.wp-block-gallery:first-of-type::before {
      background-color: #F4FCFD;
      content: ' ';
      display: block;
      position: absolute;
      left: calc(45rem - 50vw);
      right: calc(45rem - 50vw);
      top: 0rem;
      bottom: 0rem;
      z-index: -1; }
  ul.wp-block-gallery .blocks-gallery-image, ul.wp-block-gallery .blocks-gallery-item {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-basis: 1%;
        -ms-flex-preferred-size: 1%;
            flex-basis: 1%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px; }
    @media print, screen and (min-width: 40em) {
      ul.wp-block-gallery .blocks-gallery-image, ul.wp-block-gallery .blocks-gallery-item {
        margin-bottom: 0rem;
        margin-right: 32px !important; }
        ul.wp-block-gallery .blocks-gallery-image:last-child, ul.wp-block-gallery .blocks-gallery-item:last-child {
          margin-right: 0rem !important; } }
  ul.wp-block-gallery + h2 {
    padding-top: 0rem; }

section.image-links {
  padding-top: 0rem; }
  section.image-links .image-link-cont .overlay .image-link-content {
    text-align: center; }
    section.image-links .image-link-cont .overlay .image-link-content .button {
      letter-spacing: 3px; }
      @media print, screen and (min-width: 40em) {
        section.image-links .image-link-cont .overlay .image-link-content .button {
          min-width: 12rem; } }
  section.image-links a.silent.image-link {
    margin-top: 1rem;
    margin-bottom: 1rem; }
    section.image-links a.silent.image-link:hover .image-link-cont .overlay .image-link-content .button, section.image-links a.silent.image-link:focus .image-link-cont .overlay .image-link-content .button, section.image-links a.silent.image-link:active .image-link-cont .overlay .image-link-content .button {
      background-color: #23484F;
      border-color: #23484F; }
  section.image-links .section-title {
    color: rgba(0, 0, 0, 0.8);
    margin-bottom: 3.75rem;
    position: relative; }
    section.image-links .section-title::after {
      content: ' ';
      bottom: -1.75rem;
      left: 50%;
      height: 4px;
      width: 6rem;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      background-color: #2E727F;
      position: absolute; }

section.info-copy .quote-content {
  font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  color: #2E727F;
  font-style: italic;
  line-height: 1.33333;
  margin-bottom: 1.3125rem; }

section.info-copy .quote-author {
  text-transform: uppercase;
  color: #2E727F;
  font-size: 0.75rem;
  letter-spacing: 0.53px;
  line-height: 1.25;
  margin-bottom: 2.5625rem; }
  @media print, screen and (min-width: 40em) {
    section.info-copy .quote-author {
      font-size: 1rem; } }

section.info-copy .caption, section.info-copy .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated section.info-copy dl.product-addon-totals > dt {
  margin-bottom: 2rem; }

section.info-copy .copy-content {
  color: #626262;
  line-height: 1.5;
  font-size: 1rem; }

section.info-copy .caption-line-cont {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-bottom: 2rem; }
  section.info-copy .caption-line-cont > p {
    margin-bottom: 0rem; }
    @media print, screen and (min-width: 40em) {
      section.info-copy .caption-line-cont > p {
        padding-right: 2rem; } }
  section.info-copy .caption-line-cont::after {
    content: ' ';
    height: 4px;
    min-width: 80px;
    background-color: #2E727F;
    display: none; }
    @media print, screen and (min-width: 40em) {
      section.info-copy .caption-line-cont::after {
        display: block; } }
  section.info-copy .caption-line-cont.right {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    section.info-copy .caption-line-cont.right > p {
      padding-right: 0rem; }
      @media print, screen and (min-width: 40em) {
        section.info-copy .caption-line-cont.right > p {
          padding-left: 2rem; } }

section.info-copy ul.info-list {
  list-style-type: none;
  margin-left: 0rem;
  margin-bottom: 0rem; }
  section.info-copy ul.info-list > li > h3 {
    color: #2E727F;
    margin-bottom: 1rem; }
  section.info-copy ul.info-list > li > .caption {
    margin-bottom: 0.8125rem; }

section.info-copy .side-list-footer-image {
  margin-top: 3.25rem; }

div.page-wrap > section.info-copy + blockquote {
  margin-top: 1.5rem;
  padding-top: 3rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > section.info-copy + blockquote {
      margin-top: 0rem;
      padding-top: 1.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    div.page-wrap > section.info-copy + blockquote {
      padding-top: 2.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64em) {
    div.page-wrap > section.info-copy + blockquote {
      padding-top: 3rem; } }
  @media screen and (min-width: 40em) and (min-width: 75em) {
    div.page-wrap > section.info-copy + blockquote {
      padding-top: 3rem; } }
  @media screen and (min-width: 40em) and (min-width: 90em) {
    div.page-wrap > section.info-copy + blockquote {
      padding-top: 4.0625rem; } }

.event-single-content {
  padding-top: 0; }
  .event-single-content .content-col {
    margin-bottom: 2rem; }
    @media print, screen and (min-width: 64em) {
      .event-single-content .content-col {
        margin-bottom: 0rem; } }
    .event-single-content .content-col .entry-content {
      color: #626262;
      font-size: 1rem; }
  .event-single-content .information-col {
    border-left: 1px solid rgba(46, 114, 127, 0.2);
    color: #626262; }
    .event-single-content .information-col .information-row {
      display: block;
      margin-bottom: 1rem;
      font-size: 1rem;
      font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      line-height: 1.5; }
      .event-single-content .information-col .information-row .information-wrapper {
        display: block; }
      .event-single-content .information-col .information-row .information-wrapper {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap; }
        .event-single-content .information-col .information-row .information-wrapper .information-title {
          line-height: 1.7142857143;
          font-family: "PT Sans Caption", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
          font-size: 0.875rem;
          letter-spacing: 2px;
          color: #000000;
          text-transform: uppercase;
          margin-right: 0.5rem; }
        .event-single-content .information-col .information-row .information-wrapper .information-day-list {
          list-style: none;
          margin: 0; }
        .event-single-content .information-col .information-row .information-wrapper p {
          margin: 0; }
        .event-single-content .information-col .information-row .information-wrapper .address-info {
          width: 100%; }

section.location-callout {
  padding-top: 0rem;
  padding-bottom: 0rem; }
  section.location-callout .location-cell {
    position: relative;
    background-color: #FFFFFF;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    color: #FFFFFF;
    overflow: hidden;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
    min-height: 18.75rem; }
    @media print, screen and (min-width: 64em) {
      section.location-callout .location-cell {
        min-height: 31.25rem; } }
    @media screen and (min-width: 75em) {
      section.location-callout .location-cell {
        min-height: 45rem; } }
    section.location-callout .location-cell a.silent.image-link {
      position: relative;
      color: #FFFFFF; }
      section.location-callout .location-cell a.silent.image-link .image-link-cont {
        height: 100%; }
      section.location-callout .location-cell a.silent.image-link .button.outline.fake-link, section.location-callout .location-cell a.silent.image-link section.newsletter-signup .text-cell > .text-cell-content .form-content input.fake-link[type=submit], section.newsletter-signup .text-cell > .text-cell-content .form-content section.location-callout .location-cell a.silent.image-link input.fake-link[type=submit] {
        margin-bottom: 0rem; }
      section.location-callout .location-cell a.silent.image-link:hover .button.outline.fake-link, section.location-callout .location-cell a.silent.image-link:hover section.newsletter-signup .text-cell > .text-cell-content .form-content input.fake-link[type=submit], section.newsletter-signup .text-cell > .text-cell-content .form-content section.location-callout .location-cell a.silent.image-link:hover input.fake-link[type=submit], section.location-callout .location-cell a.silent.image-link:focus .button.outline.fake-link, section.location-callout .location-cell a.silent.image-link:focus section.newsletter-signup .text-cell > .text-cell-content .form-content input.fake-link[type=submit], section.newsletter-signup .text-cell > .text-cell-content .form-content section.location-callout .location-cell a.silent.image-link:focus input.fake-link[type=submit], section.location-callout .location-cell a.silent.image-link:active .button.outline.fake-link, section.location-callout .location-cell a.silent.image-link:active section.newsletter-signup .text-cell > .text-cell-content .form-content input.fake-link[type=submit], section.newsletter-signup .text-cell > .text-cell-content .form-content section.location-callout .location-cell a.silent.image-link:active input.fake-link[type=submit] {
        background-color: #2E727F;
        border-color: #2E727F; }
    section.location-callout .location-cell .overlay {
      background-color: rgba(0, 0, 0, 0.6); }
      section.location-callout .location-cell .overlay .overlay-content {
        padding-top: 4rem;
        padding-bottom: 4rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        width: 100%;
        max-width: 45rem;
        margin: auto; }
        @media print, screen and (min-width: 40em) {
          section.location-callout .location-cell .overlay .overlay-content {
            padding-left: 2.5rem;
            padding-right: 2.5rem; } }
        @media print, screen and (min-width: 64em) {
          section.location-callout .location-cell .overlay .overlay-content {
            padding-left: 3rem;
            padding-right: 3rem; } }
        @media screen and (min-width: 75em) {
          section.location-callout .location-cell .overlay .overlay-content {
            padding-left: 3rem;
            padding-right: 3rem; } }
        @media screen and (min-width: 90em) {
          section.location-callout .location-cell .overlay .overlay-content {
            padding-left: 4.0625rem;
            padding-right: 4.0625rem; } }
        section.location-callout .location-cell .overlay .overlay-content .section-title {
          margin-bottom: 1rem; }
          @media print, screen and (min-width: 40em) {
            section.location-callout .location-cell .overlay .overlay-content .section-title {
              margin-bottom: 1.66667rem; } }
          @media print, screen and (min-width: 64em) {
            section.location-callout .location-cell .overlay .overlay-content .section-title {
              margin-bottom: 2rem; } }
          @media screen and (min-width: 75em) {
            section.location-callout .location-cell .overlay .overlay-content .section-title {
              margin-bottom: 2rem; } }
          @media screen and (min-width: 90em) {
            section.location-callout .location-cell .overlay .overlay-content .section-title {
              margin-bottom: 2.70833rem; } }
    @media screen and (min-width: 75em) {
      section.location-callout .location-cell:nth-child(2n) .overlay {
        -webkit-justify-content: left;
            -ms-flex-pack: left;
                justify-content: left; }
      section.location-callout .location-cell:nth-child(2n+1) .overlay {
        -webkit-justify-content: right;
            -ms-flex-pack: right;
                justify-content: right; } }
  section.location-callout .caption, section.location-callout .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated section.location-callout dl.product-addon-totals > dt {
    color: #FFFFFF; }

div.page-wrap > p {
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  color: #626262;
  font-family: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.5; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > p {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > p {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > p {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > p {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > p {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > p {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > p {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > p {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > p {
      font-size: 1rem; } }

section.profile .image-cell {
  background-position: center top;
  min-height: 12rem; }
  section.profile .image-cell .profile-image {
    height: 100%;
    width: 100%;
    object-fit: cover; }

@media print, screen and (min-width: 40em) {
  section.profile .text-cell {
    padding-left: 2.5rem;
    padding-right: 2.5rem; } }

section.profile .section-title {
  margin-bottom: 2rem;
  margin-top: 2rem; }
  @media print, screen and (min-width: 40em) {
    section.profile .section-title {
      margin-top: 0rem; } }

section.profile .job-title {
  margin-bottom: 1rem; }

section.profile .biography {
  margin-bottom: 0rem;
  color: #626262;
  font-size: 1rem;
  line-height: 1.5; }

div.page-wrap > blockquote {
  border: none;
  background-color: #F4FCFD;
  padding-left: 0rem;
  padding-right: 0rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 0rem;
  padding-bottom: 2.5625rem !important; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > blockquote {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > blockquote {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > blockquote {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > blockquote {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  div.page-wrap > blockquote > p, div.page-wrap > blockquote > cite {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      div.page-wrap > blockquote > p, div.page-wrap > blockquote > cite {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
    @media print, screen and (min-width: 64em) {
      div.page-wrap > blockquote > p, div.page-wrap > blockquote > cite {
        padding-left: 3rem;
        padding-right: 3rem; } }
    @media screen and (min-width: 75em) {
      div.page-wrap > blockquote > p, div.page-wrap > blockquote > cite {
        padding-left: 3rem;
        padding-right: 3rem; } }
    @media screen and (min-width: 90em) {
      div.page-wrap > blockquote > p, div.page-wrap > blockquote > cite {
        padding-left: 4.0625rem;
        padding-right: 4.0625rem; } }
    @media screen and (min-width: 90em) {
      div.page-wrap > blockquote > p, div.page-wrap > blockquote > cite {
        max-width: 75rem; } }
  div.page-wrap > blockquote > p {
    font-family: "Playfair Display", "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    color: #2E727F;
    font-style: italic;
    line-height: 1.33333;
    margin-bottom: 1.3125rem; }
    div.page-wrap > blockquote > p br {
      display: none; }
      @media print, screen and (min-width: 40em) {
        div.page-wrap > blockquote > p br {
          display: block; } }
  div.page-wrap > blockquote > cite {
    text-transform: uppercase;
    color: #2E727F;
    font-size: 0.75rem;
    letter-spacing: 0.53px;
    line-height: 1.25;
    font-style: normal; }
    @media print, screen and (min-width: 40em) {
      div.page-wrap > blockquote > cite {
        font-size: 1rem; } }
    div.page-wrap > blockquote > cite::before {
      content: '- '; }
  div.page-wrap > blockquote + section.info-copy {
    padding-top: 0rem !important; }

section.feature-gallery {
  text-align: center;
  background-color: #FFFFFF; }
  section.feature-gallery .cell {
    background-color: #F4FCFD;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem; }
    @media print, screen and (min-width: 40em) {
      section.feature-gallery .cell {
        padding-left: 1.25rem;
        padding-right: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      section.feature-gallery .cell {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (min-width: 75em) {
      section.feature-gallery .cell {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (min-width: 90em) {
      section.feature-gallery .cell {
        padding-left: 2.03125rem;
        padding-right: 2.03125rem; } }
    @media print, screen and (min-width: 40em) {
      section.feature-gallery .cell {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      section.feature-gallery .cell {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    @media screen and (min-width: 75em) {
      section.feature-gallery .cell {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    @media screen and (min-width: 90em) {
      section.feature-gallery .cell {
        padding-top: 2.03125rem;
        padding-bottom: 2.03125rem; } }
  section.feature-gallery .image-cell .feature-gallery-image {
    object-fit: cover;
    height: 100%;
    width: 100%;
    min-height: 12.5rem; }
    @media print, screen and (min-width: 40em) {
      section.feature-gallery .image-cell .feature-gallery-image {
        min-height: 15.625rem; } }
  section.feature-gallery .text-cell {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch; }
    section.feature-gallery .text-cell .text-content {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-flex-basis: 1%;
          -ms-flex-preferred-size: 1%;
              flex-basis: 1%; }
      section.feature-gallery .text-cell .text-content .block-heading {
        line-height: 1.35714;
        color: #000000;
        max-width: 13.75rem;
        display: block;
        margin-left: auto;
        margin-right: auto; }
      section.feature-gallery .text-cell .text-content > p {
        color: #626262;
        line-height: 1.71429;
        font-size: 0.75rem; }
        @media print, screen and (min-width: 40em) {
          section.feature-gallery .text-cell .text-content > p {
            font-size: 0.875rem; } }
  @media print, screen and (min-width: 40em) {
    section.feature-gallery + section.form-callout {
      padding-top: 0rem !important;
      margin-top: -0.375rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.feature-gallery + section.form-callout {
      margin-top: -0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64em) {
    section.feature-gallery + section.form-callout {
      margin-top: -0.75rem; } }
  @media screen and (min-width: 40em) and (min-width: 75em) {
    section.feature-gallery + section.form-callout {
      margin-top: -0.75rem; } }
  @media screen and (min-width: 40em) and (min-width: 90em) {
    section.feature-gallery + section.form-callout {
      margin-top: -1.01562rem; } }

.image-slider-gallery .image-slider.slick-dotted {
  margin-bottom: 40px; }

.image-slider-gallery .image-slider .slick-dots {
  bottom: -35px; }
  .image-slider-gallery .image-slider .slick-dots > li {
    width: auto;
    height: auto; }
    .image-slider-gallery .image-slider .slick-dots > li > button::before {
      content: ' ';
      border-radius: 50%;
      background-color: rgba(98, 98, 98, 0.3);
      transition: 0.5s ease;
      height: 10px;
      width: 10px; }
    .image-slider-gallery .image-slider .slick-dots > li.slick-active > button::before {
      background-color: #2E727F; }

.image-slider-gallery .image-slider .slick-arrow {
  z-index: 1;
  height: auto;
  width: auto; }
  .image-slider-gallery .image-slider .slick-arrow::before {
    font-family: 'FontAwesome';
    font-size: 4.75rem; }
  .image-slider-gallery .image-slider .slick-arrow.slick-prev {
    left: 2rem; }
    @media print, screen and (min-width: 64em) {
      .image-slider-gallery .image-slider .slick-arrow.slick-prev {
        left: 3rem; } }
    .image-slider-gallery .image-slider .slick-arrow.slick-prev::before {
      content: '\f104'; }
  .image-slider-gallery .image-slider .slick-arrow.slick-next {
    right: 2rem; }
    @media print, screen and (min-width: 64em) {
      .image-slider-gallery .image-slider .slick-arrow.slick-next {
        right: 3rem; } }
    .image-slider-gallery .image-slider .slick-arrow.slick-next::before {
      content: '\f105'; }

.image-slider-gallery .image-slide {
  object-fit: cover;
  height: 15.625rem; }
  @media print, screen and (min-width: 40em) {
    .image-slider-gallery .image-slide {
      height: 21.875rem; } }
  @media print, screen and (min-width: 64em) {
    .image-slider-gallery .image-slide {
      height: 26.25rem; } }
  @media screen and (min-width: 75em) {
    .image-slider-gallery .image-slide {
      height: 35rem; } }

section.hours-with-image .text-cell .text-content {
  min-height: 100%;
  background-color: #2E727F;
  color: #FFFFFF;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    section.hours-with-image .text-cell .text-content {
      padding-left: 2.08333rem;
      padding-right: 2.08333rem; } }
  @media print, screen and (min-width: 64em) {
    section.hours-with-image .text-cell .text-content {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media screen and (min-width: 75em) {
    section.hours-with-image .text-cell .text-content {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media screen and (min-width: 90em) {
    section.hours-with-image .text-cell .text-content {
      padding-left: 3.38542rem;
      padding-right: 3.38542rem; } }
  @media print, screen and (min-width: 40em) {
    section.hours-with-image .text-cell .text-content {
      padding-top: 2.08333rem;
      padding-bottom: 2.08333rem; } }
  @media print, screen and (min-width: 64em) {
    section.hours-with-image .text-cell .text-content {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media screen and (min-width: 75em) {
    section.hours-with-image .text-cell .text-content {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media screen and (min-width: 90em) {
    section.hours-with-image .text-cell .text-content {
      padding-top: 3.38542rem;
      padding-bottom: 3.38542rem; } }
  section.hours-with-image .text-cell .text-content .section-title {
    margin-bottom: 1.5rem; }
  section.hours-with-image .text-cell .text-content .caption, section.hours-with-image .text-cell .text-content .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated section.hours-with-image .text-cell .text-content dl.product-addon-totals > dt {
    color: #FFFFFF;
    margin-bottom: 0.5rem; }
  section.hours-with-image .text-cell .text-content p:not(.caption) {
    margin-bottom: 1.5rem;
    line-height: 1.5;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      section.hours-with-image .text-cell .text-content p:not(.caption) {
        font-size: 1rem; } }
    section.hours-with-image .text-cell .text-content p:not(.caption):last-child {
      margin-bottom: 0rem; }
  section.hours-with-image .text-cell .text-content a:not(.button) {
    color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px dotted rgba(255, 255, 255, 0.1); }
    section.hours-with-image .text-cell .text-content a:not(.button):hover, section.hours-with-image .text-cell .text-content a:not(.button):focus, section.hours-with-image .text-cell .text-content a:not(.button):active {
      color: #FFFFFF; }
      section.hours-with-image .text-cell .text-content a:not(.button):hover::before, section.hours-with-image .text-cell .text-content a:not(.button):focus::before, section.hours-with-image .text-cell .text-content a:not(.button):active::before {
        background-color: #FFFFFF; }

section.hours-with-image .image-cell .hours-section-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 12.5rem; }

section.transport-schedule-callout {
  text-align: center; }
  section.transport-schedule-callout p.details {
    color: #626262;
    margin-bottom: 1.5rem;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      section.transport-schedule-callout p.details {
        font-size: 1rem; } }
  section.transport-schedule-callout .image-cell {
    position: relative;
    min-height: 15.625rem; }
    @media print, screen and (min-width: 40em) {
      section.transport-schedule-callout .image-cell {
        min-height: 25rem; } }
    @media screen and (min-width: 75em) {
      section.transport-schedule-callout .image-cell {
        min-height: 29rem; } }
    section.transport-schedule-callout .image-cell.has-content .overlay {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: stretch;
          -ms-flex-pack: stretch;
              justify-content: stretch;
      background-color: rgba(255, 255, 255, 0.9); }
    section.transport-schedule-callout .image-cell.has-content .content {
      z-index: 1;
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      width: 100%;
      padding: 1.5rem; }
    section.transport-schedule-callout .image-cell.has-content a.silent.image-link .image-link-cont {
      height: 100%; }
    section.transport-schedule-callout .image-cell.has-content a.silent.image-link:hover .image-link-cont .overlay .content .button, section.transport-schedule-callout .image-cell.has-content a.silent.image-link:focus .image-link-cont .overlay .content .button, section.transport-schedule-callout .image-cell.has-content a.silent.image-link:active .image-link-cont .overlay .content .button {
      background-color: #23484F;
      border-color: #23484F; }

section.specialty-tours .section-title {
  width: 100%;
  text-align: center;
  color: #2E727F;
  padding-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    section.specialty-tours .section-title {
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    section.specialty-tours .section-title {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    section.specialty-tours .section-title {
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    section.specialty-tours .section-title {
      padding-bottom: 4.0625rem; } }

section.specialty-tours .image-cell .tour-image {
  object-fit: cover;
  height: 100%;
  width: 100%;
  min-height: 12.5rem; }
  @media print, screen and (min-width: 40em) {
    section.specialty-tours .image-cell .tour-image {
      min-height: 21.875rem; } }
  @media print, screen and (min-width: 64em) {
    section.specialty-tours .image-cell .tour-image {
      min-height: 29.5rem; } }

section.specialty-tours .text-cell {
  background-color: #2E727F;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  margin-bottom: 2rem; }
  @media print, screen and (min-width: 40em) {
    section.specialty-tours .text-cell {
      padding-top: 2.08333rem;
      padding-bottom: 2.08333rem; } }
  @media print, screen and (min-width: 64em) {
    section.specialty-tours .text-cell {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media screen and (min-width: 75em) {
    section.specialty-tours .text-cell {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media screen and (min-width: 90em) {
    section.specialty-tours .text-cell {
      padding-top: 3.38542rem;
      padding-bottom: 3.38542rem; } }
  @media print, screen and (min-width: 40em) {
    section.specialty-tours .text-cell {
      margin-bottom: 0rem; } }
  section.specialty-tours .text-cell .text-content {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    color: #FFFFFF; }
    @media print, screen and (min-width: 40em) {
      section.specialty-tours .text-cell .text-content {
        padding-left: 2.08333rem;
        padding-right: 2.08333rem; } }
    @media print, screen and (min-width: 64em) {
      section.specialty-tours .text-cell .text-content {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
    @media screen and (min-width: 75em) {
      section.specialty-tours .text-cell .text-content {
        padding-left: 2.5rem;
        padding-right: 2.5rem; } }
    @media screen and (min-width: 90em) {
      section.specialty-tours .text-cell .text-content {
        padding-left: 3.38542rem;
        padding-right: 3.38542rem; } }
    section.specialty-tours .text-cell .text-content .subsection-title {
      margin-bottom: 2rem; }
    section.specialty-tours .text-cell .text-content .caption, section.specialty-tours .text-cell .text-content .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated section.specialty-tours .text-cell .text-content dl.product-addon-totals > dt {
      color: #FFFFFF; }
    section.specialty-tours .text-cell .text-content .booking-title {
      margin-top: 2rem; }

section.specialty-tours .tours-grid:last-child .text-cell {
  margin-bottom: 0rem; }

section.facility-overview {
  background-color: #F4FCFD;
  text-align: center; }
  section.facility-overview .section-title {
    color: #2E727F;
    width: 100%; }
  section.facility-overview p {
    color: #626262; }
  section.facility-overview .image-slider-gallery {
    margin-top: 2rem;
    margin-bottom: 2rem; }
    section.facility-overview .image-slider-gallery .image-slide {
      object-fit: cover;
      width: 100%;
      height: 100%; }
  section.facility-overview .link-cont {
    margin-bottom: 1rem; }
    section.facility-overview .link-cont > p {
      margin-bottom: 0rem; }
    section.facility-overview .link-cont > a.facility-link {
      padding: 0rem; }
  @media print, screen and (min-width: 40em) {
    section.facility-overview .extra-padding {
      padding-left: 2rem;
      padding-right: 2rem; } }

section.form-callout .grid-x.grid-padding-x.form-callout-grid {
  margin-left: 0rem;
  margin-right: 0rem; }

section.form-callout .form-callout-card {
  background-color: #2E727F;
  color: #FFFFFF;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 40em) {
    section.form-callout .form-callout-card {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    section.form-callout .form-callout-card {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    section.form-callout .form-callout-card {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    section.form-callout .form-callout-card {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    section.form-callout .form-callout-card {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    section.form-callout .form-callout-card {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    section.form-callout .form-callout-card {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    section.form-callout .form-callout-card {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 64em) {
    section.form-callout .form-callout-card {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  section.form-callout .form-callout-card .section-title, section.form-callout .form-callout-card .link-cont {
    width: auto; }
  section.form-callout .form-callout-card .section-title {
    display: inline-block;
    text-align: center;
    width: 100%;
    margin-bottom: 2rem; }
    @media print, screen and (min-width: 64em) {
      section.form-callout .form-callout-card .section-title {
        margin-bottom: 0rem;
        text-align: left;
        width: auto; } }
  section.form-callout .form-callout-card .link-cont {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      section.form-callout .form-callout-card .link-cont {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      section.form-callout .form-callout-card .link-cont a {
        margin-bottom: 0rem;
        margin-right: 1rem; } }
    section.form-callout .form-callout-card .link-cont a:not(.button) {
      color: #FFFFFF; }
    @media print, screen and (min-width: 40em) {
      section.form-callout .form-callout-card .link-cont a.button {
        min-width: 12rem; } }
    section.form-callout .form-callout-card .link-cont a.form-link {
      border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
      position: relative;
      margin-right: 2rem; }
      section.form-callout .form-callout-card .link-cont a.form-link::after {
        font-family: 'FontAwesome';
        content: '\f107';
        position: absolute;
        right: -1.5rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        color: rgba(255, 255, 255, 0.5);
        transition: color 0.5s ease; }
      section.form-callout .form-callout-card .link-cont a.form-link:hover::before, section.form-callout .form-callout-card .link-cont a.form-link:focus::before, section.form-callout .form-callout-card .link-cont a.form-link:active::before {
        background-color: #FFFFFF; }
      section.form-callout .form-callout-card .link-cont a.form-link:hover::after, section.form-callout .form-callout-card .link-cont a.form-link:focus::after, section.form-callout .form-callout-card .link-cont a.form-link:active::after {
        color: #FFFFFF; }

@media print, screen and (min-width: 64em) {
  section.deal-callout {
    padding-bottom: 2.5rem !important; } }

section.deal-callout .image-link-cont {
  padding-top: 0rem;
  min-height: 15.625rem; }
  @media print, screen and (min-width: 40em) {
    section.deal-callout .image-link-cont {
      min-height: 20.3125rem; } }
  @media print, screen and (min-width: 64em) {
    section.deal-callout .image-link-cont {
      min-height: 22rem; } }
  section.deal-callout .image-link-cont .overlay {
    background-color: rgba(0, 0, 0, 0.6);
    padding: 1.5rem; }
    section.deal-callout .image-link-cont .overlay .image-link-content > * {
      color: #FFFFFF; }
    section.deal-callout .image-link-cont .overlay .image-link-content .section-title {
      margin-bottom: 1rem; }
    section.deal-callout .image-link-cont .overlay .image-link-content .section-subtitle {
      margin-bottom: 2rem; }
      section.deal-callout .image-link-cont .overlay .image-link-content .section-subtitle > br {
        display: none; }
        @media print, screen and (min-width: 40em) {
          section.deal-callout .image-link-cont .overlay .image-link-content .section-subtitle > br {
            display: block; } }
    section.deal-callout .image-link-cont .overlay .image-link-content .button.fake-link {
      margin-bottom: 0rem; }

section.deal-callout .image-link:hover .button.fake-link, section.deal-callout .image-link:focus .button.fake-link, section.deal-callout .image-link:active .button.fake-link {
  background-color: #2E727F;
  border-color: #2E727F; }

section.deal-callout .extra-link-cell {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media print, screen and (min-width: 40em) {
    section.deal-callout .extra-link-cell {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  section.deal-callout .extra-link-cell .deal-callout-extra-link {
    border-radius: 0rem;
    width: 100%;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-basis: 1%;
        -ms-flex-preferred-size: 1%;
            flex-basis: 1%;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem; }
    section.deal-callout .extra-link-cell .deal-callout-extra-link:first-child {
      margin-top: 0.5rem; }
    section.deal-callout .extra-link-cell .deal-callout-extra-link:last-child {
      margin-bottom: 0rem; }
    @media print, screen and (min-width: 40em) {
      section.deal-callout .extra-link-cell .deal-callout-extra-link {
        margin: 0rem 0.28125rem 0rem 0.28125rem; }
        section.deal-callout .extra-link-cell .deal-callout-extra-link:first-child {
          margin-top: 0rem;
          margin-left: 0rem; }
        section.deal-callout .extra-link-cell .deal-callout-extra-link:last-child {
          margin-right: 0rem; } }

section.deal-callout .deal-callout-slickslider > .slick-list .slick-slide > div {
  font-size: 0rem; }
  section.deal-callout .deal-callout-slickslider > .slick-list .slick-slide > div > a {
    font-size: 1rem; }

section.deal-callout + section.all-products {
  padding-top: 0rem; }

.all-products {
  padding-top: 0 !important; }

.slick-prev {
  left: 1.5rem;
  z-index: 9; }

.slick-next {
  right: 1.5rem;
  z-index: 9; }

@media print, screen and (min-width: 40em) {
  section.newsletter-signup .image-cell {
    padding-left: 0rem; } }

section.newsletter-signup .image-cell > .newsletter-signup-image {
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  min-height: 9.375rem; }
  @media print, screen and (min-width: 40em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      min-height: 12.5rem;
      min-width: 100%;
      max-width: none;
      width: calc(100% + 2.5rem);
      margin: auto;
      margin-right: -1.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      margin-right: -2.5rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 64em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      margin-right: -3rem; } }
  @media screen and (min-width: 40em) and (min-width: 75em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      margin-right: -3rem; } }
  @media screen and (min-width: 40em) and (min-width: 90em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      margin-right: -4.0625rem; } }
  @media print, screen and (min-width: 64em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      width: calc(100% + 3rem); } }
  @media screen and (min-width: 75em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      width: calc(100% + 3rem); } }
  @media screen and (min-width: 90em) {
    section.newsletter-signup .image-cell > .newsletter-signup-image {
      margin-right: 0rem;
      width: 100%; } }

@media print, screen and (min-width: 40em) {
  section.newsletter-signup .text-cell {
    padding-right: 0rem; } }

section.newsletter-signup .text-cell > .text-cell-content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  background-color: #2E727F;
  color: #FFFFFF;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media print, screen and (min-width: 40em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 75em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    section.newsletter-signup .text-cell > .text-cell-content {
      padding-top: 4.0625rem;
      padding-bottom: 4.0625rem; } }
  section.newsletter-signup .text-cell > .text-cell-content .section-title, section.newsletter-signup .text-cell > .text-cell-content .description {
    margin-bottom: 1.5rem; }
  section.newsletter-signup .text-cell > .text-cell-content .form-content {
    padding-left: 1.01543rem;
    padding-right: 1.01543rem; }
    @media print, screen and (min-width: 40em) {
      section.newsletter-signup .text-cell > .text-cell-content .form-content {
        padding-left: 1.69239rem;
        padding-right: 1.69239rem; } }
    @media print, screen and (min-width: 64em) {
      section.newsletter-signup .text-cell > .text-cell-content .form-content {
        padding-left: 2.03087rem;
        padding-right: 2.03087rem; } }
    @media screen and (min-width: 75em) {
      section.newsletter-signup .text-cell > .text-cell-content .form-content {
        padding-left: 2.03087rem;
        padding-right: 2.03087rem; } }
    @media screen and (min-width: 90em) {
      section.newsletter-signup .text-cell > .text-cell-content .form-content {
        padding-left: 2.75014rem;
        padding-right: 2.75014rem; } }
    section.newsletter-signup .text-cell > .text-cell-content .form-content #mc_embed_signup #mc_embed_signup_scroll > h2 {
      display: none; }
    section.newsletter-signup .text-cell > .text-cell-content .form-content .indicates-required {
      display: none; }
    section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([type=submit]) {
      background-color: #FFFFFF;
      color: #626262;
      min-height: 2.5rem;
      padding: 0.5rem 1rem; }
      section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([type=submit])::-webkit-input-placeholder {
        color: rgba(98, 98, 98, 0.6); }
      section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([type=submit]):-ms-input-placeholder {
        color: rgba(98, 98, 98, 0.6); }
      section.newsletter-signup .text-cell > .text-cell-content .form-content input:not([type=submit])::placeholder {
        color: rgba(98, 98, 98, 0.6); }
    section.newsletter-signup .text-cell > .text-cell-content .form-content em {
      font-size: 0.875rem;
      font-style: italic;
      line-height: 1.71429; }
    section.newsletter-signup .text-cell > .text-cell-content .form-content input[type=submit] {
      margin-top: 1.5rem;
      margin-bottom: 0rem;
      width: 100%;
      display: block; }
      section.newsletter-signup .text-cell > .text-cell-content .form-content input[type=submit]:hover, section.newsletter-signup .text-cell > .text-cell-content .form-content input[type=submit]:focus, section.newsletter-signup .text-cell > .text-cell-content .form-content input[type=submit]:active {
        border: 1px solid #FFFFFF !important;
        background-color: #FFFFFF !important;
        color: #2E727F; }
    section.newsletter-signup .text-cell > .text-cell-content .form-content .mc-field-group label {
      color: #FFFFFF;
      display: none; }
    section.newsletter-signup .text-cell > .text-cell-content .form-content .mc-field-group.size1of2 label {
      display: inline-block; }
    section.newsletter-signup .text-cell > .text-cell-content .form-content .mc-field-group .datefield {
      display: inline-block; }
      section.newsletter-signup .text-cell > .text-cell-content .form-content .mc-field-group .datefield .subfield {
        display: inline-block; }
      section.newsletter-signup .text-cell > .text-cell-content .form-content .mc-field-group .datefield .small-meta {
        display: none; }

@media screen and (min-width: 90em) {
  section.featured-products > .grid-container, .error404 .body-main section.featured-products > #content.widecolumn {
    padding-left: 0rem;
    padding-right: 0rem; } }

section.featured-products .image-link-cell .image-link {
  min-height: 20rem; }
  @media print, screen and (min-width: 40em) {
    section.featured-products .image-link-cell .image-link {
      min-height: 30rem; } }
  section.featured-products .image-link-cell .image-link .image-link-cont {
    min-height: 100%; }
    @media print, screen and (min-width: 64em) {
      section.featured-products .image-link-cell .image-link .image-link-cont {
        padding-top: 25%; } }
    section.featured-products .image-link-cell .image-link .image-link-cont .image-link-content .section-title {
      color: rgba(0, 0, 0, 0.8); }
  section.featured-products .image-link-cell .image-link:hover .fake-link, section.featured-products .image-link-cell .image-link:focus .fake-link, section.featured-products .image-link-cell .image-link:active .fake-link {
    background-color: #23484F; }

.woo-product-content {
  height: 100%; }
  .woo-product-content .product-cell-link {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    transition: all 0.5s ease;
    border: 1px solid transparent;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem; }
    @media print, screen and (min-width: 40em) {
      .woo-product-content .product-cell-link {
        padding-left: 1.25rem;
        padding-right: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .woo-product-content .product-cell-link {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (min-width: 75em) {
      .woo-product-content .product-cell-link {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (min-width: 90em) {
      .woo-product-content .product-cell-link {
        padding-left: 2.03125rem;
        padding-right: 2.03125rem; } }
    @media print, screen and (min-width: 40em) {
      .woo-product-content .product-cell-link {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .woo-product-content .product-cell-link {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    @media screen and (min-width: 75em) {
      .woo-product-content .product-cell-link {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    @media screen and (min-width: 90em) {
      .woo-product-content .product-cell-link {
        padding-top: 2.03125rem;
        padding-bottom: 2.03125rem; } }
    .woo-product-content .product-cell-link:hover, .woo-product-content .product-cell-link:focus, .woo-product-content .product-cell-link:active {
      background-color: #F4FCFD;
      border: 1px solid #2E727F; }
  .woo-product-content .product-image {
    display: block;
    height: auto;
    object-fit: contain;
    margin-bottom: 0.66667rem;
    height: 9.375rem; }
    @media print, screen and (min-width: 40em) {
      .woo-product-content .product-image {
        margin-bottom: 1.11111rem; } }
    @media print, screen and (min-width: 64em) {
      .woo-product-content .product-image {
        margin-bottom: 1.33333rem; } }
    @media screen and (min-width: 75em) {
      .woo-product-content .product-image {
        margin-bottom: 1.33333rem; } }
    @media screen and (min-width: 90em) {
      .woo-product-content .product-image {
        margin-bottom: 1.80556rem; } }
    @media print, screen and (min-width: 40em) {
      .woo-product-content .product-image {
        height: 15.625rem; } }
    @media screen and (min-width: 75em) {
      .woo-product-content .product-image {
        height: 27.3125rem; } }
  .woo-product-content .product-meta {
    display: block;
    text-align: center;
    width: 100%;
    color: #000000; }
    .woo-product-content .product-meta .product-title {
      line-height: 1.35714; }
    .woo-product-content .product-meta .product-short-desc {
      color: #626262;
      font-size: 1rem;
      line-height: 1.5; }

section.all-products .filter-cell {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  section.all-products .filter-cell > .select-wrapper {
    width: 100%; }
  @media print, screen and (min-width: 64em) {
    section.all-products .filter-cell {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
      section.all-products .filter-cell > .caption, section.all-products .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated dl.product-addon-totals.filter-cell > dt, .page-wrap.type-single.single-product .single-product-section .add-to-cart.wc-generated section.all-products dl.product-addon-totals.filter-cell > dt {
        margin-right: 1rem; }
      section.all-products .filter-cell > .select-wrapper {
        width: auto;
        margin-right: 1rem;
        -webkit-flex-grow: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-flex-basis: 20%;
            -ms-flex-preferred-size: 20%;
                flex-basis: 20%; }
        section.all-products .filter-cell > .select-wrapper:last-child {
          margin-right: 0rem; } }

section.all-products .clear-filters-cell {
  text-align: center; }
  section.all-products .clear-filters-cell .clear-filters-button {
    display: block;
    width: 100%; }

section.all-products .grid-cont .grid-item {
  position: relative; }
  section.all-products .grid-cont .grid-item .onsaleflag {
    position: absolute;
    top: 5%;
    left: 20%;
    width: 20%; }
    @media print, screen and (min-width: 40em) {
      section.all-products .grid-cont .grid-item .onsaleflag {
        left: 0;
        width: 40%; } }
  section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-title {
    margin-left: -1rem;
    margin-right: -1rem; }
  section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-short-desc, section.all-products .grid-cont .grid-item .woo-product-content .product-meta .product-category {
    display: none; }

section.all-products .load-more-cont {
  margin-top: 3rem;
  text-align: center; }
  section.all-products .load-more-cont .load-more-button {
    border-radius: 0rem; }

div.page-wrap > .woocommerce {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    div.page-wrap > .woocommerce {
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    div.page-wrap > .woocommerce {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > .woocommerce {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media screen and (min-width: 90em) {
    div.page-wrap > .woocommerce {
      padding-left: 4.0625rem;
      padding-right: 4.0625rem; } }
  @media screen and (min-width: 75em) {
    div.page-wrap > .woocommerce {
      max-width: 90rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX2ZvbnRzLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fbWl4aW5zLnNjc3MiLCJnbG9iYWwvX2RlZmF1bHRzLnNjc3MiLCJtb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fZm9ybXMuc2NzcyIsIm1vZHVsZXMvX3R5cG9ncmFwaHkuc2NzcyIsIm1vZHVsZXMvX3Bvc3QtbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGVudC1sb2NhdGlvbi1tYXAuc2NzcyIsIm1vZHVsZXMvX2Zvcm0td2l0aC1iYWNrZ3JvdW5kLnNjc3MiLCJtb2R1bGVzL19hZGQtdG8tY2FydC5zY3NzIiwibW9kdWxlcy9fdG91ci1yZXNlcnZhdGlvbi1tb2RhbC5zY3NzIiwibW9kdWxlcy9fYWdlLWNvbmZpcm0uc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fZGl2aWRlcnMuc2NzcyIsImNvbXBvbmVudHMvX2xpc3RzLnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX3JldmVhbC1tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCJjb21wb25lbnRzL19nb29nbGUtbWFwcy5zY3NzIiwidGVtcGxhdGVzL19mcm9udC5zY3NzIiwidGVtcGxhdGVzL19raXRjaGVuLXNpbmsuc2NzcyIsInRlbXBsYXRlcy80MDQuc2NzcyIsInRlbXBsYXRlcy9fYXJjaGl2ZS1jYXJlZXIuc2NzcyIsInRlbXBsYXRlcy9fYXJjaGl2ZS1ldmVudC5zY3NzIiwidGVtcGxhdGVzL19hcmNoaXZlLXBvc3Quc2NzcyIsInRlbXBsYXRlcy9fc2luZ2xlLWxvY2F0aW9uLnNjc3MiLCJ0ZW1wbGF0ZXMvX3NpbmdsZS1ldmVudC5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUtY2FyZWVyLnNjc3MiLCJ0ZW1wbGF0ZXMvX3NpbmdsZS1wb3N0LnNjc3MiLCJ0ZW1wbGF0ZXMvX2dlbmVyaWMtcGFnZS5zY3NzIiwidGVtcGxhdGVzL19jb250ZW50LXBvc3QtdGlsZS5zY3NzIiwidGVtcGxhdGVzL19zZWFyY2guc2NzcyIsInRlbXBsYXRlcy9fc2luZ2xlLXByb2R1Y3Quc2NzcyIsInRlbXBsYXRlcy9fZmVhdHVyZWQtc2xpZGVyLnNjc3MiLCJibG9ja3MvX2NvcHktd2l0aC10aXRsZS5zY3NzIiwiYmxvY2tzL19jdGEuc2NzcyIsImJsb2Nrcy9faGVhZGluZy5zY3NzIiwiYmxvY2tzL19pbWFnZS5zY3NzIiwiYmxvY2tzL19pbWFnZS1jdGEuc2NzcyIsImJsb2Nrcy9faW1hZ2UtZ2FsbGVyeS5zY3NzIiwiYmxvY2tzL19pbWFnZS1saW5rcy5zY3NzIiwiYmxvY2tzL19pbmZvLWNvcHkuc2NzcyIsImJsb2Nrcy9fZXZlbnQtc2luZ2xlLWNvbnRlbnQuc2NzcyIsImJsb2Nrcy9fbG9jYXRpb24tY2FsbG91dC5zY3NzIiwiYmxvY2tzL19wYXJhZ3JhcGguc2NzcyIsImJsb2Nrcy9fcHJvZmlsZS5zY3NzIiwiYmxvY2tzL19xdW90ZS5zY3NzIiwiYmxvY2tzL19mZWF0dXJlLWdhbGxlcnkuc2NzcyIsImJsb2Nrcy9faW1hZ2Utc2xpZGVyLWdhbGxlcnkuc2NzcyIsImJsb2Nrcy9faG91cnMtd2l0aC1pbWFnZS5zY3NzIiwiYmxvY2tzL190cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dC5zY3NzIiwiYmxvY2tzL19zcGVjaWFsdHktdG91cnMuc2NzcyIsImJsb2Nrcy9fZmFjaWxpdHktb3ZlcnZpZXcuc2NzcyIsImJsb2Nrcy9fZm9ybS1jYWxsb3V0LnNjc3MiLCJibG9ja3MvX2RlYWwtY2FsbG91dC5zY3NzIiwiYmxvY2tzL19uZXdzbGV0dGVyLXNpZ251cC5zY3NzIiwiYmxvY2tzL19mZWF0dXJlZC1wcm9kdWN0cy5zY3NzIiwiYmxvY2tzL19hbGwtcHJvZHVjdHMuc2NzcyIsImJsb2Nrcy9fd29vY29tbWVyY2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsNkZBQVk7QUFDWixvRkFBWTtBQ2tFWix1SUFBWTtBQXkzQlo7RUFDRSxhQUFXO0VBQ1gsZUFBYTtFQUNiLFlBQVUsRUFDWDs7QUFDRDtFQUVFLGdDQUErQjtFQUMvQixzQkFBcUI7RUFDckIsd0JBQXVCLEVBQ3hCOztBQ3Q4QkQ7Ozs7O0dBS0c7QUM4Skc7RUN2SEo7SUFDRSxZQUFXO0lBQ1gsV0FBVTtJQUNWLGVBQWMsRUFDZixFQUFBOztBQ0hELGlFQUFpRTtBQUcvRDtvRkFDZ0Y7QUFFaEY7Ozs7O09BS0c7QUFFSDtFQUNFLHdCQzFDdUI7RUQwQ1MsT0FBTztFQVFyQyxrQkFBaUI7RUFBRSxPQUFPO0VBRTVCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztPQUdHO0FBRUg7RUU5RUYsZUFYdUM7RUZvR2pDLGlCQUFnQixFQUVuQjs7QUFvQ0Q7b0ZBQ2dGO0FBdUNoRjs7T0FFRztBQUVIOztFQUVFLGVBQWMsRUFDZjs7QUFFRDs7T0FFRztBQUVIO0VBS0ksaUJDdkxZLEVEeUxmOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUUsT0FBTztFQUNoQyxVQUFTO0VBQUUsT0FBTztFQUNsQixrQkFBaUI7RUFBRSxPQUFPLEVBQzNCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBYUQ7OztPQUdHO0FBRUg7RUFDRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLDhCQUE2QjtFQUFFLE9BQU87RUFDdEMsc0NBQXFDO0VBQUUsT0FBTyxFQUMvQzs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxpQkFBZ0IsRUFDakI7O0FBSUQ7b0ZBQ2dGO0FBRWhGOzs7T0FHRztBQUVIO0VBQ0Usb0JBQW1CO0VBQUUsT0FBTztFQUM1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLGtDQUFpQztFQUFFLE9BQU8sRUFDM0M7O0FBRUQ7O09BRUc7QUFFSDs7RUFFRSxxQkFBb0IsRUFDckI7O0FBRUQ7O09BRUc7QUFQSDs7RUFXRSxvQkFBbUIsRUFDcEI7O0FBRUQ7OztPQUdHO0FBRUg7OztFQUdFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsdUJBQXNCO0VBQ3RCLFlBQVcsRUFDWjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIOztFQUVFLGVBQWM7RUFDZCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHlCQUF3QixFQUN6Qjs7QUFFRDtFQUNFLGdCQUFlLEVBQ2hCOztBQUVEO0VBQ0UsWUFBVyxFQUNaOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIOztFQUVFLHNCQUFxQixFQUN0Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOztPQUVHO0FBRUg7RUFDRSxpQkFBZ0IsRUFDakI7O0FBSUQ7b0ZBQ2dGO0FBRWhGOzs7T0FHRztBQUVIOzs7OztFQUtFLHdCQ3padUI7RUR5WlMsT0FBTztFQUN2QyxnQkFBZTtFQUFFLE9BQU87RUFLdEIsa0JBQWlCO0VBQUUsT0FBTztFQUU1QixVQUFTO0VBQUUsT0FBTyxFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEOzs7T0FHRztBQUVIOztFQUNTLE9BQU87RUFDZCxxQkFBb0IsRUFDckI7O0FBRUQ7Ozs7T0FJRztBQUVIOzs7O0VBSUUsMkJBQTBCO0VBQUUsT0FBTyxFQUNwQzs7QUFFRDs7OztFQUtFOztTQUVHO0VBT0g7O1NBRUcsRUFLSjtFQXJCRDs7OztJQVVJLG1CQUFrQjtJQUNsQixXQUFVLEVBQ1g7RUFaSDs7OztJQW1CSSwrQkFBOEIsRUFDL0I7O0FBR0g7O09BRUc7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7O09BR0c7QU52TFA7O0VNMkxNLHVCQUFzQjtFQUFFLE9BQU87RUFDL0IsV0FBVTtFQUFFLE9BQU8sRUFDcEI7O0FBRUQ7O09BRUc7QU52TFA7O0VNMkxNLGFBQVksRUFDYjs7QUFFRDs7O09BR0c7QU56TFA7RU00TE0sOEJBQTZCO0VBQUUsT0FBTztFQUN0QyxxQkFBb0I7RUFBRSxPQUFPO0VBRTdCOztTQUVHLEVBTUo7RU4vTEg7SU02TE0seUJBQXdCLEVBQ3pCOztBQUdIOzs7T0FHRztBQUVIO0VBQ0UsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxjQUFhO0VBQUUsT0FBTyxFQUN2Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsMEJBQXlCO0VBQ3pCLGNBQWE7RUFDYiwrQkFBOEIsRUFDL0I7O0FBRUQ7Ozs7O09BS0c7QUFFSDtFQUNFLHVCQUFzQjtFQUFFLE9BQU87RUFDL0IsZUFBYztFQUFFLE9BQU87RUFDdkIsZ0JBQWU7RUFBRSxPQUFPO0VBQ3hCLFdBQVU7RUFBRSxPQUFPO0VBQ25CLGVBQWM7RUFBRSxPQUFPO0VBQ3ZCLG9CQUFtQjtFQUFFLE9BQU8sRUFDN0I7O0FBRUQ7OztPQUdHO0FBRUg7RUFDRSxzQkFBcUI7RUFBRSxPQUFPO0VBQzlCLHlCQUF3QjtFQUFFLE9BQU8sRUFDbEM7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBcUJmOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBQUVIO0VBQ0Usc0JBQXFCLEVBQ3RCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxjQUFhLEVBQ2Q7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FOcE9QO0VNdU9NLGNBQWEsRUFDZDs7QUd2aEJIO0VBQ0UseUVBQWdELEVBQ2pEOztBSGxGQztFR3FGQSx1QkFBc0I7RUFDdEIsZ0JQeEVtQixFT3lFcEI7O0FBR0Q7OztFQUdFLG9CQUFtQixFQUNwQjs7QUh0RUM7RUcwRUEsVUFBUztFQUNULFdBQVU7RUFFVixvQlA1RFc7RU84RFgsMEtQbEQwSztFT21EMUssaUJQMUNzQjtFTzJDdEIsaUJQekZtQjtFTzBGbkIsZVBuRVc7RU9zRVQsb0NBQW1DO0VBQ25DLG1DQUFrQyxFQUVyQzs7QUhxT0M7RUdqT0Esc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUd0QixnQkFBZTtFQUNmLGFBQVk7RUFDWixnQ0FBK0IsRUFDaEM7O0FIdVpDO0VHblpBLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsaUJQaEVhLEVPaUVkOztBQUdEO0VBQ0UsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxpQlB2RWEsRU93RWQ7O0FBSUQ7Ozs7OztFQUtJLDJCQUEwQixFQUMzQjs7QUg0T0Q7RUd0T0EsV0FBVTtFQUNWLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxpQlAzRmE7RU80RmIsd0JBQXVCO0VBQ3ZCLGVBQWM7RUFDZCxhUHhGdUIsRU95RnhCO0VUMFJEO0lVMVNFLFdBQVUsRUFDWDs7QUorQ0M7RUc1QkEsZUFBYyxFQUNmOztBSHNNQzs7Ozs7RUc5TEEscUJBQW9CLEVBQ3JCOztBQUdEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UseUJBQXdCLEVBQ3pCOztBRXJPRDtFQ29CTSxzQkFBNEI7RUFBNUIscUJBQTRCO0VDZmxDLGlCQ3VFdUQ7RUR0RXZELGVBQWMsRUZJYjtFUDZJRztJT3ZKSjtNQ29CTSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEVmpDLEVBQUE7RVA2SUc7SU92Sko7TUNvQk0sb0JBQTRCO01BQTVCLG1CQUE0QixFRFZqQyxFQUFBO0VQa0pHO0lPNUpKO01Db0JNLG9CQUE0QjtNQUE1QixtQkFBNEIsRURWakMsRUFBQTtFUGtKRztJTzVKSjtNQ29CTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEVmpDLEVBQUE7RUFWRDtJQ29CTSxzQkFBNEI7SUFBNUIscUJBQTRCO0lDZmxDLGdCRkRtQztJRUVuQyxlQUFjLEVGRFg7SVBrSkM7TU92Sko7UUNvQk0sc0JBQTRCO1FBQTVCLHFCQUE0QixFRGYvQixFQUFBO0lQa0pDO01PdkpKO1FDb0JNLG9CQUE0QjtRQUE1QixtQkFBNEIsRURmL0IsRUFBQTtJUHVKQztNTzVKSjtRQ29CTSxvQkFBNEI7UUFBNUIsbUJBQTRCLEVEZi9CLEVBQUE7SVB1SkM7TU81Sko7UUNvQk0seUJBQTRCO1FBQTVCLHdCQUE0QixFRGYvQixFQUFBO0VBTEg7SUM2QkksaUJBQTRCO0lBQTVCLGdCQUE0QjtJQ3hCaEMsZ0JGR21DO0lFRm5DLGVBQWMsRUZHWDs7QUFJSDtFRU9BLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBSHFCO01BR3JCLHdCQUhxQjtVQUdyQixvQkFIcUIsRUZIcEI7O0FBRUQ7RUlxQkUsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGVBQWM7RUFrQ2QsWUFEb0QsRUo1Q3JEO0VBWkQ7SUkwQkUsc0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWEsRUpwQlo7RUFOSDtJSTZCRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFSm5CYjs7QUFHSDtFSW9DRSxZQUFtQixFSmpDbEI7O0FBSEg7RUl3Q0UsWUFBbUIsRUpqQ2xCOztBQVNEO0VBTUkseUJBQWdCO01BQWhCLDhCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7O0FQa0dEO0VPekdGO0lBTUkseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFDakIsRUFBQTs7QVBrR0Q7RU96R0Y7SUFNSSx5QkFBZ0I7UUFBaEIsOEJBQWdCO1lBQWhCLGlCQUFnQixFQUNqQixFQUFBOztBUHVHRDtFTzlHRjtJQU1JLHlCQUFnQjtRQUFoQiw4QkFBZ0I7WUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7O0FQdUdEO0VPOUdGO0lBTUkseUJBQWdCO1FBQWhCLDhCQUFnQjtZQUFoQixpQkFBZ0IsRUFDakIsRUFBQTs7QUFtQkQ7RUlFRixnQkFEb0QsRUpDakQ7O0FBRkQ7RUlFRixpQkFEb0QsRUpDakQ7O0FBRkQ7RUlFRixXQURvRCxFSkNqRDs7QUFGRDtFSUVGLGlCQURvRCxFSkNqRDs7QUFGRDtFSUVGLGlCQURvRCxFSkNqRDs7QUFGRDtFSUVGLFdBRG9ELEVKQ2pEOztBQUZEO0VJRUYsaUJBRG9ELEVKQ2pEOztBQUZEO0VJRUYsaUJBRG9ELEVKQ2pEOztBQUZEO0VJRUYsV0FEb0QsRUpDakQ7O0FBRkQ7RUlFRixpQkFEb0QsRUpDakQ7O0FBRkQ7RUlFRixpQkFEb0QsRUpDakQ7O0FBRkQ7RUlFRixZQURvRCxFSkNqRDs7QVA2RUQ7RU81RkE7SUloQkYsc0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUpKaEI7RUFFRDtJSWxCRix1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQXdCZCxZQUFtQixFSkhoQjtFQUtEO0lJRUYsZ0JBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLFdBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsV0FEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixXQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLFlBRG9ELEVKQ2pELEVBQUE7O0FQNkVEO0VPNUZBO0lJaEJGLHNCQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhO0lBdUJiLFlBQW1CLEVKSmhCO0VBRUQ7SUlsQkYsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWM7SUF3QmQsWUFBbUIsRUpIaEI7RUFLRDtJSUVGLGdCQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixXQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLFdBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsV0FEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixZQURvRCxFSkNqRCxFQUFBOztBUGtGRDtFT2pHQTtJSWhCRixzQkFBYTtRQUFiLGtCQUFhO1lBQWIsY0FBYTtJQXVCYixZQUFtQixFSkpoQjtFQUVEO0lJbEJGLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBd0JkLFlBQW1CLEVKSGhCO0VBS0Q7SUlFRixnQkFEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsV0FEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixXQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLFdBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsWUFEb0QsRUpDakQsRUFBQTs7QVBrRkQ7RU9qR0E7SUloQkYsc0JBQWE7UUFBYixrQkFBYTtZQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUpKaEI7RUFFRDtJSWxCRix1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQXdCZCxZQUFtQixFSkhoQjtFQUtEO0lJRUYsZ0JBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLFdBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsV0FEb0QsRUpDakQ7RUFGRDtJSUVGLGlCQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixXQURvRCxFSkNqRDtFQUZEO0lJRUYsaUJBRG9ELEVKQ2pEO0VBRkQ7SUlFRixpQkFEb0QsRUpDakQ7RUFGRDtJSUVGLFlBRG9ELEVKQ2pELEVBQUE7O0FBS0w7RUFDRSxZQUFXLEVBQ1o7O0FBR0Q7RUFDRSxhQUFZLEVBQ2I7O0FBNkJEO0VDL0ZNLHVCQUE0QjtFQUE1Qix3QkFBNEIsRUQ4SGpDO0VQS0c7SU9wQ0o7TUMvRk0sd0JBQTRCO01BQTVCLHlCQUE0QixFRDhIakMsRUFBQTtFUEtHO0lPcENKO01DL0ZNLHVCQUE0QjtNQUE1Qix3QkFBNEIsRUQ4SGpDLEVBQUE7RVBVRztJT3pDSjtNQy9GTSx1QkFBNEI7TUFBNUIsd0JBQTRCLEVEOEhqQyxFQUFBO0VQVUc7SU96Q0o7TUMvRk0sdUJBQTRCO01BQTVCLHdCQUE0QixFRDhIakMsRUFBQTtFQS9CRDtJSXBERSw0QkFENEU7SUhqQzFFLHNCQUE0QjtJQUE1Qix1QkFBNEIsRUQ0RjdCO0VQOEJDO0lPcENKO01JcERFLDZCQUQ0RTtNSGpDMUUsdUJBQTRCO01BQTVCLHdCQUE0QixFRG1HekIsRUFBQTtFUHVCSDtJT3BDSjtNSXBERSw0QkFENEU7TUhqQzFFLHNCQUE0QjtNQUE1Qix1QkFBNEIsRURtR3pCLEVBQUE7RVA0Qkg7SU96Q0o7TUlwREUsNEJBRDRFO01IakMxRSxzQkFBNEI7TUFBNUIsdUJBQTRCLEVEbUd6QixFQUFBO0VQNEJIO0lPekNKO01JcERFLDRCQUQ0RTtNSGpDMUUsc0JBQTRCO01BQTVCLHVCQUE0QixFRG1HekIsRUFBQTtFQXJDUDtJSXpCRSxZQUFtQixFSjJCcEI7RUFFRDtJSXpCRSxZQUFtQixFSjJCcEI7RUFNQztJSTdCQSxnQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsaUNBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxpQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsaUNBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxpQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsaUNBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxpQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsaUNBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RVA4Q0M7SU81REo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HLEVBQUE7RVA4Q0M7SU81REo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HLEVBQUE7RVBtREM7SU9qRUo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HLEVBQUE7RVBtREM7SU9qRUo7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsZ0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGlDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HLEVBQUE7O0FBOENIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUR3SS9CO0VQTEM7SU9BSjtNQ25JTSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEd0kvQixFQUFBO0VQTEM7SU9BSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEd0kvQixFQUFBO0VQQUM7SU9MSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEd0kvQixFQUFBO0VQQUM7SU9MSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHdCQUE0QjtFQUE1Qix1QkFBNEIsRUQ4SS9CO0VQWEM7SU9TRjtNQzVJSSx5QkFBNEI7TUFBNUIsd0JBQTRCLEVEOEkvQixFQUFBO0VQWEM7SU9TRjtNQzVJSSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEOEkvQixFQUFBO0VQTkM7SU9JRjtNQzVJSSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEOEkvQixFQUFBO0VQTkM7SU9JRjtNQzVJSSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHdCQUE0QjtFQUE1Qix1QkFBNEIsRURtSi9CO0VQaEJDO0lPQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRG1KL0IsRUFBQTtFUGhCQztJT0FKO01DbklNLHdCQUE0QjtNQUE1Qix1QkFBNEIsRURtSi9CLEVBQUE7RVBYQztJT0xKO01DbklNLHdCQUE0QjtNQUE1Qix1QkFBNEIsRURtSi9CLEVBQUE7RVBYQztJT0xKO01DbklNLHdCQUE0QjtNQUE1Qix1QkFBNEIsRURtSi9CLEVBQUE7O0FLdEpIO0VEeURFLFlBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsV0FEb0QsRUN0RHJEOztBQUZEO0VEeURFLGlCQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxhQURvRCxFQ3REckQ7O0Fab0lHO0VZdElKO0lEeURFLFlBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBWm9JRztFWXRJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QVp5SUc7RVkzSUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FaeUlHO0VZM0lKO0lEeURFLFlBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBQUZEO0VEeURFLDRCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEO0VEeURFLDJCQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSxpQ0FEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGlDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsNkJBRGdILEVDdERqSDs7QVpvSUc7RVl0SUo7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxrQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSCxFQUFBOztBWm9JRztFWXRJSjtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakgsRUFBQTs7QVp5SUc7RVkzSUo7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakgsRUFBQTs7QVp5SUc7RVkzSUo7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLGlDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLGlDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsaUNBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNkJBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLGlDQURnSCxFQ3REakg7RUFGRDtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMkJBRGdILEVDdERqSDtFQUZEO0lEeURFLGlDQURnSCxFQ3REakg7RUFGRDtJRHlERSxpQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNkJBRGdILEVDdERqSCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMEI7RUFBMUIsZUFBMEIsRU55TTNCO0VNdE1EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDO0ViOEdQO0lhaEhNO01GbUNSLGdCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7RWI4R1A7SWFoSE07TUZtQ1IsZ0JBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFYm1IUDtJYXJITTtNRm1DUixnQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFlBRG9ELEVFaEMzQyxFQUFBO0VibUhQO0lhckhNO01GbUNSLGdCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsV0FEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsaUJBRG9ELEVFaEMzQztJQUZEO01GbUNSLFdBRG9ELEVFaEMzQztJQUZEO01GbUNSLGlCQURvRCxFRWhDM0M7SUFGRDtNRm1DUixpQkFEb0QsRUVoQzNDO0lBRkQ7TUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FOZ0xQO0VNdEtFLGdCQUEwQjtFQUExQixlQUEwQixFTndLM0I7RU1yS0Q7SUFFSSxpQkFBNEI7SUFBNUIsZ0JBQTRCLEVBRS9COztBYjZGRDtFTzREQTtJTXZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU55TTNCO0lNdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0Fib0lEO0VhekhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FidUhQO0VhaEhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FiOEdQO0VhaEhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FibUhQO0VhckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FibUhQO0VhckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FiOEdQO0VPa0VBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FiNkZEO0VPNERBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QWJvSUQ7RWF6SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWJ1SFA7RWF6SE07SUY0Q1IsZ0JBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWJ1SFA7RWFoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWJtSFA7RWFySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWJtSFA7RWFySE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWI4R1A7RU9rRUE7SU10S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOd0szQjtJTXJLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QWJrR0Q7RU91REE7SU12TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOeU0zQjtJTXRNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBYnlJRDtFYTlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBYjRIUDtFYTlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBYjRIUDtFYTlITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBYjRIUDtFYXJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBYm1IUDtFYXJITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBYm1IUDtFTzZEQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBYmtHRDtFT3VEQTtJTXZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU55TTNCO0lNdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FieUlEO0VhOUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FiNEhQO0VhOUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FiNEhQO0VhOUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FiNEhQO0VhOUhNO0lGNENSLGdCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FiNEhQO0VhckhNO0lGbUNSLGdCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FibUhQO0VPNkRBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FONktEO0VPMU5GLGdCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsaUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixzQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHVDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsa0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORix1QkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLHdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsdUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORix3Q0FBNkIsRVBnTzFCOztBUHRGRDtFT2dGQTtJTzFORixnQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHNCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix5Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHlDQUE2QixFUGdPMUIsRUFBQTs7QVB0RkQ7RU9nRkE7SU8xTkYsZ0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixzQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsdUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLHVCQUE2QixFUDROMUI7RUFFRDtJTzlORix3Q0FBNkIsRVBnTzFCLEVBQUE7O0FQakZEO0VPMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsc0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHVDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLHdDQUE2QixFUGdPMUI7RUFORDtJTzFORix1QkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsd0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsdUJB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LDRCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsa0NBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RVA4Q0M7SU81REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw4QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLG1DQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw4QkFEZ0gsRUpnQy9HLEVBQUE7RVA4Q0M7SU81REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HLEVBQUE7RVBtREM7SU9qRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2QkFEZ0gsRUpnQy9HLEVBQUE7RVBtREM7SU9qRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsaUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLGtDQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw2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QSxrQ0FEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFUDhDQztJTzVESjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDhCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxtQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsbUNBRGdILEVKZ0MvRztJQUZEO01JN0JBLDhCQURnSCxFSmdDL0csRUFBQTtFUDhDQztJTzVESjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0csRUFBQTtFUG1EQztJT2pFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0csRUFBQTtFUG1EQztJT2pFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSxpQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSxrQ0FEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsa0NBRGdILEVKZ0MvRztJQUZEO01JN0JBLDZCQURnSCxFSmdDL0csRUFBQTs7QUF5U0Q7RVEzWEksOEJBQW1DLEVSNlh0QztFUDdQQztJTzJQRjtNUTNYSSwrQkFBbUMsRVI2WHRDLEVBQUE7RVA3UEM7SU8yUEY7TVEzWEksOEJBQW1DLEVSNlh0QyxFQUFBO0VQeFBDO0lPc1BGO01RM1hJLDhCQUFtQyxFUjZYdEMsRUFBQTtFUHhQQztJT3NQRjtNUTNYSSw4QkFBbUMsRVI2WHRDLEVBQUE7O0FQN1BDO0VPK1BBO0lRL1hFLCtCQUFtQyxFUmlZcEMsRUFBQTs7QVBqUUQ7RU8rUEE7SVEvWEUsOEJBQW1DLEVSaVlwQyxFQUFBOztBUDVQRDtFTzBQQTtJUS9YRSw4QkFBbUMsRVJpWXBDLEVBQUE7O0FQNVBEO0VPMFBBO0lRL1hFLDhCQUFtQyxFUmlZcEMsRUFBQTs7QVNyS0w7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CbEJ0RTBCO0VrQndFMUIsbUJBQWtCO0VBQ2xCLGlCbEJqTm1CO0VrQmtObkIsbUNsQnpFeUMsRWtCMEUxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGlCbEIvS29CO0VrQmdMcEIscUJBQW9CLEVBQ3JCOztBZGdEQztFYzVDQSxlbEJoR2lCO0VrQmlHakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSw4TGxCM00wSztFa0I0TTFLLG1CbEJwSnNCO0VrQnFKdEIsaUJsQnBNc0I7RWtCcU10QixlbEJwSmtCO0VrQnFKbEIsbUNsQmhIc0MsRWtCc0h2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVsQjNPZSxFa0I0T2hCOztBQVFHO0VBSUksbUJOdlA2QztFTW1RN0MsaUJsQmpMVztFa0J5TFgsY0FBYTtFQU9iLHNCbEIvTGlCLEVrQmlNcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJsQmpMVztFa0J5TFgsY0FBYTtFQU9iLHNCbEIvTGlCLEVrQmlNcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJsQmpMVztFa0J5TFgsY0FBYTtFQU9iLHNCbEIvTGlCLEVrQmlNcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJsQmpMVztFa0J5TFgsY0FBYTtFQU9iLHNCbEIvTGlCLEVrQmlNcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJsQmpMVztFa0J5TFgsY0FBYTtFQU9iLHNCbEIvTGlCLEVrQmlNcEI7O0FBakNEO0VBSUksZ0JOdlA2QztFTW1RN0MsaUJsQmpMVztFa0J5TFgsY0FBYTtFQU9iLHNCbEIvTGlCLEVrQmlNcEI7O0FoQnpNSDtFZ0J3S0U7SUFJSSxnQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG9CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksb0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxrQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG9CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksb0JOdlA2QyxFTW9SaEQsRUFBQTs7QWhCek1IO0VnQndLRTtJQUlJLGdCTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksb0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxtQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG1CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksb0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxvQk52UDZDLEVNb1JoRCxFQUFBOztBaEJwTUg7RWdCbUtFO0lBSUksZ0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxvQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG1CTnZQNkMsRU1vUmhEO0VBakNEO0lBSUksbUJOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxvQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLG9CTnZQNkMsRU1vUmhELEVBQUE7O0FkbkdMO0VjMEdBLHFCQUFvQjtFQUNwQixlbEJuU1U7RWtCb1NWLHNCbEJ6SnlCO0VrQjJKekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlbEJoSzJELEVrQm9LNUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FkdktEO0VjNEtBLFlBQVc7RUFFWCxpQk5sVHFEO0VNbVRyRCxVQUFTO0VBQ1QscUJsQjVLeUI7RWtCOEt6QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ2xCelRpQjtFa0IwVGpCLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JsQnRNMEI7RWtCdU0xQiw2QmxCckx5QjtFa0JzTHpCLGlCbEJoVm1CLEVrQmlWcEI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQmxCL0xzQjtFa0JnTXRCLHNCbEJsTWtCLEVrQm1NbkI7O0FBR0Q7RUFDRSxxQmxCck1zQixFa0JzTXZCOztBQUdEO0VBRUkscUJsQjFNMkI7RWtCMk0zQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQmxCaE55QixFa0JzTjFCO0VBUEQ7SUFJSSxzQmxCak44QjtJa0JrTjlCLGlCbEJqVWtCLEVrQmtVbkI7O0FBSUg7RUFDRSxpQmxCL08wQjtFa0JnUDFCLHVDTjFXcUQ7RU0yV3JELCtCbEI1V2lCLEVrQmtYbEI7RUFURDtJQU1JLGlCbEI1WGlCO0lrQjZYakIsZWxCL1dhLEVr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QUFORDtFQ3ZDRiw2QkF2Q2tCO01BdUNsQix3QkF2Q2tCO1VBdUNsQixxQkF2Q2tCLEVEZ0ZmOztBQUVEO0VDM0JGLDRCQXZEa0I7TUF1RGxCLDZCQXZEa0I7Y0F1RGxCLDRCQXZEa0I7VUF1RGxCLG9CQXZEa0IsRURvRmY7O0FBSUg7RUNsREEsZ0NBL0NnQjtNQStDaEIsc0JBL0NnQjtVQStDaEIsd0JBL0NnQjtFQWdEaEIsNEJBeENnQjtNQXdDaEIsdUJBeENnQjtVQXdDaEIsb0JBeENnQjtFRDJGZCw4QkFBcUI7TUFBckIsMkJBQXFCO1VBQXJCLHNCQUFxQixFQUN0Qjs7QUFLRztFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QTdEcUREO0U2RHZEQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QTdEcUREO0U2RHZEQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QTdEMEREO0U2RDVEQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QTdEMEREO0U2RDVEQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QUE3Rkw7RUNPQSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFRExaOztBQUVEO0VBQ0UsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWMsRUFDZjs7QUFFRDtFQUNFLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSx1QkFBYztNQUFkLG1CQUFjO1VBQWQsZUFBYyxFQUNmOztBQUdDO0VDaURGLDRCQW5FVTtNQW1FVix3QkFuRVU7VUFtRVYsb0JBbkVVLEVEb0JQOztBQUZEO0VDaURGLG9DQWxFMEI7TUFrRTFCLGdDQWxFMEI7VUFrRTFCLDRCQWxFMEIsRURtQnZCOztBQUZEO0VDaURGLCtCQWpFZ0I7TUFpRWhCLDJCQWpFZ0I7VUFpRWhCLHVCQWpFZ0IsRURrQmI7O0FBRkQ7RUNpREYsdUNBaEVnQztNQWdFaEMsbUNBaEVnQztVQWdFaEMsK0JBaEVnQyxFRGlCN0I7O0E3RCtIQztFNkR2SEk7SUNwQlIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWEsRURzQko7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFHQztJQ3NCViw0QkFuRVU7UUFtRVYsd0JBbkVVO1lBbUVWLG9CQW5FVSxFRCtDQztFQUZEO0lDc0JWLG9DQWxFMEI7UUFrRTFCLGdDQWxFMEI7WUFrRTFCLDRCQWxFMEIsRUQ4Q2Y7RUFGRDtJQ3NCViwrQkFqRWdCO1FBaUVoQiwyQkFqRWdCO1lBaUVoQix1QkFqRWdCLEVENkNMO0VBRkQ7SUNzQlYsdUNBaEVnQztRQWdFaEMsbUNBaEVnQztZQWdFaEMsK0JBaEVnQyxFRDRDckIsRUFBQTs7QTdEb0dQO0U2RHZISTtJQ3BCUixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYSxFRHNCSjtFQUVEO0lBQ0UsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQUVEO0lBQ0UsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQUVEO0lBQ0UsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFDZjtFQUdDO0lDc0JWLDRCQW5FVTtRQW1FVix3QkFuRVU7WUFtRVYsb0JBbkVVLEVEK0NDO0VBRkQ7SUNzQlYsb0NBbEUwQjtRQWtFMUIsZ0NBbEUwQjtZQWtFMUIsNEJBbEUwQixFRDhDZjtFQUZEO0lDc0JWLCtCQWpFZ0I7UUFpRWhCLDJCQWpFZ0I7WUFpRWhCLHVCQWpFZ0IsRUQ2Q0w7RUFGRDtJQ3NCVix1Q0FoRWdDO1FBZ0VoQyxtQ0FoRWdDO1lBZ0VoQywrQkFoRWdDLEVENENyQixFQUFBOztBN0R5R1A7RTZENUhJO0lDcEJSLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVEc0JKO0VBRUQ7SUFDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmO0VBRUQ7SUFDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmO0VBRUQ7SUFDRSx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYyxFQUNmO0VBR0M7SUNzQlYsNEJBbkVVO1FBbUVWLHdCQW5FVTtZQW1FVixvQkFuRVUsRUQrQ0M7RUFGRDtJQ3NCVixvQ0FsRTBCO1FBa0UxQixnQ0FsRTBCO1lBa0UxQiw0QkFsRTBCLEVEOENmO0VBRkQ7SUNzQlYsK0JBakVnQjtRQWlFaEIsMkJBakVnQjtZQWlFaEIsdUJBakVnQixFRDZDTDtFQUZEO0lDc0JWLHVDQWhFZ0M7UUFnRWhDLG1DQWhFZ0M7WUFnRWhDLCtCQWhFZ0MsRUQ0Q3JCLEVBQUE7O0E3RHlHUDtFNkQ1SEk7SUNwQlIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWEsRURzQko7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFFRDtJQUNFLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjLEVBQ2Y7RUFHQztJQ3NCViw0QkFuRVU7UUFtRVYsd0JBbkVVO1lBbUVWLG9CQW5FVSxFRCtDQztFQUZEO0lDc0JWLG9DQWxFMEI7UUFrRTFCLGdDQWxFMEI7WUFrRTFCLDRCQWxFMEIsRUQ4Q2Y7RUFGRDtJQ3NCViwrQkFqRWdCO1FBaUVoQiwyQkFqRWdCO1lBaUVoQix1QkFqRWdCLEVENkNMO0VBRkQ7SUNzQlYsdUNBaEVnQztRQWdFaEMsbUNBaEVnQztZQWdFaEMsK0JBaEVnQyxFRDRDckIsRUFBQTs7QUUxQ1Q7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixpQ0FGeUI7TUFFekIsNkJBRnlCO1VBRXpCLHlCQUZ5QjtFQ3ZCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlIxQjs7QUFVRDtFR29CQSxxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUlBbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGaENxQyxFRGNwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFSURsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHckNtQztVSHFDbkMsK0NHckNtQztFSHFDbkMsOEJGNUJtRDtNRTRCbkQsMEJGNUJtRDtVRTRCbkQsc0JGNUJtRDtFTUdqRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsZ0NGM0JxRDtNRTJCckQsNEJGM0JxRDtVRTJCckQsd0JGM0JxRDtFTUVuRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RHbkNpQztVSG1DakMsOENHbkNpQztFSG1DakMsaUNGMUJzRDtNRTBCdEQsNkJGMUJzRDtVRTBCdEQseUJGMUJzRDtFTUNwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFSGtDL0IsK0JGekJvRDtNRXlCcEQsMkJGekJvRDtVRXlCcEQsdUJGekJvRDtFTUFsRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHckNtQztVSHFDbkMsK0NHckNtQztFSHFDbkMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsOEJGdEJtRDtNRXNCbkQsMEJGdEJtRDtVRXNCbkQsc0JGdEJtRDtFTUhqRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsZ0NGckJxRDtNRXFCckQsNEJGckJxRDtVRXFCckQsd0JGckJxRDtFTUpuRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNGcEJzRDtNRW9CdEQsNkJGcEJzRDtVRW9CdEQseUJGcEJzRDtFTUxwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VDcUIvQixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsK0JGbkJvRDtNRW1CcEQsMkJGbkJvRDtVRW1CcEQsdUJGbkJvRDtFTU5sRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSxzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VDb0I3QixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO1VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtNSERmLDZCR0NlO1VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4QkFGeUI7TUFFekIsMEJBRnlCO1VBRXpCLHNCQUZ5QjtFSzNCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FBVUQ7RUdvQkEsNEJBRnlCO01BRXpCLHdCQUZ5QjtVQUV6QixvQkFGeUI7RUtoQnZCLFdBQTJCLEVSQTVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOEJBRnlCO01BRXpCLDBCQUZ5QjtVQUV6QixzQkFGeUI7RUszQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRCQUZ5QjtNQUV6Qix3QkFGeUI7VUFFekIsb0JBRnlCO0VLM0J2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUkYvQjs7QUFVRDtFR29CQSw4QkFGeUI7TUFFekIsMEJBRnlCO1VBRXpCLHNCQUZ5QjtFS2hCdkIsV0FBOEIsRVJBL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0QkFGeUI7TUFFekIsd0JBRnlCO1VBRXpCLG9CQUZ5QjtFSzNCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVJGL0I7O0FBVUQ7RUdvQkEsOEJBRnlCO01BRXpCLDBCQUZ5QjtVQUV6QixzQkFGeUI7RUtoQnZCLFdBQThCLEVSQS9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUI7RU0zQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVURjVCOztBQVVEO0VHb0JBLDZCQUZ5QjtNQUV6Qix5QkFGeUI7VUFFekIscUJBRnlCO0VNaEJ2QixXQUEyQixFVEE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZ5QjtNQUV6Qix5QkFGeUI7VUFFekIscUJBRnlCO0VNM0J2QixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFVEYvQjs7QUFVRDtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFTWhCdkIsV0FBOEIsRVRBL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFTTNCdkIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVRGNUI7O0FBVUQ7RUdvQkEsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RU1oQnZCLFdBQTJCLEVUQTVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RU0zQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVURi9COztBQVVEO0VHb0JBLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCO0VNaEJ2QixXQUE4QixFVEEvQjs7QUNvQkM7RUFBWSxzQ0FBc0MsRUFBSTs7QUFBdEQ7RUFBWSxzQ0FBc0MsRUFBSTs7QUFNdEQ7RUFBWSw4Q0FBNkMsRUFBSTs7QUFBN0Q7RUFBWSw0Q0FBNkMsRUFBSTs7QUFBN0Q7RUFBWSwrQ0FBNkMsRUFBSTs7QUFBN0Q7RUFBWSxnREFBNkMsRUFBSTs7QUFBN0Q7RUFBWSxtREFBNkMsRUFBSTs7QUFBN0Q7RUFBWSwrRUFBNkMsRUFBSTs7QUFBN0Q7RUFBWSxnRkFBNkMsRUFBSTs7QUFBN0Q7RUFBWSwrRUFBNkMsRUFBSTs7QUFNN0Q7RUFBa0IsbUNBQW1DLEVBQUk7O0FBQXpEO0VBQWtCLG1DQUFtQyxFQUFJOztBQVE3RDtFU3RFQSxnQ0FBOEI7VUFBOUIsd0JBQThCLEVUc0VlOztBRWpFN0M7RUFHSTtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQTtFQUhkO0lBR0ksbUNBQVU7WUFBViwyQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxrQ0FBVTtZQUFWLDBCQUFVLEVBQUE7RUFIZDtJQUdJLG1DQUFVO1lBQVYsMkJBQVUsRUFBQSxFQUFBOztBRjREbEI7RVN2RUEsc0NBQThCO1VBQTlCLDhCQUE4QixFVHVFYzs7QUVsRTVDO0VBR0k7SUFHSSxrQ0FBVTtZQUFWLDBCQUFVLEVBQUE7RUFIZDtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQSxFQUFBOztBQU5sQjtFQUdJO0lBR0ksa0NBQVU7WUFBViwwQkFBVSxFQUFBO0VBSGQ7SUFHSSw2QkFBVTtZQUFWLHFCQUFVLEVBQUEsRUFBQTs7QUY2RGxCO0VTeEVBLHNDQUE4QjtVQUE5Qiw4QkFBOEIsRVR3RW1COztBRW5FakQ7RUFHSTtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQTtFQUhkO0lBR0ksaUNBQVU7WUFBVix5QkFBVSxFQUFBLEVBQUE7O0FGOERsQjtFU3pFQSxvQ0FBOEI7VUFBOUIsNEJBQThCLEVUeUVnQjs7QUVwRTlDO0VBR0k7SUFHSSxnQ0FBVTtZQUFWLHdCQUFVLEVBQUE7RUFIZDtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQTtFQUhkO0lBR0ksNkJBQVU7WUFBVixxQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxnQ0FBVTtZQUFWLHdCQUFVLEVBQUE7RUFIZDtJQUdJLGlDQUFVO1lBQVYseUJBQVUsRUFBQTtFQUhkO0lBR0ksNkJBQVU7WUFBVixxQkFBVSxFQUFBLEVBQUE7O0FGZ0VsQjs7OztFQUlFLGtDQy9EWTtVRCtEWiwwQkMvRFksRURnRWI7O0FBSUQ7RUFBWSw0Q0FBbUM7VUFBbkMsb0NBQW1DLEVBQUk7O0FBbEMvQztFQXNDWSw2Q0FBcUM7VUFBckMscUNBQXFDLEVBQUk7O0FBdENyRDtFQXNDWSw2Q0FBcUM7VUFBckMscUNBQXFDLEVBQUk7O0FBaENyRDtFQXNDWSxxREFBNEM7VUFBNUMsNkNBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSxtREFBNEM7VUFBNUMsMkNBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSxzREFBNEM7VUFBNUMsOENBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSx1REFBNEM7VUFBNUMsK0NBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSwwREFBNEM7VUFBNUMsa0RBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSxzRkFBNEM7VUFBNUMsOEVBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSx1RkFBNEM7VUFBNUMsK0VBQTRDLEVBQUk7O0FBdEM1RDtFQXNDWSxzRkFBNEM7VUFBNUMsOEVBQTRDLEVBQUk7O0FBaEM1RDtFQXNDa0IsMENBQWtDO1VBQWxDLGtDQUFrQyxFQUFJOztBQXRDeEQ7RUFzQ2tCLDBDQUFrQztVQUFsQyxrQ0FBa0MsRUFBSTs7QVVsRDlEOzs7RUFHRTtBQ3hERjtFQUNFLCtCQUE4QjtFQUM5Qiw4QkFBNkI7RUFDN0IsWUFBVztFQUNYLFdBQVU7RUFDVixpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLDJDQUEwQztFQUMxQyxzQkFBcUI7RUFDckIsZUFBYztFQUNkLGVBQWM7RUFDZCxnQkFBZTtFQUNmLG9CQUFtQjtFQUNuQixrQkFBaUI7RUFDakIsYUFBWTtFQUNaLFVBQVM7RUFDVCxvQkFBbUI7RUFDbkIsd0JBQXVCO0VBQ3ZCLHNCQUFxQjtFQUNyQixTQUFRO0VBQ1IsWUFBVztFQUNYLGdCQUFlLEVBQ2hCOztBQzNCRDtFQUNFLDJCQUEwQixFQUMzQjs7QUFHRDtFQUlNLGlCbEU4RW1ELEVrRTdFcEQ7O0FBTEw7RUFVTSxjbEV3RW1ELEVrRXBFcEQ7RTVFb0pDO0k0RWxLTjtNQVlRLFVsRXNFaUQsRWtFcEVwRCxFQUFBOztBQ3BCTDtFQUNFLGdCQUFlO0VBQ2Ysa0JBQWlCO0VBQ2pCLFlBQVc7RUFDWCxtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxlQUFhO0VBQ2IsWUFBVztFQUNYLG9CQUFzQixFQUN2Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIsVUFBUyxFQUNWOztBQUVEO0VBQ0UsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixVQUFTLEVBQ1Y7O0FBRUQ7RUFDRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQUNuQjs7QUM0QkQ7RUF4REUscUJBQTJDO0VBQzNDLHNCQUE0QyxFQXlEN0M7RTlFd0dLO0k4RTFHTjtNQXJESSxxQkFBNEM7TUFDNUMsc0JBQTZDLEVBc0RoRCxFQUFBO0U5RXdHSztJOEUxR047TUFqREksbUJBQTJDO01BQzNDLG9CQUE0QyxFQWtEL0MsRUFBQTtFOUU2R0s7SThFL0dOO01BN0NJLG1CQUE0QztNQUM1QyxvQkFBNkMsRUE4Q2hELEVBQUE7RTlFNkdLO0k4RS9HTjtNQXpDSSx3QkFBNkM7TUFDN0MseUJBQThDLEVBMENqRCxFQUFBOztBQzNERDtFRHFCRSxvQkFBMEM7RUFDMUMsdUJBQTZDLEVDcEI5QztFL0VpS0s7SStFbktOO01Ed0JJLG9CQUEyQztNQUMzQyx1QkFBOEMsRUN2QmpELEVBQUE7RS9FaUtLO0krRW5LTjtNRDRCSSxrQkFBMEM7TUFDMUMscUJBQTZDLEVDM0JoRCxFQUFBO0UvRXNLSztJK0V4S047TURnQ0ksa0JBQTJDO01BQzNDLHFCQUE4QyxFQy9CakQsRUFBQTtFL0VzS0s7SStFeEtOO01Eb0NJLHVCQUE0QztNQUM1QywwQkFBK0MsRUNuQ2xELEVBQUE7O0FBRUQ7RUFDQyx5QkFBdUIsRUFDdkI7O0FBRUQ7RUFDQyxtQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxtQkFBaUI7RUFDakIsdUJBQXFCO0VBQ3JCLG1DQUFpQztFQUNqQyw2QkFBMkIsRUFDM0I7O0FBRUQ7RUFFRSxjQUFZLEVBQ1o7O0FBSEY7RUFLRSxlQUFhLEVBQ2I7O0FBR0Y7RUFFRSxlQUFhLEVBQ2I7O0FBSEY7RUFLRSxjQUFZLEVBQ1o7O0EvRWlJSTtFZ0ZsS047O0lwQjhDSSx5QkFBd0IsRW9CM0MzQixFQUFBOztBaEZvS0s7RWdGbEtOOztJcEJLSSx5QkFBd0IsRW9CRjNCLEVBQUE7O0FBR0Q7RUFDQyxjQUFhLEVBQ2I7O0FBRUQ7RUFFRSxjQUFhO0VBQ2IsY0FBYSxFQXlCYjtFQTVCRjtJQUtHLDBCQUF5QixFQUl6QjtJQVRIO01BT0ksd0JBQXVCLEVBQ3ZCO0VBUko7SUFXRyxlbEZzRFcsRWtGckRYO0VBWkg7SUFjRywyQmxGbURXLEVrRmxEWDtFQWZIO0lBaUJHLGVsRmdFWTtJa0YvRFoscUJ0RXNEc0Q7SXNFckR0RCxtQ0FBa0M7SUFDbEMsOEJBQTZCO0lBQzdCLHFCQUFvQixFQU1wQjtJQTNCSDtNQXlCSSw0Q2xGOERnQixFa0Y3RGhCOztBQTFCSjtFQThCRSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsOEJsRnNDbUIsRWtGMUJuQjtFQTdDRjtJQW1DRywrQmxGb0NrQjtJa0ZuQ2xCLDBCbEYyQjBCLEVrRnRCMUI7SUF6Q0g7TUF1Q0ksMEJsRnVCd0IsRWtGdEJ4QjtFQXhDSjtJQTJDRywyQmxGc0JXLEVrRnJCWDs7QUE1Q0g7RUFnREUsdUJBQXNCLEVBQ3RCOztBbENrWkE7RWtDOVlELDBCQUF5QixFQWN6QjtFQWZEO0lBR0UsbUJBQWtCLEVBV2xCO0lBZEY7TUFLRyxhQUFZO01BQ1osbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxhQUFZO01BQ1osV0FBVTtNQUNWLFlBQVc7TUFDWCxxQ2xGa0JZO01rRmpCWixZQUFXLEVBQ1g7O0FsQ2VEO0VrQ1ZELHdCQUF1QixFQUN2Qjs7QXZCbERDO0V1QnFERCwwQkFBeUI7RUFDekIsMEJsRlFjLEVrRm9DZDtFQTlDRDtJQUlFLGtCQUFpQjtJQUNqQixnQkFBZSxFQVVmO0lBZkY7TUFXSyxlbEZuQlMsRWtGb0JUO0VBWkw7SUFrQkUscUJBQW9CO0lBQ3BCLHdCQUF1QixFQUN2QjtFQXBCRjtJQXNCRSxhQUFZO0lBQ1osWUFBVyxFQUNYO0VBeEJGO0lGL0NFLHFCQUFtRCxFRTJFbkQ7SWhGOENJO01nRjFFTjtRRjdDSSxxQkFBb0QsRUV5RXRELEVBQUE7SWhGOENJO01nRjFFTjtRRjFDSSxtQkFBbUQsRUVzRXJELEVBQUE7SWhGbURJO01nRi9FTjtRRnZDSSxtQkFBb0QsRUVtRXRELEVBQUE7SWhGbURJO01nRi9FTjtRRnBDSSx3QkFBcUQsRUVnRXZELEVBQUE7RUE1QkY7SUE4QkUsc0JBQVk7SUFBWixxQkFBWTtJQUFaLGNBQVk7SUFDWiw0QkFBa0I7UUFBbEIsdUJBQWtCO1lBQWxCLG9CQUFrQjtJQUNsQixrQ0FBd0I7UUFBeEIsbUJBQXdCO1lBQXhCLDBCQUF3QjtJRi9FeEIsc0JBQW1ELEVFNEZuRDtJaEY2Qkk7TWdGMUVOO1FGN0NJLHNCQUFvRCxFRTBGdEQsRUFBQTtJaEY2Qkk7TWdGMUVOO1FGMUNJLG9CQUFtRCxFRXVGckQsRUFBQTtJaEZrQ0k7TWdGL0VOO1FGdkNJLG9CQUFvRCxFRW9GdEQsRUFBQTtJaEZrQ0k7TWdGL0VOO1FGcENJLHlCQUFxRCxFRWlGdkQsRUFBQTtJQTdDRjtNQXVDTyxlbEYvQ08sRWtGZ0RQOztBQVFQO0VBR0csMEJsRnpDWSxFa0YwRFo7RUFwQkg7SUFLSSxxQkFBb0IsRUFDcEI7RUFOSjtJQVFJLGdCQUFlO0lBQ2YsVUFBUztJQUNULFdBQVU7SUFDVixZQUFXO0lBQ1gsYUFBWTtJQUNaLG1EbEYvQ2dCLEVrRnFEaEI7SUFuQko7TUFlSyxXQUFVO01BRVYsYUFBWSxFQUNaOztBQU1MO0VBRUUsZ0JBQWU7RUFDZixlbEZuRWEsRWtGb0ViOztBQUdGOztFQUdFLDBCQUE4QyxFQUM5Qzs7QXJCbkRBO0VxQnlERCwwQmxGL0VjO0VrRmdGZCxhQUFZO0VBQ1osaUJ0RTVGd0Q7RXNFNkZ4RCxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLDREQUEyRDtFQUMzRCxlQUFjLEVBeVhkO0VBaFlEO0lBVUUsOEJBQTZCLEVBQzdCO0VBWEY7SUFjRSxVQUFTO0lBQ1Qsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixvQ0FBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQVkzQjtJQTdCRjtNQW1CRyxnQkFBZTtNQUNmLGlCQUFnQjtNQUNoQixrQmxGZ3VCK0MsRWtGenRCL0M7TWhGckNHO1FnRlNOO1VBdUJJLGtCbEY4dEI4QyxFa0Z6dEIvQyxFQUFBO01oRnJDRztRZ0ZTTjtVQTBCSSx1QmxGNnRCa0QsRWtGM3RCbkQsRUFBQTtFQTVCSDtJQWlDRyx1QkFBc0IsRUF1QnRCO0lBeERIO01BbUNLLGVsRm5IVTtNa0ZvSFYsZ0JBQWU7TUFDZixlQUFjO01BQ2QsV0FBVTtNQUNWLHNCQUFxQjtNQUNyQixtQkFBa0I7TUZySnJCLHNCQUFxQjtNQUNyQixrQkFBZ0I7TUFDaEIsbUJBQWlCLEVFa0tkO01GL0lEO1FBQ0UsWUFBVztRQUNYLGVBQWM7UUFDZCxZRThINEQ7UUY3SDVELFNBQVE7UUFDUix3QkFBdUI7UUFDdkIsc0RBQXFEO1FBQ3JELGlCRTBINEQ7UUZ6SDVELG1CQUFpQjtRQUNqQixZQUFVO1FBQ1YsUUFBTTtRQUNOLGFFc0g0RDtRRnJINUQsVUFBUSxFQUNUO01BRUM7UUFDRSxZQUFXO1FBQ1gsb0JoRnpCTSxFZ0YwQlA7TUVzRVA7UUE0Q0ssYUFBWSxFQUNaO01BN0NMO1FBZ0RNLGVsRmhKUTtRa0ZpSlIsbUJBQWtCLEVBS2xCO1FBdEROO1VBb0RPLDBCbEZwSk8sRWtGcUpQO0VBckRQO0lBNkRHLGtCQUFnQjtJQUNoQixxQkFBbUIsRUFrQm5CO0lBaEZIO01BZ0VJLGdCQUFlO01BQ2YscUJBQW9CLEVBQ3BCO0lBbEVKO01Bb0VJLDhCQUE2QjtNQUM3QixXQUFVO01BQ1YsZ0JBQWU7TUFDZiwyQkFBa0I7TUFBbEIsd0JBQWtCO01BQWxCLG1CQUFrQixFQVFsQjtNQS9FSjtRQTBFSyxVQUFTLEVBSVQ7UUE5RUw7VUE0RU0sVUFBUyxFQUNUO0VBN0VOO0lBbUZFLGVsRm5MWTtJa0ZvTFosd0JBQXVCLEVBQ3ZCO0VBckZGO0lBd0ZFLGVsRnhMWSxFa0Z5TFo7RUF6RkY7SUE0RkUsMEJsRnRMbUIsRWtGdUxuQjtFQTdGRjtJQW9HRSxZQUFXLEVBQ1g7RUFyR0Y7SUF3R0csVUFBUyxFQUNUO0VBekdIO0lBNkdLLFVBQVMsRUFDVDtFQTlHTDtJQXNITyxjQUFhLEVBQ2I7RUF2SFA7SUErSEssc0JBQXFCO0lBQ3JCLG9CQUFtQixFQUNuQjtFQWpJTDtJQW9JTSw0QkFBMEI7SUFDMUIsMEJsRnJPUTtJa0ZzT1IsYUFBVyxFQUNYO0VBdklOO0lBMklLLDBCbEY3T3dCO0lrRjhPeEIsdUJBQXFCO0lBQ3JCLGlCQUFlO0lBQ2YsZ0JBQWMsRUFVZDtJQXhKTDtNQWdKTSwrQkFBNkIsRUFPN0I7TUF2Sk47UUFrSk8sb0JBQWtCLEVBQ2xCO01BbkpQO1FBcUpPLGVsRnJPUSxFa0ZzT1I7RUF0SlA7SUE0SkssV0FBVTtJQUNWLDBCbEYzT1U7SWtGNE9WLDJCQUFrQjtJQUFsQix3QkFBa0I7SUFBbEIsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixRQUFPLEVBQ1A7RUFqS0w7SUF1S0ksaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixZQUFXO0lBQ1gsMkJBQTBCO0lBQzFCLGFBQVk7SUFDWixVQUFTO0lBQ1QsU0FBUTtJQUNSLG9DQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCO0lBQzNCLGFBQVksRUFDWjtFQWhMSjtJQW9MSyw0QkFBMEIsRUFDMUI7RUFyTEw7SUE0TEUsWUFBVztJRi9EWCwwQkFBeUI7SUVpRXpCLGtCdEV2UnVELEVzRXdSdkQ7RUEvTEY7SUFpTUUsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLHFCQUFvQjtJQUNwQixrQ0FBeUI7UUFBekIsbUJBQXlCO1lBQXpCLDBCQUF5QjtJQUN6QixtQkFBa0I7SUFDbEIscUJ0RTlSdUQsRXNFaWR2RDtJQXhYRjtNQXVNRyxhQUFZO01BQ1osZUFBYztNQUNkLFlBQVc7TUFDWCxzQnRFblNzRCxFc0VvU3REO0lBM01IO01BNk1HLG1CQUFrQjtNQUNsQixjQUFZO01BQ1osZWxGeFNnQjtNa0Z5U2hCLDBCQUF5QjtNQUN6QixvQkFBbUI7TUFDbkIsc0JBQXFCLEVBcUJyQjtNQXZPSDtRQXNOSSxlbEZ0VFU7UWtGdVRWLFdBQVUsRUFJVjtRQTNOSjtVQXlOSyxjQUFhLEVBQ2I7TUExTkw7UUE4TkksYUFBWTtRQUNaLGVBQWM7UUFDZCxtQkFBa0I7UUFDbEIsa0J0RTFUcUQ7UXNFMlRyRCxhQUFZO1FBQ1osZWxGblRXO1FrRm9UWCxhQUFZO1FBQ1osY0FBWSxFQUNaO0lBdE9KO01BMk9HLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsNEJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixvQkFBbUI7TUFDbkIsV0FBVSxFQUNWO0lBOU9IO01BZ1BHLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsNkJBQW9CO1VBQXBCLHdCQUFvQjtjQUFwQixxQkFBb0I7TUFDcEIsYUFBWTtNQUNaLGNBQWE7TUFJYixtQkFBaUIsRUFDakI7TUF4UEg7UUFxUEksb0J0RTlVcUQsRXNFK1VyRDtJQXRQSjtNQTBQRyxzQkFBWTtNQUFaLHFCQUFZO01BQVosY0FBWTtNQUNaLDRCQUFrQjtVQUFsQix1QkFBa0I7Y0FBbEIsb0JBQWtCO01BQ2xCLG9DQUEwQjtVQUExQixxQkFBMEI7Y0FBMUIsNEJBQTBCO01BQzFCLGtCQUFnQjtNQUNoQixtQkFBaUI7TUFDakIsbUJBQWlCLEVBcURqQjtNQXBUSDtRQWlRSSxlbEYxVmU7UWtGMlZmLDBCQUF3QjtRQUN4QixzQkFBb0I7UUFDcEIsb0J0RTdWcUQ7UXNFOFZyRCxxQkFBZTtRRmxYakIsc0JBQXFCO1FBQ3JCLGtCQUFnQjtRQUNoQixtQkFBaUIsRUVrWGY7UUYvVkE7VUFDRSxZQUFXO1VBQ1gsZUFBYztVQUNkLFlFMlYyRDtVRjFWM0QsU0FBUTtVQUNSLHdCQUF1QjtVQUN2QixzREFBcUQ7VUFDckQsaUJFdVYyRDtVRnRWM0QsbUJBQWlCO1VBQ2pCLFlBQVU7VUFDVixRQUFNO1VBQ04sYUVtVjJEO1VGbFYzRCxVQUFRLEVBQ1Q7UUFFQztVQUNFLFlBQVc7VUFDWCxvQmhGekJNLEVnRjBCUDtNRXNFUDtRQXlRSSxtQkFBaUI7UUFDakIsZ0JBQWUsRUFvQ2Y7UUE5U0o7VUE0UUsscUJBQW1CLEVBQ25CO1FBN1FMO1VBK1FLLGdCQUFjLEVBQ2Q7UUFoUkw7VUFrUkssY0FBWTtVQUNaLG1CQUFpQjtVQUNqQixhQUFXO1VBQ1gsNENBQTBDO1VBQzFDLDBCbEZ4WHdCO1VrRnlYeEIsdUJBQXNCO1VBQ3RCLGlCQUFnQjtVQUNoQixnQkFBZTtVQUNmLFdBQVUsRUFtQlY7VUE3U0w7WUE0Uk0saUNsRjlYdUI7WWtGK1h2QixVQUFTO1lBQ1QsYUFBWTtZQUNaLG1DQUFrQztZQUNsQyxvQ0FBbUM7WUFDbkMsbUJBQWtCO1lBQ2xCLG9DQUEyQjtnQkFBM0IsZ0NBQTJCO29CQUEzQiw0QkFBMkI7WUFDM0IsVUFBUyxFQUNUO1VBcFNOO1lBc1NNLDBCQUEyQjtZQUMzQixxQkFBbUI7WUFDbkIsZ0JBQWMsRUFJZDtZQTVTTjtjQTBTTyxvQkFBbUIsRUFDbkI7TUEzU1A7UUFpVEssZUFBYSxFQUNiO0lBbFRMO01BdVRHLHNCQUFZO01BQVoscUJBQVk7TUFBWixjQUFZO01BQ1osNEJBQWtCO1VBQWxCLHVCQUFrQjtjQUFsQixvQkFBa0I7TUFDbEIsb0NBQTBCO1VBQTFCLHFCQUEwQjtjQUExQiw0QkFBMEI7TUFDMUIsa0JBQWdCO01BQ2hCLG1CQUFpQjtNQUNqQixtQkFBaUIsRUEyRGpCO01BdlhIO1FBOFRJLGFBQVc7UUFDWCxtQkFBaUI7UUFDakIsWUFBVTtRQUNWLFNBQU87UUFDUCxvQ0FBMEI7WUFBMUIsZ0NBQTBCO2dCQUExQiw0QkFBMEI7UUFDMUIsV0FBUztRQUNULGV0RTdacUQ7UXNFOFpyRCwwQ2xGcmFVLEVrRnNhVjtNQXRVSjtRQXdVSSxlbEZsYWlCO1FrRm1hakIsMEJBQXdCO1FBQ3hCLHNCQUFvQjtRQUNwQixvQnRFcGFxRDtRc0VxYXJELHFCQUFlO1FGemJqQixzQkFBcUI7UUFDckIsa0JBQWdCO1FBQ2hCLG1CQUFpQixFRWljZjtRRjlhQTtVQUNFLFlBQVc7VUFDWCxlQUFjO1VBQ2QsWUVrYTJEO1VGamEzRCxTQUFRO1VBQ1Isd0JBQXVCO1VBQ3ZCLHNEQUFxRDtVQUNyRCxpQkU4WjJEO1VGN1ozRCxtQkFBaUI7VUFDakIsWUFBVTtVQUNWLFFBQU07VUFDTixhRTBaMkQ7VUZ6WjNELFVBQVEsRUFDVDtRQUVDO1VBQ0UsWUFBVztVQUNYLG9CaEZ6Qk0sRWdGMEJQO1FFc0VQO1VBK1VLLGFBQVcsRUFDWDtRQWhWTDtVQW1WTSwyQkFBeUIsRUFDekI7TUFwVk47UUEwVk0sMkJBQXlCLEVBQ3pCO01BM1ZOO1FBK1ZJLGVsRi9iVTtRa0ZnY1YseUJ0RXpicUQsRXNFMGJyRDtNQWpXSjtRQW1XSSxtQkFBaUI7UUFDakIsZWxGcGNVO1FrRnFjVixrQkFBZ0IsRUFpQmhCO1FBdFhKO1VBdVdLLGFBQVc7VUFDWCxtQkFBaUI7VUFDakIsU0FBTztVQUNQLFVBQVE7VUFDUixxREFBMkM7Y0FBM0MsaURBQTJDO2tCQUEzQyw2Q0FBMkM7VUFDM0MsbUJBQWlCO1VBQ2pCLDBDbEY3Y1M7VWtGOGNULGN0RXZjb0Q7VXNFd2NwRCxldEV4Y29EO1VzRXljcEQsV0FBUztVQUNULHNCdEUxY29ELEVzRTJjcEQ7UUFsWEw7VUFvWEssZWxGOWNnQixFa0YrY2hCO0VBclhMO0lBMFhFLHFCQUFvQjtJQUNwQixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLGtDQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCO0lBQ3pCLDhMbEZoYzRLLEVrRmljNUs7O0FBR0Y7RUFFQyw4QkFBNkI7RUFDN0IsNERBQTJEO0VBQzNELG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsWUFBVyxFQXVIWDtFQTdIRDtJQVFFLFlBQVc7SUY3UVgsMEJBQXlCLEVFK1F6QjtFQVZGO0lBWUUsWUFBVyxFQUNYO0VBYkY7SUFlRSwwQmxGamZZO0lrRmtmWixpQkFBZ0I7SUFDaEIsbUJBQWtCLEVBYWxCO0lBOUJGO01BbUJHLGVsRm5lWSxFa0ZvZVo7SUFwQkg7TUFzQkcsMkJBQTBCO01BQzFCLFlBQVc7TUFDWCxtQkFBa0IsRUFLbEI7TUE3Qkg7UUEwQkksV0FBVTtRQUNWLHNCQUFxQixFQUNyQjtFQTVCSjs7O0lBc0NNLDBCbEZ4Z0JRO0lrRnlnQlIsYUFBVztJQUNYLFlBQVUsRUFDVjtFQXpDTjs7O0lBK0NNLDBCbEZqaEJRO0lrRmtoQlIsYUFBVztJQUNYLDRCQUEwQixFQUMxQjtFQWxETjs7O0lBc0RNLGFBQVc7SUFDWCxtQ0FBaUM7SUFDakMsb0NBQWtDO0lBQ2xDLG1CQUFpQjtJQUNqQixvQ0FBMEI7UUFBMUIsZ0NBQTBCO1lBQTFCLDRCQUEwQjtJQUMxQixVQUFRLEVBQ1I7RUE1RE47O0lBK0RNLGlDbEYzaEJlO0lrRjRoQmYsNEJBQTBCLEVBQzFCO0VBakVOOztJQW1FTSxpQ2xGdmlCdUI7SWtGd2lCdkIsZ0JBQWMsRUFDZDtFQXJFTjs7SUF1RU0sZUFBYSxFQUNiO0VBeEVOOztJQTJFSyxtQkFBaUI7SUFDakIsNENBQXdDLEVBTXhDO0lBbEZMOztNQStFTyxlbEZqaUJRLEVrRmtpQlI7RUFoRlA7SUEwRkUsZ0JBQWU7SUFDZixZQUFXO0lBQ1gsVUFBUztJQUNULFdBQVU7SUFDVixZQUFXO0lBQ1gsYUFBWTtJQUNaLG1EbEY1aUJrQixFa0Z1a0JsQjtJQTNIRjtNQWtHRyxjQUFhLEVBQ2I7SUFuR0g7TUFxR0csb0JBQW1CO01BQ25CLHVCQUFzQixFQUN0QjtJQXZHSDtNQXlHRyxnQkFBZSxFQUNmO0lBMUdIO01BZ0hPLGNBQVksRUFDWjtJQWpIUDtNQW9ITSxpQkFBZTtNQUNmLGlCQUFlLEVBQ2Y7O0FoRmpnQkE7RWdGMGdCTjtJQUVFLFdBQVUsRUFFWCxFQUFBOztBMUU3Z0JDO0VBRUUsZUFBYztFQUNkLGFBQVk7RUFHVixzQkFBYTtNQUFiLDJCQUFhO1VBQWIsY0FBYTtFQUNiLGlCQUFRO01BQVIsa0JBQVE7VUFBUixTQUFRLEVBRVg7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0EwRXVnQkg7RUFDQyxZQUFXLEVBQ1g7O0FBRUQ7RUFDQyxhQUFZLEVBQ1o7O0FBRUQ7RUFDQyxpQkFBZ0I7RUY1cEJmLHFCQUFtRDtFQUFuRCxvQkFBbUQsRUVxdkJwRDtFaEY1bkJLO0lnRmtpQk47TUZ6cEJJLHFCQUFvRCxFRW12QnZELEVBQUE7RWhGNW5CSztJZ0ZraUJOO01GdHBCSSxtQkFBbUQsRUVndkJ0RCxFQUFBO0VoRnZuQks7SWdGNmhCTjtNRm5wQkksbUJBQW9ELEVFNnVCdkQsRUFBQTtFaEZ2bkJLO0lnRjZoQk47TUZocEJJLHdCQUFxRCxFRTB1QnhELEVBQUE7RWhGNW5CSztJZ0ZraUJOO01GenBCSSxvQkFBb0QsRUVtdkJ2RCxFQUFBO0VoRjVuQks7SWdGa2lCTjtNRnRwQkksa0JBQW1ELEVFZ3ZCdEQsRUFBQTtFaEZ2bkJLO0lnRjZoQk47TUZucEJJLGtCQUFvRCxFRTZ1QnZELEVBQUE7RWhGdm5CSztJZ0Y2aEJOO01GaHBCSSx1QkFBcUQsRUUwdUJ4RCxFQUFBO0VoRjVuQks7SWdGa2lCTjtNQUtFLGtCQUFnQixFQXFGakIsRUFBQTtFQTFGRDtJQVFFLG9CQUFtQjtJQUNuQixhQUFZO0lBQ1osNEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUIsRUFzQm5CO0lBaENGO01BWUcsNENsRjFtQmlCO01rRjJtQmpCLDBCQUF5QjtNQUN6QixlbEZobkJZO01rRmluQlosaUJBQWdCO01BQ2hCLG1CQUFrQjtNQUNsQixnQkFBZTtNQUNmLGFBQVksRUFLWjtNQXZCSDtRQW9CSSxnQ2xGdG5CVztRa0Z1bkJYLGdCQUFlLEVBQ2Y7TUF0Qko7UUFvQkksZ0NsRnRuQlc7UWtGdW5CWCxnQkFBZSxFQUNmO01BdEJKO1FBb0JJLGdDbEZ0bkJXO1FrRnVuQlgsZ0JBQWUsRUFDZjtJQXRCSjtNQXlCRyxVQUFTO01BQ1QsYUFBWTtNQUNaLDBDQUF5QyxFQUl6QztNQS9CSDtRQTZCSSxjQUFhLEVBQ2I7RUE5Qko7SUFtQ0UsaUJBQWdCLEVBQ2hCO0VBcENGO0lGdlpFLDBCQUF5QixFRWdmekI7SUF6RkY7TUEwQ0ksOEJBQTZCO01BQzdCLG1CQUFrQixFQUNsQjtJQTVDSjtNQStDRyxnRkFBK0U7TUFDL0UsWUFBVztNQUNYLGFBQVk7TUFDWixXQUFVLEVBVVY7TUE1REg7UUFxREksZWxGdnBCVyxFa0Z3cEJYO01BdERKO1FBeURJLG1CQUFrQixFQUNsQjtNQTFESjtRQXlESSxtQkFBa0IsRUFDbEI7TUExREo7UUF5REksbUJBQWtCLEVBQ2xCO0lBMURKO01BOERHLGVsRmxyQlcsRWtGbXJCWDtJQS9ESDtNQWtFRyxhQUFXLEVBc0JYO01BeEZIO1FBb0VJLDBCbEZ4ckJVO1FrRnlyQlYscUJBQW9CO1FBQ3BCLG9CQUFtQjtRQUNuQixhQUFZO1FBQ1osZWxGMXFCVztRa0YycUJYLHNCbEY3ckJVLEVrRnNzQlY7UUFsRko7VUE0RUssc0JsRmhzQlMsRWtGaXNCVDtRQTdFTDtVQStFSyx1QkFBc0I7VUFDdEIsZ0NsRmxyQlUsRWtGbXJCVjtRQWpGTDtVQStFSyx1QkFBc0I7VUFDdEIsZ0NsRmxyQlUsRWtGbXJCVjtRQWpGTDtVQStFSyx1QkFBc0I7VUFDdEIsZ0NsRmxyQlUsRWtGbXJCVjtNQWpGTDtRQXFGSyxlbEZ2ckJVLEVrRndyQlY7O0F2RGp3Qkg7RXVEdXdCRCxtQkFBa0IsRUEyQ2xCO0VBNUNEO0lBR0Usb0JBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIsMEJsRm50QmtCO0lrRm90QmxCLGlCQUFnQjtJQUNoQixlbEZ2dEJZLEVrRit0Qlo7SUFoQkY7TUFVRyxlbEZ2dEJpQixFa0Z3dEJqQjtJQVhIO01BVUcsZWxGdnRCaUIsRWtGd3RCakI7SUFYSDtNQVVHLGVsRnZ0QmlCLEVrRnd0QmpCO0lBWEg7TUFhRyxpQkFBZ0I7TUFDaEIsMEJsRjd0QlcsRWtGOHRCWDtFQWZIO0lBa0JFLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsVUFBUztJQUNULGFBQVk7SUFDWixrQkFBaUIsRUFxQmpCO0lBM0NGO01Bd0JHLGFBQVk7TUFDWiw4QkFBNkI7TUFDN0IsZWxGenVCVztNa0YwdUJYLGdCQUFlO01BQ2Ysc0JBQXFCO01BQ3JCLCtCQUE4QixFQWE5QjtNQTFDSDtRQStCSSwyQkFBMEI7UUFDMUIsaUJBQWdCO1FBQ2hCLCtCQUE4QjtRQUM5QixxQnRFMXVCcUQsRXNFMnVCckQ7TUFuQ0o7UUF3Q0ksZWxGcnVCVyxFa0ZzdUJYOztBQU1KO0VBRUUsVUFBUyxFQUNUOztBQUhGO0VBS0UsVUFBUyxFQU1UO0VBSEE7SUFSRjtNQVNHLFVBQVEsRUFFVCxFQUFBOztBbERsdEJBO0VrRHN0QkQsOENBQW9ELEVBQ3BEOztBQUlEO0VBR0csZ0JBQWUsRUE0RmY7RUEvRkg7SUFLSSwwQmxGcndCVyxFa0Z3eUJYO0lBeENKO01BT0ssMEJsRnZ3QlU7TWtGd3dCVixtRGxGcHdCZSxFa0ZteUJmO01BdkNMO1FBVU0sY0FBWSxFQUNaO01BWE47UUFhTSxlQUFhLEVBQ2I7TUFkTjtRQWlCTyxzQkFBWTtRQUFaLHFCQUFZO1FBQVosY0FBWTtRQUNaLGdCQUFjO1FBQ2QsaUJBQWUsRUFDZjtNQXBCUDtRQXNCTyxlbEZqeUJZLEVrRmt5Qlo7TUF2QlA7UUF5Qk8sZWxGcHlCWSxFa0ZxeUJaO01BMUJQO1FBNkJRLGVsRjd4Qk8sRWtGOHhCUDtNQTlCUjtRQWlDTyxlbEY3eUJjLEVrRml6QmQ7UUFyQ1A7VUFtQ1EsZWxGL3lCYSxFa0ZnekJiO0VBcENSO0lBMENJLDBCbEYxeUJXLEVrRjJ5Qlg7RUEzQ0o7SUE2Q0ksOEJBQTZCO0lBRTdCLGlCQUFnQixFQStDaEI7SUE5Rko7TUFpREssZUFBYSxFQUNiO0lBbERMO01Bb0RLLGNBQVksRUFDWjtJQXJETDtNQXVESyw4QkFBNkIsRUFzQzdCO01BN0ZMO1FBeURNLDBCQUF3QixFQUN4QjtNQTFETjs7UUE4RE8sZWxGOXpCUSxFa0YrekJSO01BL0RQOztRQW9FUyxpQ2xGaDFCWTtRa0ZpMUJaLDRCQUEwQixFQUMxQjtNQXRFVDs7UUF3RVMsaUNsRjUxQm9CO1FrRjYxQnBCLGdCQUFjLEVBQ2Q7TUExRVQ7O1FBOEVRLG1CQUFpQixFQUNqQjtNQS9FUjtRQW9GTyxlbEZwMUJRLEVrRnExQlI7TUFyRlA7UUF3Rk0sZWxGeDFCUyxFa0Y0MUJUO1FBNUZOO1VBMEZPLGVsRjExQlEsRWtGMjFCUjs7QUM5N0JQO0VBQ0UsaUJBQWUsRUFDaEI7O0FBQ0Q7RUFDRSxrQkFBZ0IsRUFhakI7RUFkRDtJSGtCRSxvQkFBMEM7SUFDMUMsdUJBQTZDLEVHZjVDO0lqRjRKRztNaUZoS047UUhxQkksb0JBQTJDO1FBQzNDLHVCQUE4QyxFR2xCL0MsRUFBQTtJakY0Skc7TWlGaEtOO1FIeUJJLGtCQUEwQztRQUMxQyxxQkFBNkMsRUd0QjlDLEVBQUE7SWpGaUtHO01pRnJLTjtRSDZCSSxrQkFBMkM7UUFDM0MscUJBQThDLEVHMUIvQyxFQUFBO0lqRmlLRztNaUZyS047UUhpQ0ksdUJBQTRDO1FBQzVDLDBCQUErQyxFRzlCaEQsRUFBQTtFakY0Skc7SWlGaEtOO01BTUksa0J2RStFcUQsRXVFdkV4RCxFQUFBO0VBZEQ7SUFXRSxXQUFVLEVBQ1I7O0FBUUo7RXRFK0RJLDRCQURnSDtFSDVDOUcsdUJBQTRCO0VBQTVCLHNCQUE0QixFeUVUakM7RWpGbUlLO0lpRjVJTjtNdEUrREksa0NBRGdIO01INUM5Ryx3QkFBNEI7TUFBNUIsdUJBQTRCO015RVg5QixpQkFBZ0IsRUFFbkIsRUFBQTs7QUFHRDtFQUdJLHVCQUFxQjtFQUNyQixlQUFhO0VBQ2IsOExuRnVFMEs7RW1GdEUxSyxtQkFBaUI7RUFDakIsZW5GdUNVLEVtRnRDWDs7QUFSSDtFQVVJLGtCQUFnQjtFQUNoQixhQUFXO0VBQ1gsb0J2RXlDcUQ7RXVFeENyRCxZQUFVO0VBQ1YsZ0J2RXVDcUQ7RXVFdENyRCxrQkFBZ0I7RUFDaEIsZ0JBQWM7RUFDZCxtQkFBaUI7RUFDakIsOEJBQTRCO0VIeVA5QiwwQkFBeUIsRUdwUHhCO0VqRnlHRztJaUZoSU47TUFxQk0sb0J2RWdDbUQsRXVFOUJ0RCxFQUFBOztBakZ5R0c7RWlGaElOO0lBMEJNLHNCQUFvQixFQWF2QixFQUFBOztBQXZDSDtFQTZCTSxvQnZFd0JtRDtFdUV2Qm5ELDBCbkZnQ1M7RW1GL0JULHVCQUFxQjtFQUNyQixlQUFhO0VBQ2IsaUJuRnFEcUI7RW1GcERyQixpQkFBZ0IsRUFJakI7RUF0Q0w7SUFvQ1EsaUJBQWUsRUFDaEI7O0FBckNQO0VBeUNJLGVuRldpQixFbUZQbEI7RUE3Q0g7SUEyQ00sc0JBQW9CLEVBQ3JCOztBQUdMO0VBQ0UsZUFBYTtFQUNiLDBCbkZlYTtFbUZkYixlbkZZYTtFbUZYYiw4QkFBNEI7RUhqRTVCLHdCQUEwQztFQUMxQywyQkFBNkM7RUdrRTdDLG1CQUFpQjtFQUNqQiwwQkFBd0I7RUgvQ3hCLHFCQUFtRDtFQUFuRCxzQkFBbUQ7RUF6Q25ELHFCQUEyQztFQUMzQyxzQkFBNEMsRUdxSTdDO0VqRjRCSztJaUZqRk47TUgxREksd0JBQTJDO01BQzNDLDJCQUE4QyxFRzhHakQsRUFBQTtFakY0Qks7SWlGakZOO01IdERJLHdCQUEwQztNQUMxQywyQkFBNkMsRUcwR2hELEVBQUE7RWpGaUNLO0lpRnRGTjtNSGxESSx3QkFBMkM7TUFDM0MsMkJBQThDLEVHc0dqRCxFQUFBO0VqRmlDSztJaUZ0Rk47TUg5Q0ksb0JBQTRDO01BQzVDLHVCQUErQyxFR2tHbEQsRUFBQTtFakY0Qks7SWlGakZOO01IdENJLHFCQUFvRCxFRzJGdkQsRUFBQTtFakY0Qks7SWlGakZOO01IbkNJLG1CQUFtRCxFR3dGdEQsRUFBQTtFakZpQ0s7SWlGdEZOO01IaENJLG1CQUFvRCxFR3FGdkQsRUFBQTtFakZpQ0s7SWlGdEZOO01IN0JJLHdCQUFxRCxFR2tGeEQsRUFBQTtFakY0Qks7SWlGakZOO01IdENJLHNCQUFvRCxFRzJGdkQsRUFBQTtFakY0Qks7SWlGakZOO01IbkNJLG9CQUFtRCxFR3dGdEQsRUFBQTtFakZpQ0s7SWlGdEZOO01IaENJLG9CQUFvRCxFR3FGdkQsRUFBQTtFakZpQ0s7SWlGdEZOO01IN0JJLHlCQUFxRCxFR2tGeEQsRUFBQTtFakY0Qks7SWlGakZOO01IOUVJLHFCQUE0QztNQUM1QyxzQkFBNkMsRUdrSWhELEVBQUE7RWpGNEJLO0lpRmpGTjtNSDFFSSxtQkFBMkM7TUFDM0Msb0JBQTRDLEVHOEgvQyxFQUFBO0VqRmlDSztJaUZ0Rk47TUh0RUksbUJBQTRDO01BQzVDLG9CQUE2QyxFRzBIaEQsRUFBQTtFakZpQ0s7SWlGdEZOO01IbEVJLHdCQUE2QztNQUM3Qyx5QkFBOEMsRUdzSGpELEVBQUE7RUFyREQ7SUFZSSxZQUFVLEVBQ1g7RUFiSDtJQWVJLGVuRlRlO0ltRlVmLGtDbkZSc0I7SW1GU3RCLHNCQUFvQjtJQUNwQixtQkFBaUI7SUFDakIscUJBQW1CO0lIakNyQixzQkFBcUI7SUFDckIsa0JBQWdCO0lBQ2hCLG1CQUFpQixFRzJDaEI7SUh4QkM7TUFDRSxZQUFXO01BQ1gsZUFBYztNQUNkLFlHVXlEO01IVHpELFNBQVE7TUFDUix3QkFBdUI7TUFDdkIsc0RBQXFEO01BQ3JELGlCR015RDtNSEx6RCxtQkFBaUI7TUFDakIsWUFBVTtNQUNWLFFBQU07TUFDTixhR0V5RDtNSER6RCxVQUFRLEVBQ1Q7SUFFQztNQUNFLFlBQVc7TUFDWCxvQmhGekJNLEVnRjBCUDtJR3pCUDtNQXNCTSxpQkFBZTtNQUNmLDJCQUF5QjtNQUN6QixlbkZ6QlE7TW1GMEJSLHNCQUFvQjtNQUNwQixtQkFBaUI7TUFDakIsYUFBVztNQUNYLFNBQU87TUFDUCxvQ0FBMEI7VUFBMUIsZ0NBQTBCO2NBQTFCLDRCQUEwQixFQUMzQjtFQTlCTDtJQWlDSSwwQm5GbENVO0ltRm1DViwwQm5GckN5QixFbUZ1RDFCO0lBcERIO01BcUNRLDBCbkZ0Q007TW1GdUNOLFlBQVUsRUFDWDtJQXZDUDtNQTBDTSxlbkYzQ1EsRW1GNENUO0lBM0NMO01BNkNNLGVuRjlCUyxFbUYrQlY7SUE5Q0w7TUFpRFEsc0JuRmxETSxFbUZtRFA7O0FBSVA7RUFDRSwwQm5GeENhO0VtRnlDYixzQkFBb0IsRUFtQ3JCO0VBckNEO0lBS0ksd0JBQXNCO0lBRXRCLGVuRjlEVTtJbUYrRFYsc0JBQW9CO0lBQ3BCLG1CQUFpQjtJQUNqQixpQkFBZTtJQUNmLFdBQVM7SUFDVCxzQ25GbkRXO0ltRm9EWCxxQnZFN0RxRCxFdUVvRnREO0lBcENIO01BZU0sWUFBVztNQUVYLFlBQVc7TUFDWCx3QkFBdUI7TUFDdkIsdURBQXNEO01BQ3RELG1CQUFpQjtNQUNqQixTQUFPO01BQ1AsUUFBTTtNQUNOLGFBQVc7TUFDWCxPQUFLO01BQ0wsV0FBUztNQUNULFlBQVUsRUFDWDtJQTNCTDtNQTZCTSxzQkFBb0I7TUFDcEIsZW5GbkVTLEVtRndFVjtNQW5DTDtRQWdDUSxhQUFXO1FBQ1gsMEJuRnhGTSxFbUZ5RlA7O0FBTVA7RUFHTSxtQm5Gd1ppQjtFbUZ2WmpCLGlCbkYzRHFCLEVtRjREdEI7O0FBSUw7RUFDRSx1QkFBc0I7RUFDdEIsNEJBQTJCO0VBQzNCLDZCQUE0QjtFQUM1QiwwQm5GdEZrQixFbUZ1Rm5COztBakYzQks7RWlGNkJOO0lBRUUscUJBQW9CLEVBcUZyQixFQUFBOztBakYvR0s7RWlGd0JOO0lBTUcsY0FBYSxFQUVkLEVBQUE7O0FBUkY7RUFXRyxxQkFBb0IsRUFXcEI7RWpGOUNHO0lpRndCTjtNQWVLLGtCQUFpQixFQUNqQixFQUFBO0VqRjdDQztJaUY2Qk47TUFvQkkseUJBQXdCLEVBRXpCLEVBQUE7O0FBdEJIO0VBeUJFLGFBQVksRUE2RFo7RUF0RkY7SUEyQkcsZUFBYztJQUNkLDBCbkZ6SFk7SW1GMEhaLGVuRjVIWTtJbUY2SFosMEJuRnZJa0I7SW1Gd0lsQixtQkFBa0I7SUFDbEIsbUJBQWtCLEVBdUJsQjtJQXZESDtNQWtDSSxvRG5GaklXLEVtRmtKWDtNQW5ESjtRQW9DSyxZQUFXO1FBQ1gsb0JuRnBKUyxFbUZxSlQ7TUF0Q0w7UUF3Q0ssZW5GdkpTLEVtRndKVDtNQXpDTDtRQTJDSyxlbkYxSVUsRW1GMklWO01BNUNMO1FBOENLLFlBQVU7UUFDVixhQUFXO1FBQ1gsa0JBQWdCO1FBQ2hCLHNCbkZoS1MsRW1GaUtUO0lBbERMO01BcURJLGFBQVksRUFDWjtFQXRESjtJQTBESSxhQUFZO0lBQ1osYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsVUFBUyxFQUNUO0VBL0RKO0lBa0VHLDBDQUF5QyxFQW1CekM7SUFyRkg7TUFvRUksaUJBQWdCLEVBTWhCO01BMUVKO1FBc0VLLG9CQUFtQjtRQUNuQiw2Qm5GL0tjO1FtRmdMZCxpQkFBZ0IsRUFDaEI7SUF6RUw7TUE2RUksaUJBQWdCO01BQ2hCLHNCQUFxQixFQUNyQjtJQS9FSjtNQWlGSSxlbkZ6TGU7TW1GMExmLG9CQUFtQjtNQUNuQixrQkFBaUIsRUFDakI7O0FBS0o7RUhwUUUsa0JBQTBDO0VBQzFDLHFCQUE2QyxFR3lRN0M7RWpGNUhJO0lpRnNITjtNSGpRSSx3QkFBMkM7TUFDM0MsMkJBQThDLEVHc1FoRCxFQUFBO0VqRjVISTtJaUZzSE47TUg3UEksa0JBQTBDO01BQzFDLHFCQUE2QyxFR2tRL0MsRUFBQTtFakZ2SEk7SWlGaUhOO01IelBJLGtCQUEyQztNQUMzQyxxQkFBOEMsRUc4UGhELEVBQUE7RWpGdkhJO0lpRmlITjtNSHJQSSx3QkFBNEM7TUFDNUMsMkJBQStDLEVHMFBqRCxFQUFBO0VBTkY7SUFJRyxVQUFTLEVBQ1Q7O0FqQzdIRDtFaUNrSUQsOExuRnBMNkssRW1GNkw3SztFQTVIRDtJQXFIRSxZQUFVO0lBQ1YsYUFBVztJQUNYLG1CQUFpQjtJQUNqQix5QkFBdUI7SUFDdkIsc0JBQW9CO0lBQ3BCLG1CQUFpQixFQUNqQjs7QUFHRjtFSHBRRSxxQkFBbUQ7RUFBbkQsdUJBQW1ELEVHbVNwRDtFakYxS0s7SWlGMklOO01IbFFJLHFCQUFvRCxFR2lTdkQsRUFBQTtFakYxS0s7SWlGMklOO01IL1BJLG9CQUFtRCxFRzhSdEQsRUFBQTtFakZyS0s7SWlGc0lOO01INVBJLG9CQUFvRCxFRzJSdkQsRUFBQTtFakZyS0s7SWlGc0lOO01IelBJLHdCQUFxRCxFR3dSeEQsRUFBQTtFakYxS0s7SWlGMklOO01IbFFJLHVCQUFvRCxFR2lTdkQsRUFBQTtFakYxS0s7SWlGMklOO01IL1BJLHFCQUFtRCxFRzhSdEQsRUFBQTtFakZyS0s7SWlGc0lOO01INVBJLHFCQUFvRCxFRzJSdkQsRUFBQTtFakZyS0s7SWlGc0lOO01IelBJLDBCQUFxRCxFR3dSeEQsRUFBQTtFQS9CRDtJQUlJLG1CQUFrQjtJSHhRcEIsa0JBQW1ELEVHMFJsRDtJakZqS0c7TWlGMklOO1FIbFFJLHdCQUFvRCxFR3dSckQsRUFBQTtJakZqS0c7TWlGMklOO1FIL1BJLGtCQUFtRCxFR3FScEQsRUFBQTtJakY1Skc7TWlGc0lOO1FINVBJLGtCQUFvRCxFR2tSckQsRUFBQTtJakY1Skc7TWlGc0lOO1FIelBJLHdCQUFxRCxFRytRdEQsRUFBQTtJQXRCSDtNQU9NLHNCQUFxQixFQUl0QjtNakZ0SkM7UWlGMklOO1VBU1Esb0JBQW1CLEVBRXRCLEVBQUE7SUFYTDtNQWFNLDBCQUF5QixFQUMxQjtJQWRMO01BZ0JNLGNBQWEsRUFDZDtJQWpCTDtNQW1CTSxzQkFBcUI7TUFDckIsbUJBQWtCLEVBQ25CO0VBckJMO0lBd0JJLGlCQUFnQixFQUNqQjtFQXpCSDtJQTJCSSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDRCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLCtCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCLEVBQ3ZCOztBQUdIO0VIMVRFLG9CQUEwQztFQUMxQyx1QkFBNkMsRUdpVTFDO0VqRnBMQztJaUY0S047TUh2VEksb0JBQTJDO01BQzNDLHVCQUE4QyxFRzhUN0MsRUFBQTtFakZwTEM7SWlGNEtOO01IblRJLGtCQUEwQztNQUMxQyxxQkFBNkMsRUcwVDVDLEVBQUE7RWpGL0tDO0lpRnVLTjtNSC9TSSxrQkFBMkM7TUFDM0MscUJBQThDLEVHc1Q3QyxFQUFBO0VqRi9LQztJaUZ1S047TUgzU0ksdUJBQTRDO01BQzVDLDBCQUErQyxFR2tUOUMsRUFBQTtFakZwTEM7SWlGNEtOO01BTVEsbUJBQWtCLEVBRXJCLEVBQUE7O0FDdlZMO0VBRUUsMEJwRmlGa0I7RWdGOURsQixvQkFBMEM7RUFDMUMsdUJBQTZDO0VBb0I3Qyx1QkFBbUQsRUltSW5EO0VsRlZJO0lrRm5LTjtNSndCSSxvQkFBMkM7TUFDM0MsdUJBQThDLEVJb0poRCxFQUFBO0VsRlZJO0lrRm5LTjtNSjRCSSxrQkFBMEM7TUFDMUMscUJBQTZDLEVJZ0ovQyxFQUFBO0VsRkxJO0lrRnhLTjtNSmdDSSxrQkFBMkM7TUFDM0MscUJBQThDLEVJNEloRCxFQUFBO0VsRkxJO0lrRnhLTjtNSm9DSSx1QkFBNEM7TUFDNUMsMEJBQStDLEVJd0lqRCxFQUFBO0VsRlZJO0lrRm5LTjtNSjRDSSxxQkFBb0QsRUlpSXRELEVBQUE7RWxGVkk7SWtGbktOO01KK0NJLHVCQUFtRCxFSThIckQsRUFBQTtFbEZMSTtJa0Z4S047TUprREksdUJBQW9ELEVJMkh0RCxFQUFBO0VsRkxJO0lrRnhLTjtNSnFESSx5QkFBcUQsRUl3SHZELEVBQUE7RUE3S0Y7SUFNRyxtQkFBaUI7SUpvQ2xCLG9CQUFtRCxFSTlCbEQ7SWxGdUpHO01rRm5LTjtRSjRDSSwwQkFBb0QsRUloQ3JELEVBQUE7SWxGdUpHO01rRm5LTjtRSitDSSxvQkFBbUQsRUluQ3BELEVBQUE7SWxGNEpHO01rRnhLTjtRSmtESSxvQkFBb0QsRUl0Q3JELEVBQUE7SWxGNEpHO01rRnhLTjtRSnFESSwwQkFBcUQsRUl6Q3RELEVBQUE7SUFaSDtNQVNJLGVBQWM7TUFDZCwyQkFBa0I7TUFBbEIsd0JBQWtCO01BQWxCLG1CQUFrQixFQUNsQjtFQVhKO0lKMENFLG9CQUFtRCxFSVNsRDtJbEZnSEc7TWtGbktOO1FKNENJLDBCQUFvRCxFSU9yRCxFQUFBO0lsRmdIRztNa0ZuS047UUorQ0ksb0JBQW1ELEVJSXBELEVBQUE7SWxGcUhHO01rRnhLTjtRSmtESSxvQkFBb0QsRUlDckQsRUFBQTtJbEZxSEc7TWtGeEtOO1FKcURJLDBCQUFxRCxFSUZ0RCxFQUFBO0lBbkRIO01BZ0JJLGVBQWM7TUFDZCxlQUFjLEVBaUNkO01BbERKO1FBbUJLLGNBQVksRUFDWjtNQXBCTDtRQXNCSyxpQkFBZ0I7UUFDaEIsYUFBWSxFQUNaO01BeEJMO1FBMEJLLGdDQUF1QjtZQUF2QixzQkFBdUI7Z0JBQXZCLHdCQUF1QixFQU12QjtRQWhDTDtVQTRCTSxzQkFBcUI7VUFDckIsZ0JBQWU7VUFDZixrQkFBaUIsRUFDakI7TUEvQk47UUFrQ0ssc0JBQXFCO1FBQ3JCLFVBQVM7UUFDVCxXQUFVLEVBYVY7UUFqREw7VUF1Q08sZXBGaURZO1VvRmhEWiwwQkFBeUI7VUFDekIsa0JBQWlCO1VKMkJ0QixzQkFBcUI7VUFDckIsa0JBQWdCO1VBQ2hCLG1CQUFpQjtVSTNCWixrQkFBaUIsRUFJakI7VUp5Qkg7WUFDRSxZQUFXO1lBQ1gsZUFBYztZQUNkLFlJakM4RDtZSmtDOUQsU0FBUTtZQUNSLHdCQUF1QjtZQUN2QixzREFBcUQ7WUFDckQsa0JBQWdDLEVBQ2pDO1VBRUM7WUFDRSxZQUFXO1lBQ1gsb0JoRkhNLEVnRklQO1U5RThFRDtZa0ZuS047Y0E2Q1EsZ0JBQWUsRUFFaEIsRUFBQTtFQS9DUDtJSjBDRSxzQkFBbUQ7SUlZbEQsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwwQkFBaUI7UUFBakIsc0JBQWlCO1lBQWpCLGtCQUFpQjtJQUNqQiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixnQ0FBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QixFQXlDdkI7SWxGaUVHO01rRm5LTjtRSjRDSSxzQkFBb0QsRUlzRHJELEVBQUE7SWxGaUVHO01rRm5LTjtRSitDSSxvQkFBbUQsRUltRHBELEVBQUE7SWxGc0VHO01rRnhLTjtRSmtESSxvQkFBb0QsRUlnRHJELEVBQUE7SWxGc0VHO01rRnhLTjtRSnFESSx5QkFBcUQsRUk2Q3RELEVBQUE7SWxGaUVHO01rRm5LTjtRQTRESSx1QkFBYztZQUFkLG1CQUFjO2dCQUFkLGVBQWMsRUFzQ2YsRUFBQTtJbEZzRUc7TWtGeEtOO1FBaUVLLG9CQUFtQixFQTJCcEIsRUFBQTtJQTVGSjtNSjhTRSwwQkFBeUI7TUl6T3RCLFdBQVU7TUFDVixpQkFBZ0IsRUFxQmhCO01BM0ZMO1FKOFNFLDBCQUF5QjtRSXBPckIsYUFBWTtRQUNaLFlBQVc7UUFDWCxtQkFBa0I7UUFDbEIsMENwRklRO1FvRkhSLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsNEJBQW1CO1lBQW5CLHVCQUFtQjtnQkFBbkIsb0JBQW1CO1FBQ25CLGdDQUF1QjtZQUF2QixzQkFBdUI7Z0JBQXZCLHdCQUF1QixFQVV2QjtRQTFGTjtVQWtGTyxnQkFBZSxFQUNmO1FBbkZQO1VBc0ZPLFdBQVU7VUFDViwwQnBGTk87VW9GT1AsZXBGV1EsRW9GVlI7SUF6RlA7TUErRkksOExwRmdCMEs7TW9GZjFLLG1CQUFrQixFQUNsQjtFQWpHSjtJQXFHSSxvQkFBa0I7SUFDbEIsdUJBQXFCLEVBa0RyQjtJbEZXRTtNa0ZuS047UUF3R0ssaURwRnBCVyxFb0ZvRVo7UUF4Sko7VUEwR00sOENwRnRCVSxFb0Z1QlYsRUFBQTtJbEZ3REE7TWtGbktOO1FBK0dLLG9CQUFtQjtRQUNuQixnRHBGNUJXLEVvRm9FWjtRQXhKSjtVQWtITSxpQkFBZSxFQUNmO1FBbkhOO1VBcUhNLG1CQUFpQixFQUNqQixFQUFBO0lBdEhOO01BMEhLLGtMcEZWb0w7TW9GV3BMLG9CQUFtQjtNQUNuQiwwQkFBeUI7TUFDekIsb0JBQW1CO01BQ25CLGlCcEZOcUI7TW9GT3JCLG9CQUFrQixFQUNsQjtJQWhJTDtNQW1JSyx5QnhFM0NvRCxFd0V3RHBEO01BaEpMO1FBc0lNLHdCeEU5Q21ELEV3RStDbkQ7TUF2SU47UUF5SU0sK0JwRnhEUSxFb0Z5RFI7TUExSU47UUE0SU0saUJwRnBCb0I7UW9GcUJwQiw4THBGOUJ3SztRb0YrQnhLLGVwRnREYSxFb0Z1RGI7SUEvSU47TUFrSkssZUFBYTtNQUNiLGVwRjVEZ0I7TW9GNkRoQixvQkFBbUI7TUFDbkIsMEtwRnRDeUs7TW9GdUN6SyxvQkFBa0IsRUFDbEI7RUF2Skw7SUEySkcsa0JBQWdCO0lBQ2hCLGFBQVc7SUFDWCxzQkFBWTtJQUFaLHFCQUFZO0lBQVosY0FBWTtJQUNaLDRCQUFrQjtRQUFsQix1QkFBa0I7WUFBbEIsb0JBQWtCO0lBQ2xCLGdDQUFzQjtRQUF0QixzQkFBc0I7WUFBdEIsd0JBQXNCLEVBYXRCO0lsRlRHO01rRm5LTjtRQWlLSSxvQ0FBMEI7WUFBMUIscUJBQTBCO2dCQUExQiw0QkFBMEIsRUFXM0IsRUFBQTtJQTVLSDtNSnFCRSxxQkFBMEM7TUFDMUMsd0JBQTZDLEVJK0kzQztNbEZGRTtRa0ZuS047VUp3QkkscUJBQTJDO1VBQzNDLHdCQUE4QyxFSTRJOUMsRUFBQTtNbEZGRTtRa0ZuS047VUo0Qkksb0JBQTBDO1VBQzFDLHVCQUE2QyxFSXdJN0MsRUFBQTtNbEZHRTtRa0Z4S047VUpnQ0ksb0JBQTJDO1VBQzNDLHVCQUE4QyxFSW9JOUMsRUFBQTtNbEZHRTtRa0Z4S047VUpvQ0ksd0JBQTRDO1VBQzVDLDJCQUErQyxFSWdJL0MsRUFBQTtJQXJLSjtNQXVLSSxlcEYvRWU7TW9GZ0ZmLDhMcEZ6RDBLO01vRjBEMUssb0J4RWpGcUQ7TXdFa0ZyRCxxQkFBYyxFQUNkOztBQTNLSjtFQStLRSwwQnBGNUZrQjtFb0Y2RmxCLHVCQUFzQixFQWtCdEI7RUFsTUY7SUFtTEcsdUJBQXNCO0lBQ3RCLG1CQUFrQixFQUNsQjtFQXJMSDtJQTBMRyxlcEZuR2tCO0lvRm9HbEIsb0JBQW1CO0lBQ25CLDBCQUF5QjtJQUN6QixpQkFBZ0IsRUFJaEI7SUFqTUg7TUErTEksZXBGeEdpQixFb0Z5R2pCOztBQ2hNSjtFQUNFLGFBQVk7RUFDWixpQnpFc0Z1RDtFeUVyRnZELDRCQUFnQyxFQUNqQzs7QUNKRDtFQUNDLDBCQUF5QjtFQUN6QiwwQnRGaUdjO0VzRmhHZCw0QkFBMkI7RU5rQjFCLGtCQUEwQztFQUMxQyxxQkFBNkM7RUFyQjdDLG1CQUEyQztFQUMzQyxvQkFBNEMsRU11TDdDO0VwRnRCSztJb0ZuS047TU53Qkksd0JBQTJDO01BQzNDLDJCQUE4QyxFTWdLakQsRUFBQTtFcEZ0Qks7SW9GbktOO01ONEJJLGtCQUEwQztNQUMxQyxxQkFBNkMsRU00SmhELEVBQUE7RXBGakJLO0lvRnhLTjtNTmdDSSxrQkFBMkM7TUFDM0MscUJBQThDLEVNd0pqRCxFQUFBO0VwRmpCSztJb0Z4S047TU5vQ0ksd0JBQTRDO01BQzVDLDJCQUErQyxFTW9KbEQsRUFBQTtFcEZ0Qks7SW9GbktOO01OSUkseUJBQTRDO01BQzVDLDBCQUE2QyxFTW9MaEQsRUFBQTtFcEZ0Qks7SW9GbktOO01OUUksbUJBQTJDO01BQzNDLG9CQUE0QyxFTWdML0MsRUFBQTtFcEZqQks7SW9GeEtOO01OWUksbUJBQTRDO01BQzVDLG9CQUE2QyxFTTRLaEQsRUFBQTtFcEZqQks7SW9GeEtOO01OZ0JJLHlCQUE2QztNQUM3QywwQkFBOEMsRU13S2pELEVBQUE7RUF6TEQ7SUFRRSwrQkFBOEIsRUFROUI7SUFoQkY7TUFZRyxpQkFBZ0I7TUFDaEIsbUJBQWtCO01BQ2xCLGV0Rm1GWSxFc0ZsRlo7RUFmSDtJQW1CRyxpQkFBZ0I7SUFDaEIsc0JBQXFCLEVBNkVyQjtJQWpHSDtNQXNCSSxtQkFBaUI7TUFDakIsb0JBQWtCO01BQ2xCLGNBQVk7TUFDWixpQkFBZTtNQUNmLDBDdEZ1RFU7TXNGdERWLGV0Rm9Fa0I7TXNGbkVsQiwwQkFBeUI7TUFDekIsbUJBQWtCLEVBU2xCO01BdENKO1FBZ0NLLHNCdEZpRFMsRXNGaERUO01BakNMO1FBb0NLLDZCdEYyRGlCLEVzRjFEakI7TUFyQ0w7UUFvQ0ssNkJ0RjJEaUIsRXNGMURqQjtNQXJDTDtRQW9DSyw2QnRGMkRpQixFc0YxRGpCO0lBckNMO01Bd0NJLG9DQUFtQyxFQUluQztNQTVDSjtRQTBDSyxnQkFBYyxFQUNkO0lBM0NMO01BOENJLGlCMUUwQ3FELEUwRXpDckQ7SUEvQ0o7TUFpREksb0IxRXVDcUQsRTBFdENyRDtJQWxESjtNQW9ESSx5QkFBd0IsRUFtQnhCO01BdkVKO1FBdURLLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsNEJBQW1CO1lBQW5CLHVCQUFtQjtnQkFBbkIsb0JBQW1CO1FBQ25CLGFBQVcsRUFTWDtRQWxFTDtVQTRETSxrQkFBaUIsRUFLakI7VUFqRU47WUErRE8sZ0JBQWUsRUFDZjtNQWhFUDtRQXFFSyxZQUFXLEVBQ1g7SUF0RUw7TUEyRUksb0JBQWtCLEVBQ2xCO0lwRnVGRTtNb0ZuS047UUFnRkssaUNBQWdDLEVBQ2hDO01BakZMO1FBb0ZLLGlDQUFnQyxFQUNoQztNQXJGTDtRQXVGSyxpQ0FBK0IsRUFDL0I7TUF4Rkw7UUEwRkssZ0NBQThCO1FBQzlCLGlDQUErQixFQUMvQjtNQTVGTDtRQThGSyxnQ0FBOEIsRUFDOUIsRUFBQTtFQS9GTDtJQW9HRSxvQkFBa0IsRUFDbEI7RUFyR0Y7SUF5R0csMkJBQTBCO0lBQzFCLGVBQWM7SUFDZCxnQkFBZSxFQUNmO0VwRnVERztJb0ZuS047TUFnSEksd0JBQXVCLEVBRXhCLEVBQUE7RUFsSEg7SUFxSEUsZUFBK0I7SUFDL0IsNkJBQTRCLEVBQzVCO0VBdkhGO0lBeUhFLGFBQVc7SUFDWCx5Q3RGaEJjO0lzRmlCZCxlQUE4QjtJQUM5QixtQkFBaUI7SUFDakIsaUJ0Rm5EcUIsRXNGb0RyQjtFQTlIRjtJQWdJRSxhQUFXO0lBQ1gsaUJBQWU7SUFDZixlQUFhO0lBQ2Isa0JBQWdCO0lBQ2hCLDRCQUEwQixFQWtCMUI7SUF0SkY7TUFzSUcsZXRGNUJhLEVzRjZCYjtJQXZJSDtNQTBJSSxjQUFZLEVBQ1o7SUEzSUo7TUE2SUksZ0JBQWMsRUFJZDtNcEZrQkU7UW9GbktOO1VBK0lLLGdCQUFjLEVBRWYsRUFBQTtJQWpKSjtNQW9KRywwQnRGMUNhLEVzRjJDYjtFQXJKSDtJQXdKRSx1QkFBc0IsRUFjdEI7SUF0S0Y7TUE4Sk8scUJBQW9CLEVBR3BCO0VBaktQO0lBd0tFLFVBQVM7SUFDVCxXQUFVO0lBQ1YsbUJBQWlCLEVBY2pCO0lBeExGO01BNktHLGVBQWM7TUFDZCxZQUFXO01BQ1gsY0FBYTtNQUNiLHlCQUF3QjtNQUN4QiwwQkFBeUIsRUFNekI7TUF2TEg7UUFvTEksaUJBQWU7UUFDZixldEY5RmlCLEVzRitGakI7O0FBS0o7RUFDQyxnQkFBYztFQUNkLGlCdEZyRXlCO0VzRnNFekIsMEJ0RnhHbUI7RXNGeUduQixtQkFBaUI7RUFDakIsMEJ0RjNHcUI7RXNGNEdyQixtQkFBaUI7RUFDakIsbUJBQWlCO0VBQ2pCLHNCQUFvQjtFQUNwQixtQkFBaUIsRUE2QmpCO0VwRjlESztJb0Z3Qk47TUFXRSxxQ0FBbUM7TUFDbkMsaUJBQWUsRUEwQmhCLEVBQUE7RUF0Q0Q7SUFnQkUsc0JBQW9CO0lBQ3BCLGVBQWE7SUFDYixnQjFFckh1RDtJMEVzSHZELGlCMUV0SHVEO0kwRXVIdkQsZXRGdkdnQjtJc0Z3R2hCLG1CQUFpQjtJQUNqQixnQjFFekh1RDtJMEUwSHZELGlCQUFlO0lBQ2YsMEJ0RmhIYTtJc0ZpSGIseUJBQXVCO0lBQ3ZCLGlCQUFnQjtJQUNoQiwrQ3RGL0drQjtJc0ZnSGxCLHNCQUFvQixFQVFwQjtJcEY1REk7TW9Gd0JOO1FBOEJHLG1CQUFpQjtRQUNqQixlQUFhO1FBQ2IsY0FBWTtRQUNaLFNBQU87UUFDUCx1QjFFcklzRCxFMEV1SXZELEVBQUE7O0FBSUY7RUFDQywwQ3RGbkphO0VzRm9KYiw4QkFBNEI7RUFDNUIsaUJBQWU7RUFDZixpQjFFL0l3RDtFMEVpSnhELG1CMUVqSndELEUwRThKeEQ7RXBGbkZLO0lvRmdFTjtNQVFFLGdCMUVuSnVELEUwRThKeEQsRUFBQTtFQW5CRDtJQVlFLDZCdEZ4Sm1CLEVzRnlKbkI7RUFiRjtJQVlFLDZCdEZ4Sm1CLEVzRnlKbkI7RUFiRjtJQVlFLDZCdEZ4Sm1CLEVzRnlKbkI7RUFiRjtJQWdCRSwwQnRGbEtZO0lzRm1LWiwwQ3RGbktZLEVzRm9LWjs7QS9FdERBO0UrRTBERCx3QzFFakt3RCxFMEVrS3hEOztBQUNEO0VBQ0MsbUJBQWlCO0VBQ2pCLG9CQUFrQixFQWdCbEI7RUFsQkQ7SUFJRSx1QkFBcUI7SUFDckIsb0JBQWtCLEVBQ2xCO0VBTkY7SUFRRSxpQkFBZTtJQUNmLDJCQUF5QjtJQUN6QixtQkFBaUI7SUFDakIsV0FBUztJQUNULFNBQU87SUFDUCxxREFBMkM7UUFBM0MsaURBQTJDO1lBQTNDLDZDQUEyQztJQUMzQyxnQjFFakx1RDtJMEVrTHZELGV0RnpMWTtJc0YwTFoscUJBQW1CLEVBQ25COztBQUdGO0VBRUUsMEJ0RjlLYSxFc0ZxTGI7RUFURjtJQUtJLGFBQVc7SUFDWCxpQ3RGOUxpQixFc0YrTGpCOztBQTNGSjtFQWlHQyxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixrQkFBaUIsRUFDakI7O0FsRjlNRztFbUY5RUYsZ0IzRW9GdUQ7RTJFbkZ2RCxzQnZGOEd3QixFdUYxR3pCO0VyRjBKSztJRWpGRjtNbUYzRUEsZ0IzRWlGcUQsRTJFL0V4RCxFQUFBOztBQUVEO0VBQ0UsaUJ2RjRHd0IsRXVGM0d6Qjs7QUFFRDtFUGtHRSxtQnBFekJ1RDtFMkV2RXZELDhMdkY4RjRLLEV1RjdGN0s7RXJGaUpLO0lxRnBKTjtNUG9HSSxnQnBFM0JxRCxFMkV0RXhELEVBQUE7RXJGaUpLO0lxRnBKTjtNUHVHSSxnQnBFOUJxRCxFMkV0RXhELEVBQUE7O0FBRUQ7RVA2RkUsb0JwRXpCdUQ7RTJFbEV2RCw4THZGeUY0SyxFdUZ4RjdLO0VyRjRJSztJcUYvSU47TVArRkksb0JwRTNCcUQsRTJFakV4RCxFQUFBO0VyRjRJSztJcUYvSU47TVBrR0ksb0JwRTlCcUQsRTJFakV4RCxFQUFBOztBQVppRDtFUHNHaEQsb0JwRXpCdUQ7RTJFN0R2RCw4THZGb0Y0SyxFdUZuRjdLO0VyRnVJSztJcUZ4SjRDO01Qd0c5QyxvQnBFM0JxRCxFMkU1RHhELEVBQUE7RXJGdUlLO0lxRnhKNEM7TVAyRzlDLG1CcEU5QnFELEUyRTVEeEQsRUFBQTs7QUFFRDtFUG1GRSxvQnBFekJ1RDtFMkV4RHZELDhMdkYrRTRLLEV1RjlFN0s7RXJGa0lLO0lxRnJJTjtNUHFGSSxrQnBFM0JxRCxFMkV2RHhELEVBQUE7RXJGa0lLO0lxRnJJTjtNUHdGSSxtQnBFOUJxRCxFMkV2RHhELEVBQUE7O0FBdEIyRTtFUHNHMUUsb0JwRXpCdUQ7RTJFbkR2RCw4THZGMEU0SyxFdUZ6RTdLO0VyRjZISztJcUZ4SnNFO01Qd0d4RSxvQnBFM0JxRCxFMkVsRHhELEVBQUE7RXJGNkhLO0lxRnhKc0U7TVAyR3hFLG9CcEU5QnFELEUyRWxEeEQsRUFBQTs7QUEzQndGO0VQc0d2RixnQnBFekJ1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eUh4S047TTNDZ0NJLHdCQUEyQztNQUMzQywyQkFBOEMsRTJDeUlqRCxFQUFBO0V6SEZLO0l5SHhLTjtNM0NvQ0ksd0JBQTRDO01BQzVDLDJCQUErQyxFMkNxSWxELEVBQUE7RXpIUEs7SXlIbktOO00zQzBDRSxxQkFBbUQsRTJDOUJsRCxFQUFBO0V6SHVKRztJeUhuS047TTNDNENJLHFCQUFvRCxFMkNoQ3JELEVBQUE7RXpIdUpHO0l5SG5LTjtNM0MrQ0ksbUJBQW1ELEUyQ25DcEQsRUFBQTtFekg0Skc7SXlIeEtOO00zQ2tESSxtQkFBb0QsRTJDdENyRCxFQUFBO0V6SDRKRztJeUh4S047TTNDcURJLHdCQUFxRCxFMkN6Q3RELEVBQUE7RXpIdUpHO0l5SG5LTjtNM0MwQ0Usc0JBQW1ELEUyQ3ZCbEQsRUFBQTtFekhnSkc7SXlIbktOO00zQzRDSSxzQkFBb0QsRTJDekJyRCxFQUFBO0V6SGdKRztJeUhuS047TTNDK0NJLG9CQUFtRCxFMkM1QnBELEVBQUE7RXpIcUpHO0l5SHhLTjtNM0NrREksb0JBQW9ELEUyQy9CckQsRUFBQTtFekhxSkc7SXlIeEtOO00zQ3FESSx5QkFBcUQsRTJDbEN0RCxFQUFBO0VBbkJIO0lBdUJFLGtCQUFnQjtJQUNoQixnQkFBYztJQUNkLGdCQUFjO0lBQ2QsYUFBVztJM0NnQlgscUJBQW1EO0lBQW5ELHNCQUFtRDtJMkNabkQsb0IvRzBEdUQ7SStHekR2RCx5QkFBcUUsRUFlckU7SXpIcUhJO015SG5LTjtRM0M0Q0kscUJBQW9ELEUyQ0V0RCxFQUFBO0l6SHFISTtNeUhuS047UTNDK0NJLG1CQUFtRCxFMkNEckQsRUFBQTtJekgwSEk7TXlIeEtOO1EzQ2tESSxtQkFBb0QsRTJDSnRELEVBQUE7SXpIMEhJO015SHhLTjtRM0NxREksd0JBQXFELEUyQ1B2RCxFQUFBO0l6SHFISTtNeUhuS047UTNDNENJLHNCQUFvRCxFMkNFdEQsRUFBQTtJekhxSEk7TXlIbktOO1EzQytDSSxvQkFBbUQsRTJDRHJELEVBQUE7SXpIMEhJO015SHhLTjtRM0NrREksb0JBQW9ELEUyQ0p0RCxF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RUFBQTs7QUF6Qkw7RUErQkUsbUJBQWlCLEVBS2pCO0VBcENGO0lBaUNHLGVBQWE7SUFDYixZQUFVLEVBQ1Y7O0FBbkNIO0VBd0NHLG1CQUFrQixFQXVCbEI7RUEvREg7SUEwQ0ksbUJBQWtCO0lBQ2xCLFFBQU87SUFDUCxVQUFTO0lBQ1QsV0FBVSxFQUtWO0k1SWlIRTtNNEluS047UUErQ0ssUUFBTztRQUNQLFdBQVUsRUFFWCxFQUFBO0VBbERKO0lBdURNLG1CQUFpQjtJQUNqQixvQkFBa0IsRUFDbEI7RUF6RE47SUEyRE0sY0FBWSxFQUNaOztBQTVETjtFQW1FRSxpQkFBZTtFQUNmLG1CQUFpQixFQUlqQjtFQXhFRjtJQXNFRyxvQkFBa0IsRUFDbEI7O0FDdkVIO0VBQ0MsZUFBYTtFQUNiLGtCQUFnQjtFQUNoQixtQkFBaUI7RS9ERmhCLHFCQUEyQztFQUMzQyxzQkFBNEMsRStETTdDO0U3STJKSztJNkluS047TS9ESUkscUJBQTRDO01BQzVDLHNCQUE2QyxFK0RHaEQsRUFBQTtFN0kySks7STZJbktOO00vRFFJLG1CQUEyQztNQUMzQyxvQkFBNEMsRStERC9DLEVBQUE7RTdJZ0tLO0k2SXhLTjtNL0RZSSxtQkFBNEM7TUFDNUMsb0JBQTZDLEUrRExoRCxFQUFBO0U3SWdLSztJNkl4S047TS9EZ0JJLHdCQUE2QztNQUM3Qyx5QkFBOEMsRStEVGpELEVBQUE7RTdJZ0tLO0k2SXhLTjtNQU1FLGlCbklrRnVELEVtSWhGeEQsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTo0MDAsNzAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBUK1NhbnM6NDAwLDcwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1QVCtTYW5zK0NhcHRpb258UFQrU2Fuczo0MDAsNzAwfFBsYXlmYWlyK0Rpc3BsYXk6NDAwLDQwMGksNzAwLDcwMGkmZGlzcGxheT1zd2FwXCIpO1xuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciwgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLCAuZXJyb3I0MDQgLmJvZHktbWFpbiAjY29udGVudC53aWRlY29sdW1uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIsIC5lcnJvcjQwNCAuYm9keS1tYWluICNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIsIC5lcnJvcjQwNCAuYm9keS1tYWluICNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIsIC5lcnJvcjQwNCAuYm9keS1tYWluICNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQsIC5lcnJvcjQwNCAuYm9keS1tYWluIC5mbHVpZCNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkLCAuZXJyb3I0MDQgLmJvZHktbWFpbiAuZmx1aWQjY29udGVudC53aWRlY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCwgLmVycm9yNDA0IC5ib2R5LW1haW4gLmZsdWlkI2NvbnRlbnQud2lkZWNvbHVtbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkLCAuZXJyb3I0MDQgLmJvZHktbWFpbiAuZmx1aWQjY29udGVudC53aWRlY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQsIC5lcnJvcjQwNCAuYm9keS1tYWluIC5mbHVpZCNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjA2MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwsIC5lcnJvcjQwNCAuYm9keS1tYWluIC5mdWxsI2NvbnRlbnQud2lkZWNvbHVtbiB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTMsIC5ncmlkLXggPiAueHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTYsIC5ncmlkLXggPiAueHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTksIC5ncmlkLXggPiAueHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMTI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS4xMjVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCwgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjEyNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMS4xMjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4xMjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjI1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMTI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjEyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuMTI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4xMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMTI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMTI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4xMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjEyNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMTI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4xMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjEyNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMTI1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4xMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjEyNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4xMjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMTI1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4xMjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMTI1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjEyNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4xMjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMTI1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjEyNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4xMjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMTI1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjEyNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjEyNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjEyNXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMTI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMS4xMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS4xMjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xLjEyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAyLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi4yNXJlbSk7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM2MjYyNjI7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogNXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDMuNjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzJFNzI3RjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMyODYyNmQ7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjI2MjYyO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzYyNjI2MjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICMyQzJDMkM7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMyQzJDMkM7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMDAwMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2MjYyNjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMyQzJDMkM7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJDMkMyQztcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3NjE2YztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTViNjY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJFNzI3RjtcbiAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE3Mzk0MDtcbiAgICAgIGNvbG9yOiAjMTczOTQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJFNzI3RjtcbiAgICAgICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRTcyN0Y7XG4gICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE3Mzk0MDtcbiAgICAgICAgY29sb3I6ICMxNzM5NDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMkU3MjdGO1xuICAgICAgICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmNsZWFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMkU3MjdGO1xuICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE3Mzk0MDtcbiAgICAgIGNvbG9yOiAjMTczOTQwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMkU3MjdGO1xuICAgICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMkU3MjdGO1xuICAgICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTczOTQwO1xuICAgICAgICBjb2xvcjogIzE3Mzk0MDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJFNzI3RjtcbiAgICAgICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMkU3MjdGOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMkU3MjdGOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjgzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyRTcyN0Y7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjI2MjYyOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjI2MjYyOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuODM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NDYsIDExNCwgMTI3JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMkU3MjdGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMkU3MjdGOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzJFNzI3RjtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICM2MjYyNjI7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM2MjYyNjI7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjU1YjY2O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWVlZjI7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI0ZGRkZGRiwgMCAxNHB4IDAgI0ZGRkZGRjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzYyNjI2MjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM2MjYyNjIsIDAgMTRweCAwICM2MjYyNjI7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAwMDAsIDAgMTRweCAwICMwMDAwMDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzJDMkMyQztcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMyQzJDMkMsIDAgMTRweCAwICMyQzJDMkM7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzJFNzI3RjsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyRTcyN0Y7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJFNzI3RiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYyNjI2MjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTZlNmU2OyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzJFNzI3RjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMkU3MjdGOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMkU3MjdGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMkU3MjdGOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMkU3MjdGOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzJFNzI3RjsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYyNjI2MjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyRTcyN0YgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzJFNzI3RjsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMyRTcyN0Y7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMkU3MjdGO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyQzJDMkM7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyQzJDMkM7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgY29sb3I6ICM2MjYyNjI7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzJFNzI3RjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzYxNmM7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogOTByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjNjI2MjYyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMyRTcyN0Y7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzMjdkOGI7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgY29sb3I6ICMyODYyNmQ7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMkU3MjdGOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDQ2LCAxMTQsIDEyNywgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMkMzODQwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMyQzJDMkM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwMDAwO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDAwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyQzM4NDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VjdGlvbi1wYWRkaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLXBhZGRpbmcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWN0aW9uLXBhZGRpbmcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuc2VjdGlvbi1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnNlY3Rpb24tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMDYyNXJlbTsgfSB9XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjA2MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC4wNjI1cmVtOyB9IH1cblxuLmhpZGRlbiwgLmxvYWQtbW9yZS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uaW1hZ2UtY2VsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG5ib2R5IC5zaG93LXdoZW4tbG9nZ2VkLWluIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5IC5zaG93LXdoZW4tbG9nZ2VkLW91dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkubG9nZ2VkLWluIC5zaG93LXdoZW4tbG9nZ2VkLWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keS5sb2dnZWQtaW4gLnNob3ctd2hlbi1sb2dnZWQtb3V0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubW9iaWxlLW1lbnUsXG4gIC5zaXRlLXRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5kZXNrdG9wLW1lbnUsXG4gIC5zaXRlLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9mZi1jYW52YXMgPiB1bC5tZW51IHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUgLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5vZmYtY2FudmFzID4gdWwubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUgLmN1cnJlbnQtbWVudS1hbmNlc3RvciA+IGEge1xuICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gIC5vZmYtY2FudmFzID4gdWwubWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzJFNzI3RjsgfVxuICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUgYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAxcmVtIDAuN3JlbTsgfVxuICAgIC5vZmYtY2FudmFzID4gdWwubWVudSBhOmhvdmVyLCAub2ZmLWNhbnZhcyA+IHVsLm1lbnUgYTphY3RpdmUsIC5vZmYtY2FudmFzID4gdWwubWVudSBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTE4LCAxMTgsIDExOCwgMC4wNSk7IH1cblxuLm9mZi1jYW52YXMgdWwubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNjI2MjYyOyB9XG4gIC5vZmYtY2FudmFzIHVsLm1lbnUubmVzdGVkIGEge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzYyNjI2MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQ0ZEOyB9XG4gICAgLm9mZi1jYW52YXMgdWwubWVudS5uZXN0ZWQgYTpob3ZlciwgLm9mZi1jYW52YXMgdWwubWVudS5uZXN0ZWQgYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFREYwOyB9XG4gIC5vZmYtY2FudmFzIHVsLm1lbnUubmVzdGVkIC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMkU3MjdGOyB9XG5cbi5vZmYtY2FudmFzIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodDphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDByZW07XG4gICAgICBib3R0b206IDByZW07XG4gICAgICBsZWZ0OiAwcmVtO1xuICAgICAgcmlnaHQ6IDByZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGl0bGUtYmFyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAudGl0bGUtYmFyIC5jdXN0b20tbWVudS1pY29uIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudGl0bGUtYmFyIC5jdXN0b20tbWVudS1pY29uOmhvdmVyIHNwYW46OmJlZm9yZSwgLnRpdGxlLWJhciAuY3VzdG9tLW1lbnUtaWNvbjphY3RpdmUgc3Bhbjo6YmVmb3JlLCAudGl0bGUtYmFyIC5jdXN0b20tbWVudS1pY29uOmZvY3VzIHNwYW46OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAudGl0bGUtYmFyIGEuc2lsZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICAudGl0bGUtYmFyIC5zaXRlLWxvZ28sIC50aXRsZS1iYXIgLnNpdGUtbG9nby1pbnZlcnRlZCB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50aXRsZS1iYXIgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50aXRsZS1iYXIgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtOyB9IH1cbiAgLnRpdGxlLWJhciAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnRpdGxlLWJhciAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgICAudGl0bGUtYmFyIC50aXRsZS1iYXItcmlnaHQgLnNlYXJjaGZvcm0tY29udCBmb3JtIC5pbnB1dC1ncm91cCBidXR0b24uc2VhcmNoc3VibWl0OmhvdmVyLCAudGl0bGUtYmFyIC50aXRsZS1iYXItcmlnaHQgLnNlYXJjaGZvcm0tY29udCBmb3JtIC5pbnB1dC1ncm91cCBidXR0b24uc2VhcmNoc3VibWl0OmZvY3VzLCAudGl0bGUtYmFyIC50aXRsZS1iYXItcmlnaHQgLnNlYXJjaGZvcm0tY29udCBmb3JtIC5pbnB1dC1ncm91cCBidXR0b24uc2VhcmNoc3VibWl0OmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzJFNzI3RjsgfVxuXG5ib2R5Lm9mZmNhbnZhczpub3QoLmhvbWUpIC5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgYm9keS5vZmZjYW52YXM6bm90KC5ob21lKSAuc2l0ZS1oZWFkZXIgLnNpdGUtZGVza3RvcC10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgYm9keS5vZmZjYW52YXM6bm90KC5ob21lKSAuc2l0ZS1oZWFkZXIuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwcmVtO1xuICAgIGxlZnQ6IDByZW07XG4gICAgcmlnaHQ6IDByZW07XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMTBweCByZ2JhKDExOCwgMTE4LCAxMTgsIDAuMjUpOyB9XG4gICAgYm9keS5vZmZjYW52YXM6bm90KC5ob21lKSAuc2l0ZS1oZWFkZXIuc3RpY2t5Lm9mZi1jYW52YXMtcHVzaGVkIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBsZWZ0OiAtMjUwcHg7IH1cblxuLnRpdGxlLWJhci10aXRsZSBhIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ubW9iaWxlLW1lbnUgLm1lbnUgLmlzLWFjdGl2ZSA+IGEsXG4ubW9iaWxlLW9mZi1jYW52YXMtbWVudSAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNjQ1NGY7IH1cblxuLnRvcC1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLm5hdi1sb2dvLWxpbmsge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC5uYXYtbG9nby1saW5rIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC5uYXYtbG9nby1saW5rIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNC4wNjI1cmVtOyB9IH1cbiAgLnRvcC1iYXIgLm1lbnUgLm1lbnUtaXRlbSB7XG4gICAgcGFkZGluZzogMCAxcmVtIDAuNXJlbTsgfVxuICAgIC50b3AtYmFyIC5tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAudG9wLWJhciAubWVudSAubWVudS1pdGVtIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuNXMgZWFzZTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICB0b3A6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IC5tZW51LWl0ZW0gYTpob3ZlcjpiZWZvcmUsIC50b3AtYmFyIC5tZW51IC5tZW51LWl0ZW0gYTpmb2N1czpiZWZvcmUsIC50b3AtYmFyIC5tZW51IC5tZW51LWl0ZW0gYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IC5tZW51LWl0ZW0gYTo6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAtNXB4OyB9XG4gICAgICAudG9wLWJhciAubWVudSAubWVudS1pdGVtIGE6aG92ZXI6bm90KC5idXR0b24pIHtcbiAgICAgICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAudG9wLWJhciAubWVudSAubWVudS1pdGVtIGE6aG92ZXI6bm90KC5idXR0b24pOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7IH1cbiAgLnRvcC1iYXIgdWwubWVudTpub3QoLnN1Ym1lbnUpID4gbGkge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtOyB9XG4gICAgLnRvcC1iYXIgdWwubWVudTpub3QoLnN1Ym1lbnUpID4gbGkgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLnRvcC1iYXIgdWwubWVudTpub3QoLnN1Ym1lbnUpID4gbGkgPiAuc3VibWVudSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cbiAgICAgIC50b3AtYmFyIHVsLm1lbnU6bm90KC5zdWJtZW51KSA+IGxpID4gLnN1Ym1lbnUgbGkubWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC50b3AtYmFyIHVsLm1lbnU6bm90KC5zdWJtZW51KSA+IGxpID4gLnN1Ym1lbnUgbGkubWVudS1pdGVtIGEge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAudG9wLWJhciAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjMkU3MjdGO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC50b3AtYmFyIC5tZW51ID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcbiAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAudG9wLWJhciAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYyNjI2MjsgfVxuICAudG9wLWJhciAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYTphZnRlciB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51OmZpcnN0LWNoaWxkIGxpIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlID4gYTo6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICBib3R0b206IC01cHg7IH1cbiAgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RkNGRDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuaXMtZHJvcGRvd24tc3VibWVudSBsaS5tZW51LWl0ZW0ge1xuICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDAuNXJlbSAwcmVtOyB9XG4gICAgICAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB1bC5pcy1kcm9wZG93bi1zdWJtZW51IGxpLm1lbnUtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgICAgIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkubWVudS1pdGVtID4gYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLm9wZW5zLWxlZnQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHotaW5kZXg6IDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDsgfVxuICAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpob3Zlcjo6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6Zm9jdXM6OmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi4yNXJlbSk7IH1cbiAgLnRvcC1iYXIgLnNpdGUtbG9nbywgLnRvcC1iYXIgLnNpdGUtbG9nby1pbnZlcnRlZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICBoZWlnaHQ6IDMuMzEyNXJlbTsgfVxuICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogMy4xMjVyZW07IH1cbiAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMuMDYyNXJlbTsgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMHJlbTtcbiAgICAgIGNvbG9yOiAjMkMyQzJDO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGE6aG92ZXIsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGE6Zm9jdXMsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYTpob3ZlcjphZnRlciwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYTpmb2N1czphZnRlciwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMC4xODc1cmVtO1xuICAgICAgICBib3R0b206IDFyZW07XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnNlYXJjaGZvcm0tY29udCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnNlYXJjaGZvcm0tY29udCBpbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IGEsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSAubG9naW4tc3RhdHVzIHtcbiAgICAgICAgY29sb3I6ICMyQzJDMkM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUgYTpiZWZvcmUsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSAubG9naW4tc3RhdHVzOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjVzIGVhc2U7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IC0ycHg7XG4gICAgICAgICAgdG9wOiBhdXRvOyB9XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSBhOmhvdmVyOmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IGE6Zm9jdXM6YmVmb3JlLCAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUgYTphY3RpdmU6YmVmb3JlLCAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUgLmxvZ2luLXN0YXR1czpob3ZlcjpiZWZvcmUsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSAubG9naW4tc3RhdHVzOmZvY3VzOmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IC5sb2dpbi1zdGF0dXM6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzJFNzI3RjsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IC5sb2dpbi1zdGF0dXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUgLmxvZ2luLXN0YXR1cyAuaGVsbG8tdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IC5sb2dpbi1zdGF0dXMgLmZhIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IC5sb2dpbi1zdGF0dXMgPiAubG9nb3V0LW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMS4xNXJlbTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDhweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7XG4gICAgICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IC5sb2dpbi1zdGF0dXMgPiAubG9nb3V0LW1lbnU6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgI0Y0RkNGRDtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTsgfVxuICAgICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSAubG9naW4tc3RhdHVzID4gLmxvZ291dC1tZW51IGEge1xuICAgICAgICAgICAgY29sb3I6ICMyQzJDMkMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUgLmxvZ2luLXN0YXR1cyA+IC5sb2dvdXQtbWVudSBhOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudTpob3ZlciAubG9naW4tc3RhdHVzID4gLmxvZ291dC1tZW51LCAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnU6YWN0aXZlIC5sb2dpbi1zdGF0dXMgPiAubG9nb3V0LW1lbnUsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudTpmb2N1cyAubG9naW4tc3RhdHVzID4gLmxvZ291dC1tZW51LCAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUuaXMtYWN0aXZlIC5sb2dpbi1zdGF0dXMgPiAubG9nb3V0LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAuY2FydC1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAuY2FydC1tZW51OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTFyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCAxMTQsIDEyNywgMC4xKTsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhIHtcbiAgICAgICAgY29sb3I6ICM2MjYyNjI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuNXMgZWFzZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogLTJweDtcbiAgICAgICAgICB0b3A6IGF1dG87IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhOmhvdmVyOmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhOmZvY3VzOmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDEuNXJlbTsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSA+IGE6aG92ZXI6OmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhOmZvY3VzOjpiZWZvcmUsIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAuY2FydC1tZW51ID4gYTphY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNXJlbSk7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAuY2FydC1tZW51Lmhhcy1pdGVtcyA+IGE6aG92ZXI6OmJlZm9yZSwgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUuaGFzLWl0ZW1zID4gYTpmb2N1czo6YmVmb3JlLCAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudS5oYXMtaXRlbXMgPiBhOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNXJlbSk7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAuY2FydC1tZW51IHNwYW4uZmEge1xuICAgICAgICBjb2xvcjogIzJFNzI3RjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjA5Mzc1cmVtOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSAuY2FydC1pdGVtLWNvdW50LWNvbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjMkU3MjdGO1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSAuY2FydC1pdGVtLWNvdW50LWNvbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDExNCwgMTI3LCAwLjEpO1xuICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW07IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgLmNhcnQtaXRlbS1jb3VudC1jb250IC5jYXJ0LWl0ZW0tY291bnQge1xuICAgICAgICAgIGNvbG9yOiAjNjI2MjYyOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLXItbWVudSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZS1oZWFkZXIgYS5zaWxlbnQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUtaGVhZGVyIC5iYW5uZXItY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUtaGVhZGVyIC5iYW5uZXItY3RhIHNwYW4sIC5zaXRlLWhlYWRlciAuYmFubmVyLWN0YSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLnNpdGUtaGVhZGVyIC5iYW5uZXItY3RhIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5iYW5uZXItY3RhIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IC5tZW51LWl0ZW0uaXMtYWN0aXZlID4gYTo6YmVmb3JlLCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5wcmVtZW51LWNvbnQgLm1lbnUgLm1lbnUtaXRlbS5jdXJyZW50X3BhZ2VfaXRlbSA+IGE6OmJlZm9yZSxcbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAubWVudS1pdGVtLmlzLWFjdGl2ZSA+IGE6OmJlZm9yZSxcbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAubWVudS1pdGVtLmN1cnJlbnRfcGFnZV9pdGVtID4gYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgIGJvdHRvbTogLTVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZS1oZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5wcmVtZW51LWNvbnQgLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWFjdGl2ZSA+IGE6OmJlZm9yZSwgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5jdXJyZW50X3BhZ2VfaXRlbSA+IGE6OmJlZm9yZSxcbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlID4gYTo6YmVmb3JlLFxuICAuc2l0ZS1oZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5jdXJyZW50X3BhZ2VfaXRlbSA+IGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICBib3R0b206IC01cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuMjVyZW0pOyB9XG4gIC5zaXRlLWhlYWRlciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlOjpiZWZvcmUsIC5zaXRlLWhlYWRlciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlOjphZnRlcixcbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlOjpiZWZvcmUsXG4gIC5zaXRlLWhlYWRlciAudG9wLWJhciAudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5zaXRlLWhlYWRlciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlOjpiZWZvcmUsXG4gIC5zaXRlLWhlYWRlciAudG9wLWJhciAudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgIzYyNjI2MjtcbiAgICBib3R0b206IGNhbGMoLTMuNXJlbSAtIDFweCk7IH1cbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmU6OmFmdGVyLFxuICAuc2l0ZS1oZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgI0Y0RkNGRDtcbiAgICBib3R0b206IC0zLjVyZW07IH1cbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmUgdWwuaXMtZHJvcGRvd24tc3VibWVudSxcbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlIHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaXRlLWhlYWRlciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuaXMtZHJvcGRvd24tc3VibWVudSxcbiAgLnNpdGUtaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogMy41cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5wcmVtZW51LWNvbnQgLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkubWVudS1pdGVtID4gYSxcbiAgICAuc2l0ZS1oZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB1bC5pcy1kcm9wZG93bi1zdWJtZW51IGxpLm1lbnUtaXRlbSA+IGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnNpdGUtaGVhZGVyLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMHJlbTtcbiAgICBsZWZ0OiAwcmVtO1xuICAgIHJpZ2h0OiAwcmVtO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDEwcHggcmdiYSgxMTgsIDExOCwgMTE4LCAwLjI1KTsgfVxuICAgIC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXItci1wcmVtZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2l0ZS1oZWFkZXIuc3RpY2t5IGEuc2lsZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLnNpdGUtaGVhZGVyLnN0aWNreSAuc2l0ZS1kZXNrdG9wLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDsgfVxuICAgIC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmU6OmJlZm9yZSwgLnNpdGUtaGVhZGVyLnN0aWNreSAudG9wLWJhciAudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB1bC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5uYXYtbmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250IHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCB7XG4gICAgICBtYXJnaW4tbGVmdDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCB7XG4gICAgICBtYXJnaW4tbGVmdDogMHJlbTsgfSB9XG4gIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExOCwgMTE4LCAxMTgsIDAuMDUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250IC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250IC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgIHRvcDogMHJlbTtcbiAgICAgIGJvdHRvbTogMHJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlLWluOyB9XG4gICAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gLnNlYXJjaHN1Ym1pdCB7XG4gICAgICAgIHBhZGRpbmc6IDByZW07IH1cbiAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3Age1xuICAgIG1pbi1oZWlnaHQ6IDNyZW07IH1cbiAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3AsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1tb2JpbGUge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cbiAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgI3NlYXJjaGZvcm0tZGVza3RvcDpub3QoLmZvcm0tYWN0aXZlKSAuaW5wdXQtZ3JvdXAtZmllbGQsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1tb2JpbGU6bm90KC5mb3JtLWFjdGl2ZSkgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3AgLmlucHV0LWdyb3VwLWZpZWxkLCAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgI3NlYXJjaGZvcm0tbW9iaWxlIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlLCBib3JkZXItY29sb3IgMC41cyBlYXNlO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgI3NlYXJjaGZvcm0tZGVza3RvcCAuaW5wdXQtZ3JvdXAtZmllbGQ6aG92ZXIsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1kZXNrdG9wIC5pbnB1dC1ncm91cC1maWVsZDphY3RpdmUsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1kZXNrdG9wIC5pbnB1dC1ncm91cC1maWVsZDpmb2N1cywgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLW1vYmlsZSAuaW5wdXQtZ3JvdXAtZmllbGQ6aG92ZXIsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1tb2JpbGUgLmlucHV0LWdyb3VwLWZpZWxkOmFjdGl2ZSwgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLW1vYmlsZSAuaW5wdXQtZ3JvdXAtZmllbGQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3AgLmlucHV0LWdyb3VwLWZpZWxkOjpwbGFjZWhvbGRlciwgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLW1vYmlsZSAuaW5wdXQtZ3JvdXAtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3AgLnNlYXJjaHN1Ym1pdCwgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLW1vYmlsZSAuc2VhcmNoc3VibWl0IHtcbiAgICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3AuZm9ybS1hY3RpdmUsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1tb2JpbGUuZm9ybS1hY3RpdmUge1xuICAgICAgd2lkdGg6IDEwcmVtOyB9XG4gICAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgI3NlYXJjaGZvcm0tZGVza3RvcC5mb3JtLWFjdGl2ZSAuaW5wdXQtZ3JvdXAtZmllbGQsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1tb2JpbGUuZm9ybS1hY3RpdmUgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RjsgfVxuICAgICAgICAuaGVhZGluZy1zZWFyY2hmb3JtLWNvbnQgI3NlYXJjaGZvcm0tZGVza3RvcC5mb3JtLWFjdGl2ZSAuaW5wdXQtZ3JvdXAtZmllbGQ6Zm9jdXMsIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1tb2JpbGUuZm9ybS1hY3RpdmUgLmlucHV0LWdyb3VwLWZpZWxkOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAgICAgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLWRlc2t0b3AuZm9ybS1hY3RpdmUgLmlucHV0LWdyb3VwLWZpZWxkOjpwbGFjZWhvbGRlciwgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLW1vYmlsZS5mb3JtLWFjdGl2ZSAuaW5wdXQtZ3JvdXAtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBub25lO1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgICAgIC5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCAjc2VhcmNoZm9ybS1kZXNrdG9wLmZvcm0tYWN0aXZlIC5pbnB1dC1ncm91cC1idXR0b24gLnNlYXJjaHN1Ym1pdCwgLmhlYWRpbmctc2VhcmNoZm9ybS1jb250ICNzZWFyY2hmb3JtLW1vYmlsZS5mb3JtLWFjdGl2ZSAuaW5wdXQtZ3JvdXAtYnV0dG9uIC5zZWFyY2hzdWJtaXQge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgI0Y0RkNGRDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1maWVsZDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNGNEZDRkQ7IH1cbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWZpZWxkOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMkU3MjdGOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDByZW07XG4gICAgdG9wOiAwcmVtO1xuICAgIGJvdHRvbTogMHJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIC5zZWFyY2hzdWJtaXQge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzJFNzI3RjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAycHggMnB4IDBweDsgfVxuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gLnNlYXJjaHN1Ym1pdDpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgICAgIHBhZGRpbmc6IDByZW0gMC41cmVtIDByZW0gMHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIC5zZWFyY2hzdWJtaXQ6aG92ZXIsIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIC5zZWFyY2hzdWJtaXQ6YWN0aXZlLCAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiAuc2VhcmNoc3VibWl0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keS5sb2dnZWQtaW4uYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5zdGlja3kge1xuICB0b3A6IDMycHg7IH1cblxuYm9keS5sb2dnZWQtaW4uYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5zdGlja3kge1xuICB0b3A6IDQ2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzgzcHgpIHtcbiAgICBib2R5LmxvZ2dlZC1pbi5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyLnN0aWNreSB7XG4gICAgICB0b3A6IDMycHg7IH0gfVxuXG4uc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMkU3MjdGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG4gIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyLnN0aWNreSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyLnN0aWNreSAudG9wLWJhci1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggMTBweCByZ2JhKDExOCwgMTE4LCAxMTgsIDAuMjUpOyB9XG4gICAgICAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXItY29udGFpbmVyIC5zaXRlLWxvZ28taW52ZXJ0ZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXItY29udGFpbmVyIC5zaXRlLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIuc3RpY2t5IC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyLnN0aWNreSAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5wcmVtZW51LWNvbnQgLm1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgICAgICAgY29sb3I6ICMyQzJDMkM7IH1cbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyLnN0aWNreSAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICAgIGNvbG9yOiAjMkMyQzJDOyB9XG4gICAgICAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSBhLCAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlci5zdGlja3kgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSAubG9naW4tc3RhdHVzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyLnN0aWNreSAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhIHtcbiAgICAgICAgY29sb3I6ICM2MjYyNjI7IH1cbiAgICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIuc3RpY2t5IC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSA+IGEgLmNhcnQtaXRlbS1jb3VudC1jb250IC5jYXJ0LWl0ZW0tY291bnQge1xuICAgICAgICAgIGNvbG9yOiAjNjI2MjYyOyB9XG4gIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIC50aXRsZS1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC5zaXRlLWxvZ28taW52ZXJ0ZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlciAudG9wLWJhci1jb250YWluZXIgLnNpdGUtbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlciAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IGEsXG4gICAgICAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlciAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgLnRvcC1iYXItci1tZW51IC5kcm9wZG93bi5tZW51IGEge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmU6OmJlZm9yZSxcbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICM2MjYyNjI7XG4gICAgICAgIGJvdHRvbTogY2FsYygtMS41cmVtIC0gMXB4KTsgfVxuICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmU6OmFmdGVyLFxuICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjRjRGQ0ZEO1xuICAgICAgICBib3R0b206IC0xLjVyZW07IH1cbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCAubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuaXMtZHJvcGRvd24tc3VibWVudSxcbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUgYS5sb2dpbi1saW5rLCAuaG9tZSAub2ZmLWNhbnZhcy1jb250ZW50IC5zaXRlLWhlYWRlciAudG9wLWJhci1jb250YWluZXIgLnRvcC1iYXIgLnRvcC1iYXItci1wcmVtZW51IC5sb2dpbi1tZW51IC5sb2dpbi1zdGF0dXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmhvbWUgLm9mZi1jYW52YXMtY29udGVudCAuc2l0ZS1oZWFkZXIgLnRvcC1iYXItY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXItcHJlbWVudSAuY2FydC1tZW51ID4gYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAgIC5ob21lIC5vZmYtY2FudmFzLWNvbnRlbnQgLnNpdGUtaGVhZGVyIC50b3AtYmFyLWNvbnRhaW5lciAudG9wLWJhciAudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSA+IGEgLmNhcnQtaXRlbS1jb3VudC1jb250IC5jYXJ0LWl0ZW0tY291bnQge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5ib2R5LW1haW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wYWdlLXdyYXAge1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICAucGFnZS13cmFwOm5vdCg6ZnJvbnQpIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2Utd3JhcDpub3QoOmZyb250KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnZS13cmFwOm5vdCg6ZnJvbnQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucGFnZS13cmFwOm5vdCg6ZnJvbnQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAucGFnZS13cmFwOm5vdCg6ZnJvbnQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQuMDYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2Utd3JhcCB7XG4gICAgICBtaW4taGVpZ2h0OiAyNXJlbTsgfSB9XG4gIC5wYWdlLXdyYXAuc2luZ2xlLWV2ZW50LXdyYXBwZXIgc2VjdGlvbi5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnNpZGViYXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaWRlYmFyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuXG4ucmVzdWx0LWl0ZW0gLmVudHJ5LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMkU3MjdGOyB9XG5cbi5yZXN1bHQtaXRlbSAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXN1bHQtaXRlbSAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogOS4zNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzdWx0LWl0ZW0gLm1ldGEtY29udCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cblxuLnJlc3VsdC1pdGVtIC5tZXRhLWNvbnQgPiAqIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLnJlc3VsdC1pdGVtIC5tZXRhLWNvbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJlc3VsdC1pdGVtIHAge1xuICBjb2xvcjogIzYyNjI2MjsgfVxuICAucmVzdWx0LWl0ZW0gcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5hLnJlc3VsdC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy10b3A6IDAuOTIzMDhyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjkyMzA4cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBhLnJlc3VsdC1saW5rIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjUzODQ2cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNTM4NDZyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGEucmVzdWx0LWxpbmsge1xuICAgICAgcGFkZGluZy10b3A6IDEuODQ2MTVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NDYxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBhLnJlc3VsdC1saW5rIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjg0NjE1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODQ2MTVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogLTNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogLTNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGEucmVzdWx0LWxpbmsge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBhLnJlc3VsdC1saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGEucmVzdWx0LWxpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGEucmVzdWx0LWxpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBhLnJlc3VsdC1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgYS5yZXN1bHQtbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMDYyNXJlbTsgfSB9XG4gIGEucmVzdWx0LWxpbmsuc2lsZW50IHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICBhLnJlc3VsdC1saW5rIC5mYWtlLXJlc3VsdC1saW5rIHtcbiAgICBjb2xvcjogIzJDMkMyQztcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMyRjM3M0Q7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYS5yZXN1bHQtbGluayAuZmFrZS1yZXN1bHQtbGluazpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIC41cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC41cyBlYXNlO1xuICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogLTRweDtcbiAgICAgIHRvcDogYXV0bzsgfVxuICAgIGEucmVzdWx0LWxpbmsgLmZha2UtcmVzdWx0LWxpbms6aG92ZXI6YmVmb3JlLCBhLnJlc3VsdC1saW5rIC5mYWtlLXJlc3VsdC1saW5rOmZvY3VzOmJlZm9yZSwgYS5yZXN1bHQtbGluayAuZmFrZS1yZXN1bHQtbGluazphY3RpdmU6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogIzJFNzI3RjsgfVxuICAgIGEucmVzdWx0LWxpbmsgLmZha2UtcmVzdWx0LWxpbms6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYxMDUnO1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICBjb2xvcjogIzJFNzI3RjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIGEucmVzdWx0LWxpbms6aG92ZXIsIGEucmVzdWx0LWxpbms6Zm9jdXMsIGEucmVzdWx0LWxpbms6YWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMkU3MjdGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7IH1cbiAgICBhLnJlc3VsdC1saW5rOmhvdmVyIC5mYWtlLXJlc3VsdC1saW5rOjpiZWZvcmUsIGEucmVzdWx0LWxpbms6Zm9jdXMgLmZha2UtcmVzdWx0LWxpbms6OmJlZm9yZSwgYS5yZXN1bHQtbGluazphY3RpdmUgLmZha2UtcmVzdWx0LWxpbms6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBhLnJlc3VsdC1saW5rOmhvdmVyIC5lbnRyeS10aXRsZSwgYS5yZXN1bHQtbGluazpmb2N1cyAuZW50cnktdGl0bGUsIGEucmVzdWx0LWxpbms6YWN0aXZlIC5lbnRyeS10aXRsZSB7XG4gICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgIGEucmVzdWx0LWxpbms6aG92ZXIgPiAqOm5vdCguZW50cnktdGl0bGUpLCBhLnJlc3VsdC1saW5rOmZvY3VzID4gKjpub3QoLmVudHJ5LXRpdGxlKSwgYS5yZXN1bHQtbGluazphY3RpdmUgPiAqOm5vdCguZW50cnktdGl0bGUpIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgYS5yZXN1bHQtbGluazpob3ZlciAucG9zdC1mZWF0dXJlZC1pbWFnZSA+IGRpdiwgYS5yZXN1bHQtbGluazpmb2N1cyAucG9zdC1mZWF0dXJlZC1pbWFnZSA+IGRpdiwgYS5yZXN1bHQtbGluazphY3RpdmUgLnBvc3QtZmVhdHVyZWQtaW1hZ2UgPiBkaXYge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMkU3MjdGOyB9XG5cbi50YWctbGlzdCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAudGFnLWxpc3QgPiBhIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgICBjb2xvcjogIzJFNzI3RjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLnRhZy1saXN0ID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAwJTtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLnRhZy1saXN0ID4gYTpob3ZlciwgLnRhZy1saXN0ID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLnRhZy1saXN0ID4gYTpob3ZlcjpiZWZvcmUsIC50YWctbGlzdCA+IGE6Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGOyB9XG5cbi5wYWdpbmF0aW9uID4gbGkgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5oYXMtYmcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFyY2hpdmUtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDIuNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmFyY2hpdmUtY29udGVudCAuZ3JpZC1jb250YWluZXIsIC5hcmNoaXZlLWNvbnRlbnQgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbiwgLmVycm9yNDA0IC5ib2R5LW1haW4gLmFyY2hpdmUtY29udGVudCAjY29udGVudC53aWRlY29sdW1uIHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9IH1cblxuLmFyY2hpdmUtY29udGVudCAudGlsZXMgLm1haW4tdGlsZS1jZWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmFyY2hpdmUtY29udGVudCAudGlsZXMgLm1haW4tdGlsZS1jZWxsOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hcmNoaXZlLWNvbnRlbnQgLnRpbGVzIC5tYWluLXRpbGUtY2VsbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi4xMjVyZW07IH0gfVxuXG4uYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUge1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2MjYyNjI7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAudGlsZS1yZXN1bHQtbGluazpob3ZlciwgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmZvY3VzLCAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUgLnRpbGUtcmVzdWx0LWxpbms6YWN0aXZlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDEuMzc1cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmhvdmVyOmFmdGVyLCAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUgLnRpbGUtcmVzdWx0LWxpbms6Zm9jdXM6YWZ0ZXIsIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAudGlsZS1yZXN1bHQtbGluazphY3RpdmU6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogIzJFNzI3RjsgfVxuICAgICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmhvdmVyIC5lbnRyeS10aXRsZSwgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmZvY3VzIC5lbnRyeS10aXRsZSwgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmFjdGl2ZSAuZW50cnktdGl0bGUge1xuICAgICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmhvdmVyID4gKjpub3QoLmVudHJ5LXRpdGxlKSwgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmZvY3VzID4gKjpub3QoLmVudHJ5LXRpdGxlKSwgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmFjdGl2ZSA+ICo6bm90KC5lbnRyeS10aXRsZSkge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rOmhvdmVyIC5wb3N0LWZlYXR1cmVkLWltYWdlLWNlbGwgLnBvc3QtZmVhdHVyZWQtaW1hZ2UsIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAudGlsZS1yZXN1bHQtbGluazpmb2N1cyAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlLCAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUgLnRpbGUtcmVzdWx0LWxpbms6YWN0aXZlIC5wb3N0LWZlYXR1cmVkLWltYWdlLWNlbGwgLnBvc3QtZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMkU3MjdGOyB9XG4gICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC50aWxlLXJlc3VsdC1saW5rIC5ncmlkLXgge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMTg3NXJlbSAxLjM3NXJlbSAxLjEyNXJlbTsgfVxuICAgIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAuZW50cnktY29udGVudCAubWV0YS1jb250IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAuZW50cnktY29udGVudCAubWV0YS1jb250IHRpbWUge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSg0NCwgNDQsIDQ0LCAwLjgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC5lbnRyeS1jb250ZW50IC5lbnRyeS10aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10aWxlIC5lbnRyeS1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICMyQzJDMkM7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjE7IH1cblxuLmNvbnRlbnQtdGl0bGUgaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRlbnQtdGl0bGUgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjY2NjY3cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNjY2NjdyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50LXRpdGxlIGhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jb250ZW50LXRpdGxlIGhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jb250ZW50LXRpdGxlIGhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMi43MDgzM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjcwODMzcmVtOyB9IH1cbiAgLmNvbnRlbnQtdGl0bGUgaGVhZGVyIGgxIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnBhZ2luYXRpb24ge1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICAucGFnaW5hdGlvbiA+IGxpID4gKiB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwYWRkaW5nOiAwcmVtICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmVnaXN0ZXItcGFnZS13cmFwIHtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmVnaXN0ZXItcGFnZS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVnaXN0ZXItcGFnZS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnJlZ2lzdGVyLXBhZ2Utd3JhcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IDIuMDMxMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlZ2lzdGVyLXBhZ2Utd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAucmVnaXN0ZXItcGFnZS13cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIC5yZWdpc3Rlci1wYWdlLXdyYXAgLmZvcm0tY2VsbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAgLmZvcm0tY2VsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJlZ2lzdGVyLXBhZ2Utd3JhcCAuZm9ybS1jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAgLmZvcm0tY2VsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAucmVnaXN0ZXItcGFnZS13cmFwIC5mb3JtLWNlbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi43MDgzM3JlbTsgfSB9XG4gICAgLnJlZ2lzdGVyLXBhZ2Utd3JhcCAuZm9ybS1jZWxsIC5mb3JtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnJlZ2lzdGVyLXBhZ2Utd3JhcCAuZm9ybS1jZWxsIC5mb3JtLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgICAucmVnaXN0ZXItcGFnZS13cmFwIC5mb3JtLWNlbGwgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAgLmZvcm0tY2VsbCAuZ2ZfbG9naW5fbGlua3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5yZWdpc3Rlci1wYWdlLXdyYXAgLmZvcm0tY2VsbCBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5yZWdpc3Rlci1wYWdlLXdyYXAgLmxpbmstd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAucmVnaXN0ZXItcGFnZS13cmFwIC5saW5rLXdyYXAtY29sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZXJyb3I0MDQgLmJvZHktbWFpbiAjY29udGVudC53aWRlY29sdW1uIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5lcnJvcjQwNCAuYm9keS1tYWluICNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5lcnJvcjQwNCAuYm9keS1tYWluICNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZXJyb3I0MDQgLmJvZHktbWFpbiAjY29udGVudC53aWRlY29sdW1uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbiB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmVycm9yNDA0IC5ib2R5LW1haW4gI2NvbnRlbnQud2lkZWNvbHVtbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RkNGRDtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjYyNXJlbTsgfSB9XG4gIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1sb2dvLWNlbGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1sb2dvLWNlbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWxvZ28tY2VsbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1sb2dvLWNlbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbG9nby1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43MDgzM3JlbTsgfSB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWxvZ28tY2VsbCBhIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uYXYtY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmF2LWNlbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43MDgzM3JlbTsgfSB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIC5mb290ZXItbmF2LWl0ZW1zIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uYXYtY2VsbCAuZm9vdGVyLW5hdi1pdGVtcyBzZWN0aW9uLndpZGdldC53aWRnZXRfbmF2X21lbnUge1xuICAgICAgICBwYWRkaW5nOiAwcmVtOyB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmF2LWNlbGwgLmZvb3Rlci1uYXYtaXRlbXMgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogdW5zZXQ7IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uYXYtY2VsbCAuZm9vdGVyLW5hdi1pdGVtcyAubWVudSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uYXYtY2VsbCAuZm9vdGVyLW5hdi1pdGVtcyAubWVudSA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgIG1hcmdpbjogMC4yNXJlbSAwOyB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmF2LWNlbGwgLmZvb3Rlci1uYXYtaXRlbXMgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmF2LWNlbGwgLmZvb3Rlci1uYXYtaXRlbXMgdWwgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICMyQzJDMkM7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIC5mb290ZXItbmF2LWl0ZW1zIHVsIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC41cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC41cyBlYXNlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cHg7IH1cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmF2LWNlbGwgLmZvb3Rlci1uYXYtaXRlbXMgdWwgbGkgYTpob3ZlcjphZnRlciwgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIC5mb290ZXItbmF2LWl0ZW1zIHVsIGxpIGE6Zm9jdXM6YWZ0ZXIsIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uYXYtY2VsbCAuZm9vdGVyLW5hdi1pdGVtcyB1bCBsaSBhOmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyRTcyN0Y7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5hdi1jZWxsIC5mb290ZXItbmF2LWl0ZW1zIHVsIGxpIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItc29jaWFsLWNlbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC4wNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIHtcbiAgICAgICAgZmxleC1mbG93OiByb3c7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIC5zb2NpYWwtaWNvbi1saXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIC5zb2NpYWwtaWNvbi1saXN0IGxpIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIC5zb2NpYWwtaWNvbi1saXN0IGxpIGEuc29jaWFsLWxpbmsge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDExNCwgMTI3LCAwLjEpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItc29jaWFsLWNlbGwgLnNvY2lhbC1pY29uLWxpc3QgbGkgYS5zb2NpYWwtbGluayAuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItc29jaWFsLWNlbGwgLnNvY2lhbC1pY29uLWxpc3QgbGkgYS5zb2NpYWwtbGluazpob3ZlciwgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIC5zb2NpYWwtaWNvbi1saXN0IGxpIGEuc29jaWFsLWxpbms6YWN0aXZlLCAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItc29jaWFsLWNlbGwgLnNvY2lhbC1pY29uLWxpc3QgbGkgYS5zb2NpYWwtbGluazpmb2N1cyB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLXNvY2lhbC1jZWxsIC5oYXNodGFnLXRleHQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBwYWRkaW5nOiAwIDAuMjVyZW07IH1cbiAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhY3QtY2VsbCAubG9jYXRpb24tY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWN0LWNlbGwgLmxvY2F0aW9uLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxNTUsIDEzMCwgNjUsIDAuMik7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhY3QtY2VsbCAubG9jYXRpb24tY2VsbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTU1LCAxMzAsIDY1LCAwLjIpOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhY3QtY2VsbCAubG9jYXRpb24tY2VsbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTU1LCAxMzAsIDY1LCAwLjIpOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWN0LWNlbGwgLmxvY2F0aW9uLWNlbGw6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhY3QtY2VsbCAubG9jYXRpb24tY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWN0LWNlbGwgLmxvY2F0aW9uLWNlbGwgLmxvY2F0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnMgQ2FwdGlvblwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhY3QtY2VsbCAubG9jYXRpb24tY2VsbCAubG9jYXRpb24tY29udGFjdC1pbmZvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWNvbnRhY3QtY2VsbCAubG9jYXRpb24tY2VsbCAubG9jYXRpb24tY29udGFjdC1pbmZvOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFjdC1jZWxsIC5sb2NhdGlvbi1jZWxsIC5sb2NhdGlvbi1jb250YWN0LWluZm8gLmZhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoNDYsIDExNCwgMTI3LCAwLjUpOyB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItY29udGFjdC1jZWxsIC5sb2NhdGlvbi1jZWxsIC5sb2NhdGlvbi1jb250YWN0LWluZm8gYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBjb2xvcjogIzJDMkMyQzsgfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1jb250YWN0LWNlbGwgLmxvY2F0aW9uLWNlbGwgLmFkZHJlc3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzYyNjI2MjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmV3c2xldHRlci1jZWxsIHtcbiAgICBtYXJnaW46IGF1dG8gMHJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uZXdzbGV0dGVyLWNlbGwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uZXdzbGV0dGVyLWNlbGwgPiBkaXYge1xuICAgICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5ld3NsZXR0ZXItY2VsbCA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5ld3NsZXR0ZXItY2VsbCA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5ld3NsZXR0ZXItY2VsbCA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLW5ld3NsZXR0ZXItY2VsbCA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIuMDMxMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDIuMDMxMjVyZW07IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1uZXdzbGV0dGVyLWNlbGwgPiBkaXYgPiBwLCAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItbmV3c2xldHRlci1jZWxsIC5uZXdzbGV0dGVyLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMkMyQzJDO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7IH1cblxuLmZvb3RlciAuc3ViZm9vdGVyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAwIDJyZW07IH1cbiAgLmZvb3RlciAuc3ViZm9vdGVyLWNvbnRhaW5lciAuY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvb3RlciAuc3ViZm9vdGVyLWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogIzYyNjI2MjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mb290ZXIgLnN1YmZvb3Rlci1jb250YWluZXIgcCBhIHtcbiAgICAgIGNvbG9yOiAjNjI2MjYyOyB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgbWF4LXdpZHRoOiA1OHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjY2NjY3cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNjY2NjdyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMi43MDgzM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjcwODMzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuMzMzMzNyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1LjQxNjY3cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNS40MTY2N3JlbTsgfSB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGVhZGluZyBoMy5nZm9ybV90aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB0ZXh0YXJlYSwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCAxMTQsIDEyNywgMC4xKTtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBzZWxlY3Q6YWN0aXZlLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHNlbGVjdDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB0ZXh0YXJlYTphY3RpdmUsIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgdGV4dGFyZWE6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSk6YWN0aXZlLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMkU3MjdGOyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHNlbGVjdDo6cGxhY2Vob2xkZXIsIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNCk7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwIGNlbnRlcjsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBzZWxlY3Q6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICAgIGhlaWdodDogOS4zNzVyZW07IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAzcmVtOyB9XG4gICAgICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0IHtcbiAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gMDsgfVxuICAgICAgICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0IGxhYmVsLmdmaWVsZF9jb25zZW50X2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC41cmVtIDAgMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH0gfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLCAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKTpub3QoLmdmX2xlZnRfdGhpcmQpOm5vdCguZ2ZfbWlkZGxlX3RoaXJkKTpub3QoLmdmX3JpZ2h0X3RoaXJkKSB7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF90aGlyZCwgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciBmb3JtIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbWlkZGxlX3RoaXJkLCAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIGZvcm0gLmdmb3JtX2JvZHkgdWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfcmlnaHRfdGhpcmQge1xuICAgICAgd2lkdGg6IDMzLjMlICFpbXBvcnRhbnQ7IH0gfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGNvbG9yOiAjYTYzYjJhO1xuICAgIHBhZGRpbmc6IDAgMCAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCA3NSwgNTUsIDAuMSk7XG4gICAgY29sb3I6ICNjYTQ4MzQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciwgLmdmb3JtX3dyYXBwZXIgZm9ybSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5naW5wdXRfY29udGFpbmVyLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZGl2LmdpbnB1dF9jb250YWluZXIsIC5nZm9ybV93cmFwcGVyIGZvcm0gbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZy5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgdGV4dGFyZWEsIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSksIC5nZm9ybV93cmFwcGVyIGZvcm0gbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIGZvcm0gbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyB0ZXh0YXJlYSwgLmdmb3JtX3dyYXBwZXIgZm9ybSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQuZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmX2xlZnRfaGFsZiAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dC5nZm9ybV9idXR0b25fc2VsZWN0X2ZpbGVzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZl9sZWZ0X2hhbGYgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWEuZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZfcmlnaHRfaGFsZiAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dC5nZm9ybV9idXR0b25fc2VsZWN0X2ZpbGVzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZl9yaWdodF9oYWxmIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2Zvb3RlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT0nc3VibWl0J10gfiBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgY29sb3I6ICM2MjYyNjI7IH1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHtcbiAgcGFkZGluZzogMS41cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDEuNXJlbSAzLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgOXB4O1xuICAgIHdpZHRoOiAyLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgIGNvbG9yOiAjM2FkYjc2O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29udGVudDogJ1xcZjAwYyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjtcbiAgICBib3gtc2hhZG93OiAwIDFweCA2cHggcmdiYSgxMTgsIDExOCwgMTE4LCAwLjQpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMC42NXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xLjA2MjVyZW07IH0gfVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSksIHNlbGVjdCwgc2VsZWN0ID4gb3B0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NiwgMTE0LCAxMjcsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSksIHNlbGVjdCwgc2VsZWN0ID4gb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTo6cGxhY2Vob2xkZXIsIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKSBvcHRpb25bdmFsdWU9JyddLCBzZWxlY3Q6OnBsYWNlaG9sZGVyLCBzZWxlY3Qgb3B0aW9uW3ZhbHVlPScnXSwgc2VsZWN0ID4gb3B0aW9uOjpwbGFjZWhvbGRlciwgc2VsZWN0ID4gb3B0aW9uIG9wdGlvblt2YWx1ZT0nJ10ge1xuICAgIGNvbG9yOiByZ2JhKDk4LCA5OCwgOTgsIDAuNCk7IH1cbiAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pOmhvdmVyLCBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSk6Zm9jdXMsIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTphY3RpdmUsIHNlbGVjdDpob3Zlciwgc2VsZWN0OmZvY3VzLCBzZWxlY3Q6YWN0aXZlLCBzZWxlY3QgPiBvcHRpb246aG92ZXIsIHNlbGVjdCA+IG9wdGlvbjpmb2N1cywgc2VsZWN0ID4gb3B0aW9uOmFjdGl2ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJFNzI3RjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCAxMTQsIDEyNywgMC4xKTsgfVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbSAwLjc1cmVtIDAuNzVyZW07IH1cblxuLnNlbGVjdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5zZWxlY3Qtd3JhcHBlciBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAuc2VsZWN0LXdyYXBwZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDRweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnVpLXdpZGdldC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgLnVpLXdpZGdldC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICAgIG1hcmdpbjogMHJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzYyNjI2MjsgfVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDM3LjVyZW07XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuc2hvdy1hcy1oMSwgLnNob3ctYXMtaDIsIC5zaG93LWFzLWgzLCAucmVzdWx0LWl0ZW0gLmVudHJ5LXRpdGxlLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGVhZGluZyBoMy5nZm9ybV90aXRsZSwgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGV4dC1jZWxsID4gaDIsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5ncmlkLWNvbnQgLmdyaWQtaXRlbSA+IGFydGljbGUgLmVudHJ5LWNvbnRlbnQgLmVudHJ5LXRpdGxlLWNvbnQgLmVudHJ5LXRpdGxlLCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgcC5wcmljZSwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIC53b29jb21tZXJjZS1QcmljZS1hbW91bnQuYW1vdW50LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkZCwgc2VjdGlvbi5pbmZvLWNvcHkgLnF1b3RlLWNvbnRlbnQsIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCwgLnNob3ctYXMtaDQsIC5zaG93LWFzLWg1LCBzZWN0aW9uLmFsbC1wcm9kdWN0cyAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtbWV0YSAucHJvZHVjdC10aXRsZSwgLnNob3ctYXMtaDYsIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGlsZSAuZW50cnktY29udGVudCAuZW50cnktdGl0bGUge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5zaG93LWFzLWgxIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93LWFzLWgxIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNob3ctYXMtaDEge1xuICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuLnNob3ctYXMtaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93LWFzLWgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaG93LWFzLWgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuXG4uc2hvdy1hcy1oMywgLnJlc3VsdC1pdGVtIC5lbnRyeS10aXRsZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2hlYWRpbmcgaDMuZ2Zvcm1fdGl0bGUsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRleHQtY2VsbCA+IGgyLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC5lbnRyeS1jb250ZW50IC5lbnRyeS10aXRsZS1jb250IC5lbnRyeS10aXRsZSwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIHAucHJpY2UsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LmFtb3VudCwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZGQsIHNlY3Rpb24uaW5mby1jb3B5IC5xdW90ZS1jb250ZW50LCBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IHAge1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93LWFzLWgzLCAucmVzdWx0LWl0ZW0gLmVudHJ5LXRpdGxlLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGVhZGluZyBoMy5nZm9ybV90aXRsZSwgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGV4dC1jZWxsID4gaDIsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5ncmlkLWNvbnQgLmdyaWQtaXRlbSA+IGFydGljbGUgLmVudHJ5LWNvbnRlbnQgLmVudHJ5LXRpdGxlLWNvbnQgLmVudHJ5LXRpdGxlLCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgcC5wcmljZSwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIC53b29jb21tZXJjZS1QcmljZS1hbW91bnQuYW1vdW50LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkZCwgc2VjdGlvbi5pbmZvLWNvcHkgLnF1b3RlLWNvbnRlbnQsIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCB7XG4gICAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2hvdy1hcy1oMywgLnJlc3VsdC1pdGVtIC5lbnRyeS10aXRsZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2hlYWRpbmcgaDMuZ2Zvcm1fdGl0bGUsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRleHQtY2VsbCA+IGgyLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC5lbnRyeS1jb250ZW50IC5lbnRyeS10aXRsZS1jb250IC5lbnRyeS10aXRsZSwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIHAucHJpY2UsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50LmFtb3VudCwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZGQsIHNlY3Rpb24uaW5mby1jb3B5IC5xdW90ZS1jb250ZW50LCBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IHAge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cblxuLnNob3ctYXMtaDQge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93LWFzLWg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2hvdy1hcy1oNCB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH0gfVxuXG4uc2hvdy1hcy1oNSwgc2VjdGlvbi5hbGwtcHJvZHVjdHMgLmdyaWQtY29udCAuZ3JpZC1pdGVtIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LW1ldGEgLnByb2R1Y3QtdGl0bGUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93LWFzLWg1LCBzZWN0aW9uLmFsbC1wcm9kdWN0cyAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtbWV0YSAucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2hvdy1hcy1oNSwgc2VjdGlvbi5hbGwtcHJvZHVjdHMgLmdyaWQtY29udCAuZ3JpZC1pdGVtIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LW1ldGEgLnByb2R1Y3QtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG5cbi5zaG93LWFzLWg2LCAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUgLmVudHJ5LWNvbnRlbnQgLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaG93LWFzLWg2LCAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUgLmVudHJ5LWNvbnRlbnQgLmVudHJ5LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaG93LWFzLWg2LCAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRpbGUgLmVudHJ5LWNvbnRlbnQgLmVudHJ5LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMXJlbSAwIDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC1uYXZpZ2F0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBvc3QtbmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjVyZW07IH0gfVxuICAucG9zdC1uYXZpZ2F0aW9uIC5wcmV2LWxpbmssIC5wb3N0LW5hdmlnYXRpb24gLm5leHQtbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wb3N0LW5hdmlnYXRpb24gLnByZXYtbGluaywgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOyB9IH1cbiAgICAucG9zdC1uYXZpZ2F0aW9uIC5wcmV2LWxpbmsgPiBhLCAucG9zdC1uYXZpZ2F0aW9uIC5uZXh0LWxpbmsgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLnBvc3QtbmF2aWdhdGlvbiAucHJldi1saW5rID4gYSBpLmZhLCAucG9zdC1uYXZpZ2F0aW9uIC5uZXh0LWxpbmsgPiBhIGkuZmEge1xuICAgICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAucG9zdC1uYXZpZ2F0aW9uIC5uZXh0LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOyB9IH1cbiAgLnBvc3QtbmF2aWdhdGlvbiAudmlldy1hbGwtYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAuYWNmLW1hcCB7XG4gICAgbWluLWhlaWdodDogMjFyZW07IH0gfVxuXG5zZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC5tYXAtZ3JpZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7IH1cblxuc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAubWFwLWNlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gIHBhZGRpbmctcmlnaHQ6IDByZW07IH1cbiAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAubWFwLWNlbGwgPiAuZ3JpZC14IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBzZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC5tYXAtY2VsbCA+IC5ncmlkLXggPiAubWFwLWluZm9ybWF0aW9uIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuXG5zZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC50ZXh0LWNlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbiAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjA4MzMzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi4wODMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24uY29udGVudC1sb2NhdGlvbi1tYXAgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBzZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjM4NTQycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4zODU0MnJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24uY29udGVudC1sb2NhdGlvbi1tYXAgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBzZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIHNlY3Rpb24uY29udGVudC1sb2NhdGlvbi1tYXAgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjAzMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjAzMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIHNlY3Rpb24uY29udGVudC1sb2NhdGlvbi1tYXAgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogMS41NjI1cmVtO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICBzZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCAubG9jYXRpb24tY29udGFjdC1pbmZvID4gc3Bhbi5mYSB7XG4gICAgICBjb2xvcjogIzhGQjVCQzsgfVxuXG5zZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwICsgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbi5jb250ZW50LWxvY2F0aW9uLW1hcCArIHNlY3Rpb24uY29udGVudC1sb2NhdGlvbi1tYXAge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07IH0gfVxuXG4ucGFnZS13cmFwLmhhcy1mb3JtLXdpdGgtYmFja2dyb3VuZCAuZ2Zvcm1fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2Utd3JhcC5oYXMtZm9ybS13aXRoLWJhY2tncm91bmQgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgLnBhZ2Utd3JhcC5oYXMtZm9ybS13aXRoLWJhY2tncm91bmQgLmdmb3JtX3dyYXBwZXI6OmJlZm9yZSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgY29udGVudDogJyAnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgdG9wOiAtMS41cmVtO1xuICAgIGJvdHRvbTogLTEuNXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLXdyYXAuaGFzLWZvcm0td2l0aC1iYWNrZ3JvdW5kIC5nZm9ybV93cmFwcGVyOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC01cmVtO1xuICAgICAgICBib3R0b206IC01cmVtOyB9IH1cblxuLmFkZC10by1jYXJ0IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmFkZC10by1jYXJ0LnZhcmlhYmxlIC50YWJzID4gbGkgPiBhW3JvbGU9dGFiXSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUFQgU2FucyBDYXB0aW9uXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYWRkLXRvLWNhcnQudmFyaWFibGUgLnRhYnMgPiBsaSA+IGFbcm9sZT10YWJdOmhvdmVyLCAuYWRkLXRvLWNhcnQudmFyaWFibGUgLnRhYnMgPiBsaSA+IGFbcm9sZT10YWJdOmZvY3VzLCAuYWRkLXRvLWNhcnQudmFyaWFibGUgLnRhYnMgPiBsaSA+IGFbcm9sZT10YWJdOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFkZC10by1jYXJ0LnZhcmlhYmxlIC50YWJzID4gbGkuaXMtYWN0aXZlID4gYVtyb2xlPXRhYl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzQ4NEY7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmFkZC10by1jYXJ0LnZhcmlhYmxlIC50YWJzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuZGl2LnJldmVhbCB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1heC13aWR0aDogNTdyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXYucmV2ZWFsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBkaXYucmV2ZWFsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnJldmVhbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIGRpdi5yZXZlYWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdi5yZXZlYWwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDZyZW0pOyB9IH1cbiAgZGl2LnJldmVhbC5mb3JtLXJldmVhbCAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW07XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBkaXYucmV2ZWFsLmZvcm0tcmV2ZWFsIC5nZm9ybV93cmFwcGVyIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdmaWVsZF90aW1lX2hvdXIgPiBpLCBkaXYucmV2ZWFsLmZvcm0tcmV2ZWFsIC5nZm9ybV93cmFwcGVyIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdmaWVsZF90aW1lX2hvdXIgPiBsYWJlbCwgZGl2LnJldmVhbC5mb3JtLXJldmVhbCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5nZmllbGRfdGltZV9taW51dGUgPiBpLCBkaXYucmV2ZWFsLmZvcm0tcmV2ZWFsIC5nZm9ybV93cmFwcGVyIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdmaWVsZF90aW1lX21pbnV0ZSA+IGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBkaXYucmV2ZWFsLmZvcm0tcmV2ZWFsIC5nZm9ybV93cmFwcGVyIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYmVsb3cgLmNsZWFyLW11bHRpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDsgfVxuICAgICAgZGl2LnJldmVhbC5mb3JtLXJldmVhbCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5jbGVhci1tdWx0aSA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAgICAgZGl2LnJldmVhbC5mb3JtLXJldmVhbCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5jbGVhci1tdWx0aSA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDByZW07IH1cblxuLmFnZS1jb25maXJtLXJldmVhbCB7XG4gIG1heC13aWR0aDogNTByZW07IH1cbiAgLmFnZS1jb25maXJtLXJldmVhbCAuc2l0ZS1sb2dvLWNvbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5hZ2UtY29uZmlybS1yZXZlYWwgLnNpdGUtbG9nby1jb250IC5zaXRlLWxvZ28ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5hZ2UtY29uZmlybS1yZXZlYWwgLnNpdGUtbG9nby1jb250IC5zaXRlLWxvZ28ge1xuICAgICAgICAgIG1heC13aWR0aDogMzEuMjVyZW07IH0gfVxuICAuYWdlLWNvbmZpcm0tcmV2ZWFsIC5hZ2UtY29uZmlybS1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuYWdlLWNvbmZpcm0tcmV2ZWFsIC5hZ2UtY29uZmlybS1mb3JtIC5sYWJlbC1jZWxsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5hZ2UtY29uZmlybS1yZXZlYWwgLmFnZS1jb25maXJtLWZvcm0gLmxhYmVsLWNlbGwge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5hZ2UtY29uZmlybS1yZXZlYWwgLmFnZS1jb25maXJtLWZvcm0gbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5hZ2UtY29uZmlybS1yZXZlYWwgLmFnZS1jb25maXJtLWZvcm0gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmFnZS1jb25maXJtLXJldmVhbCAuYWdlLWNvbmZpcm0tZm9ybSBidXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgIC5hZ2UtY29uZmlybS1yZXZlYWwgLmFnZS1jb25maXJtLWZvcm0gLmFnZS1jb25maXJtLWVycm9ycyB7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmFnZS1jb25maXJtLXJldmVhbCAuYWdlLWNvbmZpcm0tZm9ybSAuYWdlLWNvbmZpcm0tZXJyb3JzOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTsgfVxuXG4uYnV0dG9uLCBhLmJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sIC53b29jb21tZXJjZSBhLmJ1dHRvbiwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzJFNzI3RjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgbWluLXdpZHRoOiAxMHJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4OyB9XG4gIC5idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5idXR0b246bm90KFtkaXNhYmxlZF0pOmZvY3VzLCBhLmJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGEuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIGEuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAud29vY29tbWVyY2UgYS5idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgYS5idXR0b246bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzQ4NEY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjM0ODRGOyB9XG4gIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uOmRpc2FibGVkLCAuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgYS5idXR0b25bZGlzYWJsZWRdLCBhLmJ1dHRvbjpkaXNhYmxlZCwgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZFtkaXNhYmxlZF0sIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uW2Rpc2FibGVkXSwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uW2Rpc2FibGVkXSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkLCAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF0sIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmFjdGl2ZSwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5idXR0b246ZGlzYWJsZWQ6YWN0aXZlLCAuYnV0dG9uOmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06YWN0aXZlLCAuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cywgYS5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCBhLmJ1dHRvbltkaXNhYmxlZF06YWN0aXZlLCBhLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIGEuYnV0dG9uOmRpc2FibGVkOmhvdmVyLCBhLmJ1dHRvbjpkaXNhYmxlZDphY3RpdmUsIGEuYnV0dG9uOmRpc2FibGVkOmZvY3VzLCBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTphY3RpdmUsIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cywgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF06aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl1bZGlzYWJsZWRdOmFjdGl2ZSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF06Zm9jdXMsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06ZGlzYWJsZWQ6aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06ZGlzYWJsZWQ6YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkOmZvY3VzLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZFtkaXNhYmxlZF06YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cywgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbltkaXNhYmxlZF06YWN0aXZlLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZDphY3RpdmUsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkOmZvY3VzLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTphY3RpdmUsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cywgLndvb2NvbW1lcmNlIGEuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLndvb2NvbW1lcmNlIGEuYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsIC53b29jb21tZXJjZSBhLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkOmZvY3VzLCAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLCAud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cywgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl1bZGlzYWJsZWRdOmhvdmVyLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF06YWN0aXZlLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF06Zm9jdXMsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkOmhvdmVyLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZDphY3RpdmUsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkOmZvY3VzLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkW2Rpc2FibGVkXTphY3RpdmUsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5vdXRsaW5lLCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dFt0eXBlPXN1Ym1pdF0sIGEuYnV0dG9uLm91dGxpbmUsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZSwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ub3V0bGluZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLm91dGxpbmUsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IGlucHV0Om5vdChbZGlzYWJsZWRdKTpob3Zlclt0eXBlPXN1Ym1pdF0sIC5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dDpub3QoW2Rpc2FibGVkXSk6YWN0aXZlW3R5cGU9c3VibWl0XSwgLmJ1dHRvbi5vdXRsaW5lOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXQ6bm90KFtkaXNhYmxlZF0pOmZvY3VzW3R5cGU9c3VibWl0XSwgYS5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGEuYnV0dG9uLm91dGxpbmU6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgYS5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmU6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5vdXRsaW5lOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5vdXRsaW5lOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLndvb2NvbW1lcmNlIGEuYnV0dG9uLm91dGxpbmU6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgYS5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAud29vY29tbWVyY2UgYS5idXR0b24ub3V0bGluZTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmU6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5vdXRsaW5lOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmU6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gICAgICBib3JkZXItY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAuYnV0dG9uLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpob3Zlciwgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXQuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpob3Zlclt0eXBlPXN1Ym1pdF0sIC5idXR0b24ub3V0bGluZS5zZWNvbmRhcnk6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXQuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTphY3RpdmVbdHlwZT1zdWJtaXRdLCAuYnV0dG9uLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpmb2N1cywgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXQuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpmb2N1c1t0eXBlPXN1Ym1pdF0sIGEuYnV0dG9uLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpob3ZlciwgYS5idXR0b24ub3V0bGluZS5zZWNvbmRhcnk6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgYS5idXR0b24ub3V0bGluZS5zZWNvbmRhcnk6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpob3ZlciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5vdXRsaW5lLnNlY29uZGFyeTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpmb2N1cywgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ub3V0bGluZS5zZWNvbmRhcnk6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5vdXRsaW5lLnNlY29uZGFyeTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5vdXRsaW5lLnNlY29uZGFyeTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5vdXRsaW5lLnNlY29uZGFyeTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5vdXRsaW5lLnNlY29uZGFyeTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAud29vY29tbWVyY2UgYS5idXR0b24ub3V0bGluZS5zZWNvbmRhcnk6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5vdXRsaW5lLnNlY29uZGFyeTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmUuc2Vjb25kYXJ5Om5vdChbZGlzYWJsZWRdKTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAuYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmhvdmVyLCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dFtkaXNhYmxlZF06aG92ZXJbdHlwZT1zdWJtaXRdLCAuYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmFjdGl2ZSwgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXRbZGlzYWJsZWRdOmFjdGl2ZVt0eXBlPXN1Ym1pdF0sIC5idXR0b24ub3V0bGluZVtkaXNhYmxlZF06Zm9jdXMsIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IGlucHV0W2Rpc2FibGVkXTpmb2N1c1t0eXBlPXN1Ym1pdF0sIGEuYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmhvdmVyLCBhLmJ1dHRvbi5vdXRsaW5lW2Rpc2FibGVkXTphY3RpdmUsIGEuYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmZvY3VzLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmVbZGlzYWJsZWRdOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm91dGxpbmVbZGlzYWJsZWRdOmFjdGl2ZSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5vdXRsaW5lW2Rpc2FibGVkXTpmb2N1cywgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ub3V0bGluZVtkaXNhYmxlZF06aG92ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24ub3V0bGluZVtkaXNhYmxlZF06Zm9jdXMsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5vdXRsaW5lW2Rpc2FibGVkXTpob3ZlciwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLm91dGxpbmVbZGlzYWJsZWRdOmZvY3VzLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5vdXRsaW5lW2Rpc2FibGVkXTpob3ZlciwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ub3V0bGluZVtkaXNhYmxlZF06YWN0aXZlLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5vdXRsaW5lW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLmludmVydGVkLCBhLmJ1dHRvbi5pbnZlcnRlZCwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZCwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uaW52ZXJ0ZWQsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5pbnZlcnRlZCwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uaW52ZXJ0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RjtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXItd2lkdGg6IDAuMDYyNXJlbTsgfVxuICAgIC5idXR0b24uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAuYnV0dG9uLmludmVydGVkOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC5idXR0b24uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCBhLmJ1dHRvbi5pbnZlcnRlZDpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGEuYnV0dG9uLmludmVydGVkOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIGEuYnV0dG9uLmludmVydGVkOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZDpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmludmVydGVkOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAud29vY29tbWVyY2UgYS5idXR0b24uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgYS5idXR0b24uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLmludmVydGVkOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uaW52ZXJ0ZWQ6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZDpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5pbnZlcnRlZFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaW52ZXJ0ZWRbZGlzYWJsZWRdOmFjdGl2ZSwgLmJ1dHRvbi5pbnZlcnRlZFtkaXNhYmxlZF06Zm9jdXMsIGEuYnV0dG9uLmludmVydGVkW2Rpc2FibGVkXTpob3ZlciwgYS5idXR0b24uaW52ZXJ0ZWRbZGlzYWJsZWRdOmFjdGl2ZSwgYS5idXR0b24uaW52ZXJ0ZWRbZGlzYWJsZWRdOmZvY3VzLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmludmVydGVkW2Rpc2FibGVkXTpob3ZlciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZFtkaXNhYmxlZF06YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmludmVydGVkW2Rpc2FibGVkXTpmb2N1cywgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uaW52ZXJ0ZWRbZGlzYWJsZWRdOmhvdmVyLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5pbnZlcnRlZFtkaXNhYmxlZF06YWN0aXZlLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5pbnZlcnRlZFtkaXNhYmxlZF06Zm9jdXMsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5pbnZlcnRlZFtkaXNhYmxlZF06aG92ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5pbnZlcnRlZFtkaXNhYmxlZF06YWN0aXZlLCAud29vY29tbWVyY2UgYS5idXR0b24uaW52ZXJ0ZWRbZGlzYWJsZWRdOmZvY3VzLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pbnZlcnRlZFtkaXNhYmxlZF06aG92ZXIsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmludmVydGVkW2Rpc2FibGVkXTphY3RpdmUsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmludmVydGVkW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzJFNzI3RjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24ud2hpdGUsIGEuYnV0dG9uLndoaXRlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLndoaXRlLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi53aGl0ZSwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLndoaXRlLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS53aGl0ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAuYnV0dG9uLndoaXRlOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLmJ1dHRvbi53aGl0ZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCAuYnV0dG9uLndoaXRlOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgYS5idXR0b24ud2hpdGU6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCBhLmJ1dHRvbi53aGl0ZTpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCBhLmJ1dHRvbi53aGl0ZTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGU6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLndoaXRlOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGU6bm90KFtkaXNhYmxlZF0pOmZvY3VzLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi53aGl0ZTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLndoaXRlOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLndoaXRlOm5vdChbZGlzYWJsZWRdKTpmb2N1cywgLndvb2NvbW1lcmNlIGEuYnV0dG9uLndoaXRlOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLndoaXRlOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsIC53b29jb21tZXJjZSBhLmJ1dHRvbi53aGl0ZTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLndoaXRlOm5vdChbZGlzYWJsZWRdKTpob3ZlciwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGU6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGU6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7XG4gICAgICBib3JkZXItY29sb3I6ICNkOWQ5ZDk7IH1cbiAgICAuYnV0dG9uLndoaXRlW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06YWN0aXZlLCAuYnV0dG9uLndoaXRlW2Rpc2FibGVkXTpmb2N1cywgYS5idXR0b24ud2hpdGVbZGlzYWJsZWRdOmhvdmVyLCBhLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06YWN0aXZlLCBhLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06Zm9jdXMsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGVbZGlzYWJsZWRdOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLndoaXRlW2Rpc2FibGVkXTphY3RpdmUsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGVbZGlzYWJsZWRdOmZvY3VzLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06aG92ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLndoaXRlW2Rpc2FibGVkXTphY3RpdmUsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLndoaXRlW2Rpc2FibGVkXTpmb2N1cywgLndvb2NvbW1lcmNlIGEuYnV0dG9uLndoaXRlW2Rpc2FibGVkXTpob3ZlciwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLndoaXRlW2Rpc2FibGVkXTphY3RpdmUsIC53b29jb21tZXJjZSBhLmJ1dHRvbi53aGl0ZVtkaXNhYmxlZF06Zm9jdXMsIC53b29jb21tZXJjZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdLndoaXRlW2Rpc2FibGVkXTpob3ZlciwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGVbZGlzYWJsZWRdOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ud2hpdGVbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBjb2xvcjogIzJFNzI3RjsgfVxuXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0LCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGOyB9XG4gIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6aG92ZXIsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6Zm9jdXMsIC53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6YWN0aXZlLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6aG92ZXIsIC53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpmb2N1cywgLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIzNDg0RjsgfVxuXG4uY2FyZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC43cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuZmVhdHVyZWQtaGVyby50aXRsZS1vbmx5ICsgLmJyZWFkY3J1bWItc2VjdGlvbiArIC5wYWdlLXdyYXAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmVhdHVyZWQtaGVyby5oYXMtYmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVyby5oYXMtYmcge1xuICAgICAgbWluLWhlaWdodDogMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvLmhhcy1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVyby5oYXMtYmcge1xuICAgICAgbWluLWhlaWdodDogNDRyZW07IH0gfVxuICAuZmVhdHVyZWQtaGVyby5oYXMtYmc6bm90KC5uby1zaGFkb3cpOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLmZlYXR1cmVkLWhlcm8uaGFzLWJnIC5oZXJvLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmVhdHVyZWQtaGVyby5oYXMtYmcgLmhlcm8tY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZlYXR1cmVkLWhlcm8uaGFzLWJnIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZlYXR1cmVkLWhlcm8uaGFzLWJnIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHJlbTsgfSB9XG4gICAgLmZlYXR1cmVkLWhlcm8uaGFzLWJnIC5oZXJvLWNvbnRlbnQgPiAqIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmZlYXR1cmVkLWhlcm8uaGFzLWJnIC5oZXJvLWNvbnRlbnQgLnBhZ2UtdGl0bGUge1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMnB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjYyKTsgfVxuICAuZmVhdHVyZWQtaGVyby5oYXMtYmcucG9zdDphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuXG4uZmVhdHVyZWQtaGVybyAuaGVyby1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIC5oZXJvLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIC5oZXJvLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVybyAuaGVyby1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8gLmhlcm8tY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8gLmhlcm8tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICAuZmVhdHVyZWQtaGVybyAuaGVyby1jb250ZW50ID4gKiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmVhdHVyZWQtaGVybyAuaGVyby1jb250ZW50IC5wYWdlLXRpdGxlLFxuICAuZmVhdHVyZWQtaGVybyAuaGVyby1jb250ZW50IC5oZWFkZXItdGV4dCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXgtd2lkdGg6IDkwcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZmVhdHVyZWQtaGVybyA+ICoge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZlYXR1cmVkLWhlcm8ucGFnZS1waHAgLmhlcm8tY29udGVudCwgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAgLmhlcm8tY29udGVudCwgLmZlYXR1cmVkLWhlcm8uYXJjaGl2ZS1jYXJlZXItcGhwIC5oZXJvLWNvbnRlbnQsIC5mZWF0dXJlZC1oZXJvLmNvbnRhY3QtcGhwIC5oZXJvLWNvbnRlbnQsIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1wb3N0LXBocCAuaGVyby1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvLnBhZ2UtcGhwIC5oZXJvLWNvbnRlbnQsIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwIC5oZXJvLWNvbnRlbnQsIC5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocCAuaGVyby1jb250ZW50LCAuZmVhdHVyZWQtaGVyby5jb250YWN0LXBocCAuaGVyby1jb250ZW50LCAuZmVhdHVyZWQtaGVyby5zaW5nbGUtcG9zdC1waHAgLmhlcm8tY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07IH0gfVxuXG4uZmVhdHVyZWQtaGVyby5wYWdlLXBocC5oYXMtYmcsIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwLmhhcy1iZywgLmZlYXR1cmVkLWhlcm8uYXJjaGl2ZS1jYXJlZXItcGhwLmhhcy1iZywgLmZlYXR1cmVkLWhlcm8uY29udGFjdC1waHAuaGFzLWJnLCAuZmVhdHVyZWQtaGVyby5zaW5nbGUtcG9zdC1waHAuaGFzLWJnIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbWluLWhlaWdodDogMTEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVyby5wYWdlLXBocC5oYXMtYmcsIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwLmhhcy1iZywgLmZlYXR1cmVkLWhlcm8uYXJjaGl2ZS1jYXJlZXItcGhwLmhhcy1iZywgLmZlYXR1cmVkLWhlcm8uY29udGFjdC1waHAuaGFzLWJnLCAuZmVhdHVyZWQtaGVyby5zaW5nbGUtcG9zdC1waHAuaGFzLWJnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvLnBhZ2UtcGhwLmhhcy1iZywgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAuaGFzLWJnLCAuZmVhdHVyZWQtaGVyby5hcmNoaXZlLWNhcmVlci1waHAuaGFzLWJnLCAuZmVhdHVyZWQtaGVyby5jb250YWN0LXBocC5oYXMtYmcsIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1wb3N0LXBocC5oYXMtYmcge1xuICAgICAgbWluLWhlaWdodDogMjRyZW07IH0gfVxuICAuZmVhdHVyZWQtaGVyby5wYWdlLXBocC5oYXMtYmcgLmhlcm8tY29udGVudCwgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAuaGFzLWJnIC5oZXJvLWNvbnRlbnQsIC5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocC5oYXMtYmcgLmhlcm8tY29udGVudCwgLmZlYXR1cmVkLWhlcm8uY29udGFjdC1waHAuaGFzLWJnIC5oZXJvLWNvbnRlbnQsIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1wb3N0LXBocC5oYXMtYmcgLmhlcm8tY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuXG4uZmVhdHVyZWQtaGVyby5zaW5nbGUtY2FyZWVyLXBocCAuaGVyby1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbWluLWhlaWdodDogMHJlbTsgfVxuICAuZmVhdHVyZWQtaGVyby5zaW5nbGUtY2FyZWVyLXBocCAuaGVyby1jb250ZW50IC5wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAgLmhlcm8tY29udGVudCAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDUwcmVtOyB9IH1cbiAgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAgLmhlcm8tY29udGVudCAuY2FwdGlvbi1saXN0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAgIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwIC5oZXJvLWNvbnRlbnQgLmNhcHRpb24tbGlzdCAuY2FwdGlvbi1saXN0LWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwIC5oZXJvLWNvbnRlbnQgLmNhcHRpb24tbGlzdCAuY2FwdGlvbi1saXN0LWl0ZW0ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAgICAgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAgLmhlcm8tY29udGVudCAuY2FwdGlvbi1saXN0IC5jYXB0aW9uLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwIC5oZXJvLWNvbnRlbnQgLmNhcHRpb24tbGlzdCAuY2FwdGlvbi1saXN0LWl0ZW06OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5mZWF0dXJlZC1oZXJvLnNpbmdsZS1jYXJlZXItcGhwIC5oZXJvLWNvbnRlbnQgLmNhcHRpb24tbGlzdCAuY2FwdGlvbi1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDByZW07IH1cbiAgICAgICAgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAgLmhlcm8tY29udGVudCAuY2FwdGlvbi1saXN0IC5jYXB0aW9uLWxpc3QtaXRlbTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmVhdHVyZWQtaGVyby5zaW5nbGUtY2FyZWVyLXBocC5oYXMtYmcge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmVhdHVyZWQtaGVyby5zaW5nbGUtY2FyZWVyLXBocC5oYXMtYmcgLmhlcm8tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLWNhcmVlci1waHAuaGFzLWJnIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuZmVhdHVyZWQtaGVyby5zaW5nbGUtY2FyZWVyLXBocC5oYXMtYmcgLmhlcm8tY29udGVudCAuY2FwdGlvbi1saXN0IHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuZmVhdHVyZWQtaGVyby5zaW5nbGUtY2FyZWVyLXBocC5oYXMtYmcgLmhlcm8tY29udGVudCAuY2FwdGlvbi1saXN0IC5jYXB0aW9uLWxpc3QtaXRlbTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5cbi5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocCAuaGVyby1jb250ZW50LCAuZmVhdHVyZWQtaGVyby5jb250YWN0LXBocCAuaGVyby1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocCAuaGVyby1jb250ZW50LCAuZmVhdHVyZWQtaGVyby5jb250YWN0LXBocCAuaGVyby1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNXJlbTsgfSB9XG5cbi5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocC5oYXMtYmcsIC5mZWF0dXJlZC1oZXJvLmNvbnRhY3QtcGhwLmhhcy1iZyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1pbi1oZWlnaHQ6IDExLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8uYXJjaGl2ZS1jYXJlZXItcGhwLmhhcy1iZywgLmZlYXR1cmVkLWhlcm8uY29udGFjdC1waHAuaGFzLWJnIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocC5oYXMtYmcsIC5mZWF0dXJlZC1oZXJvLmNvbnRhY3QtcGhwLmhhcy1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiAyNHJlbTsgfSB9XG4gIC5mZWF0dXJlZC1oZXJvLmFyY2hpdmUtY2FyZWVyLXBocC5oYXMtYmcgLmhlcm8tY29udGVudCwgLmZlYXR1cmVkLWhlcm8uY29udGFjdC1waHAuaGFzLWJnIC5oZXJvLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuXG4uZmVhdHVyZWQtaGVyby5zaW5nbGUtcG9zdC1waHAuaGFzLWJnIHtcbiAgbWluLWhlaWdodDogMTByZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVyby5zaW5nbGUtcG9zdC1waHAuaGFzLWJnIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE0LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8uc2luZ2xlLXBvc3QtcGhwLmhhcy1iZyB7XG4gICAgICBtaW4taGVpZ2h0OiAyMnJlbTsgfSB9XG5cbi5mZWF0dXJlZC1oZXJvLmhvbWVwYWdlLWhlcm8ge1xuICBtaW4taGVpZ2h0OiAyMS44NzVyZW07IH1cbiAgLmZlYXR1cmVkLWhlcm8uaG9tZXBhZ2UtaGVyby5oYXMtYmc6bm90KC5uby1zaGFkb3cpOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZlYXR1cmVkLWhlcm8uaG9tZXBhZ2UtaGVyby5oYXMtYmc6bm90KC5uby1zaGFkb3cpOjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMjAuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwLjgpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8uaG9tZXBhZ2UtaGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiAyOHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8uaG9tZXBhZ2UtaGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiA0NHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVyby5ob21lcGFnZS1oZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8uaG9tZXBhZ2UtaGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiA2Mi4yNXJlbTsgfSB9XG4gIC5mZWF0dXJlZC1oZXJvLmhvbWVwYWdlLWhlcm8gLmhlcm8tY29udGVudCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZlYXR1cmVkLWhlcm8uaG9tZXBhZ2UtaGVybyAuaGVyby1jb250ZW50IC5wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4wNzY5MjMwNzY5OyB9XG4gICAgICAuZmVhdHVyZWQtaGVyby5ob21lcGFnZS1oZXJvIC5oZXJvLWNvbnRlbnQgLnBhZ2UtdGl0bGUgPiBlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mZWF0dXJlZC1oZXJvLmhvbWVwYWdlLWhlcm8gLmhlcm8tY29udGVudCAucGFnZS10aXRsZSA+IGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5mZWF0dXJlZC1oZXJvLmhvbWVwYWdlLWhlcm8gLmhlcm8tY29udGVudCAucGFnZS10aXRsZSA+IGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtOyB9IH1cbiAgICAuZmVhdHVyZWQtaGVyby5ob21lcGFnZS1oZXJvIC5oZXJvLWNvbnRlbnQgLnBhZ2Utc3ViLXRpdGxlIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmVhdHVyZWQtaGVyby5ob21lcGFnZS1oZXJvIC5oZXJvLWNvbnRlbnQgLnBhZ2Utc3ViLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMC4xMjVyZW0gMS4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuNjIpOyB9IH1cblxuLmRvdHRlZCwgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBtYXJnaW46IDJyZW0gMDsgfVxuXG51bC5ob3Jpem9udGFsLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMHJlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICB1bC5ob3Jpem9udGFsLWxpc3QgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDByZW0gMC4yNXJlbTsgfVxuICB1bC5ob3Jpem9udGFsLWxpc3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuXG51bC5zb2NpYWwtaWNvbi1saXN0IGEuc29jaWFsLWxpbmsgLmZhIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbnVsLnNvY2lhbC1pY29uLWxpc3QgYS5zb2NpYWwtbGluazpob3ZlciwgdWwuc29jaWFsLWljb24tbGlzdCBhLnNvY2lhbC1saW5rOmZvY3VzLCB1bC5zb2NpYWwtaWNvbi1saXN0IGEuc29jaWFsLWxpbms6YWN0aXZlIHtcbiAgb3BhY2l0eTogMC42OyB9XG5cbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyBbZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmEge1xuICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG4gIG9wYWNpdHk6IDE7IH1cbiAgYS5yZWctbGluaywgLmVudHJ5LWNvbnRlbnQgYTpub3QoLmJ1dHRvbiksIHAgYTpub3QoLmJ1dHRvbiksIC5mb290ZXIgLnN1YmZvb3Rlci1jb250YWluZXIgYSwgLnBvc3QtbmF2aWdhdGlvbiAucHJldi1saW5rID4gYSwgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rID4gYSwgLnJldmVhbCBhOm5vdCguYnV0dG9uKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMyQzJDMkM7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDQ0LCA0NCwgNDQsIDAuNSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICAgIHotaW5kZXg6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNTsgfVxuICAgIGEucmVnLWxpbms6YmVmb3JlLCAuZW50cnktY29udGVudCBhOm5vdCguYnV0dG9uKTpiZWZvcmUsIHAgYTpub3QoLmJ1dHRvbik6YmVmb3JlLCAuZm9vdGVyIC5zdWJmb290ZXItY29udGFpbmVyIGE6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uIC5wcmV2LWxpbmsgPiBhOmJlZm9yZSwgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rID4gYTpiZWZvcmUsIC5yZXZlYWwgYTpub3QoLmJ1dHRvbik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDAlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgYS5yZWctbGluazpob3ZlciwgLmVudHJ5LWNvbnRlbnQgYTpob3Zlcjpub3QoLmJ1dHRvbiksIHAgYTpob3Zlcjpub3QoLmJ1dHRvbiksIC5mb290ZXIgLnN1YmZvb3Rlci1jb250YWluZXIgYTpob3ZlciwgLnBvc3QtbmF2aWdhdGlvbiAucHJldi1saW5rID4gYTpob3ZlciwgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rID4gYTpob3ZlciwgLnJldmVhbCBhOmhvdmVyOm5vdCguYnV0dG9uKSwgYS5yZWctbGluazpmb2N1cywgLmVudHJ5LWNvbnRlbnQgYTpmb2N1czpub3QoLmJ1dHRvbiksIHAgYTpmb2N1czpub3QoLmJ1dHRvbiksIC5mb290ZXIgLnN1YmZvb3Rlci1jb250YWluZXIgYTpmb2N1cywgLnBvc3QtbmF2aWdhdGlvbiAucHJldi1saW5rID4gYTpmb2N1cywgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rID4gYTpmb2N1cywgLnJldmVhbCBhOmZvY3VzOm5vdCguYnV0dG9uKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzIwNTA1YTsgfVxuICAgICAgYS5yZWctbGluazpob3ZlcjpiZWZvcmUsIC5lbnRyeS1jb250ZW50IGE6bm90KC5idXR0b24pOmhvdmVyOmJlZm9yZSwgcCBhOm5vdCguYnV0dG9uKTpob3ZlcjpiZWZvcmUsIC5mb290ZXIgLnN1YmZvb3Rlci1jb250YWluZXIgYTpob3ZlcjpiZWZvcmUsIC5wb3N0LW5hdmlnYXRpb24gLnByZXYtbGluayA+IGE6aG92ZXI6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uIC5uZXh0LWxpbmsgPiBhOmhvdmVyOmJlZm9yZSwgLnJldmVhbCBhOm5vdCguYnV0dG9uKTpob3ZlcjpiZWZvcmUsIGEucmVnLWxpbms6Zm9jdXM6YmVmb3JlLCAuZW50cnktY29udGVudCBhOm5vdCguYnV0dG9uKTpmb2N1czpiZWZvcmUsIHAgYTpub3QoLmJ1dHRvbik6Zm9jdXM6YmVmb3JlLCAuZm9vdGVyIC5zdWJmb290ZXItY29udGFpbmVyIGE6Zm9jdXM6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uIC5wcmV2LWxpbmsgPiBhOmZvY3VzOmJlZm9yZSwgLnBvc3QtbmF2aWdhdGlvbiAubmV4dC1saW5rID4gYTpmb2N1czpiZWZvcmUsIC5yZXZlYWwgYTpub3QoLmJ1dHRvbik6Zm9jdXM6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7IH1cbiAgYS5zaWxlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBhLmFycm93LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgYS5hcnJvdy1saW5rOmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgY29udGVudDogJ1xcZjE3OCc7XG4gICAgICBjb2xvcjogIzJFNzI3RjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA5cHgpO1xuICAgICAgYm90dG9tOiBjYWxjKDUwJSAtIDlweCk7XG4gICAgICByaWdodDogLTFyZW07XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7IH1cbiAgICBhLmFycm93LWxpbms6aG92ZXI6YWZ0ZXIsIGEuYXJyb3ctbGluazpmb2N1czphZnRlciwgYS5hcnJvdy1saW5rOmFjdGl2ZTphZnRlciB7XG4gICAgICByaWdodDogLTJyZW07IH1cblxuYS5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA3Mi41JTtcbiAgbWluLWhlaWdodDogMTVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBhLmltYWdlLWxpbmsgLmltYWdlLWxpbmstY29udCAuaW1hZ2UtYmcge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDByZW07XG4gICAgYm90dG9tOiAwcmVtO1xuICAgIGxlZnQ6IDByZW07XG4gICAgcmlnaHQ6IDByZW07XG4gICAgei1pbmRleDogMDsgfVxuICBhLmltYWdlLWxpbmsgLmltYWdlLWxpbmstY29udCAub3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDByZW07XG4gICAgYm90dG9tOiAwcmVtO1xuICAgIGxlZnQ6IDByZW07XG4gICAgcmlnaHQ6IDByZW07XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG4gICAgYS5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmltYWdlLWxpbmstY29udGVudCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgYS5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuXG5hLmltYWdlLWxpbms6aG92ZXIgLmltYWdlLWJnLCBhLmltYWdlLWxpbms6Zm9jdXMgLmltYWdlLWJnLCBhLmltYWdlLWxpbms6YWN0aXZlIC5pbWFnZS1iZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuXG4uYnJlYWRjcnVtYi1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAuYnJlYWRjcnVtYi1zZWN0aW9uIHVsLmJyZWFkY3J1bWJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmJyZWFkY3J1bWItc2VjdGlvbiB1bC5icmVhZGNydW1icyB7XG4gICAgICAgIHBhZGRpbmc6IDIuMTI1cmVtIDA7IH0gfVxuICAgIC5icmVhZGNydW1iLXNlY3Rpb24gdWwuYnJlYWRjcnVtYnMgPiBsaSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2FucyBDYXB0aW9uXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1NzE0O1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5icmVhZGNydW1iLXNlY3Rpb24gdWwuYnJlYWRjcnVtYnMgPiBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICAuYnJlYWRjcnVtYi1zZWN0aW9uIHVsLmJyZWFkY3J1bWJzID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAuYnJlYWRjcnVtYi1zZWN0aW9uIHVsLmJyZWFkY3J1bWJzID4gbGkgPiBhOmhvdmVyLCAuYnJlYWRjcnVtYi1zZWN0aW9uIHVsLmJyZWFkY3J1bWJzID4gbGkgPiBhOmZvY3VzLCAuYnJlYWRjcnVtYi1zZWN0aW9uIHVsLmJyZWFkY3J1bWJzID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAgIC5icmVhZGNydW1iLXNlY3Rpb24gdWwuYnJlYWRjcnVtYnMgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmJyZWFkY3J1bWItc2VjdGlvbiB1bC5icmVhZGNydW1icyA+IGxpOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAuYnJlYWRjcnVtYi1zZWN0aW9uIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgbWFyZ2luOiAwIDAuNXJlbTsgfVxuICAuYnJlYWRjcnVtYi1zZWN0aW9uLnNlYXJjaC1yZXN1bHRzLWJyZWFkY3J1bWJzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5icmVhZGNydW1iLXNlY3Rpb24uc2VhcmNoLXJlc3VsdHMtYnJlYWRjcnVtYnMgPiAuZ3JpZC1jb250YWluZXIsIC5lcnJvcjQwNCAuYm9keS1tYWluIC5icmVhZGNydW1iLXNlY3Rpb24uc2VhcmNoLXJlc3VsdHMtYnJlYWRjcnVtYnMgPiAjY29udGVudC53aWRlY29sdW1uIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLmJyZWFkY3J1bWItc2VjdGlvbi5zZWFyY2gtcmVzdWx0cy1icmVhZGNydW1icyB1bC5icmVhZGNydW1icyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yZXZlYWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiA0cmVtIDEuNXJlbSAxLjVyZW0gMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBwYWRkaW5nOiA0cmVtIDJyZW0gMnJlbSAycmVtOyB9IH1cbiAgLnJldmVhbCBidXR0b24uY2xvc2UtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAucmV2ZWFsIGJ1dHRvbi5jbG9zZS1idXR0b246Zm9jdXMsIC5yZXZlYWwgYnV0dG9uLmNsb3NlLWJ1dHRvbjpob3ZlciwgLnJldmVhbCBidXR0b24uY2xvc2UtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmNhcHRpb24sIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGR0IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnMgQ2FwdGlvblwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2FwdGlvbiwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZHQge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbi5oZWFkaW5nLXVuZGVybGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGluZy11bmRlcmxpbmU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgYm90dG9tOiAtMS43NXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5hY2YtbWFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTIuNXJlbTsgfVxuXG4ubWFwLWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tYXAtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMi41cmVtO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uZnJvbnQtaGVybyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2Z1wiKSBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIHBhZGRpbmc6IDQuMDYyNXJlbSAwO1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgbWF4LXdpZHRoOiA1NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LWhlcm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnXCIpIGJvdHRvbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0Mi44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgNC41cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gLndhdGNoIHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGEge1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3N0YXJnYXplcnMgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3R3aXR0ZXIgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC50YWdsaW5lIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDZyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAuZnJvbnQtaGVybyAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmludHJvIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pbnRybyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5pbnRybyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5pbnRybyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjA2MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTsgfSB9XG4gIC5pbnRybyAuZnAtaW50cm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW50cm8gLmZwLWludHJvIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cbiAgICAgICAgLmludHJvIC5mcC1pbnRybyBoMiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAgICAgLmludHJvIC5mcC1pbnRybyBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zZWN0aW9uLWRpdmlkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07IH0gfVxuICAuc2VjdGlvbi1kaXZpZGVyIGhyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4xMjVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uYmVuZWZpdHMge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJlbmVmaXRzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07IH0gfVxuICAuYmVuZWZpdHMgaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4xMjVyZW07IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgLmJlbmVmaXRzIC5zZW1hbnRpYyxcbiAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAgICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAgICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUsXG4gICAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5iZW5lZml0cyAuc2VtYW50aWMgaW1nLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaW1nLFxuICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBoMyxcbiAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUgaDMsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaDMsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBwLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBwLFxuICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlIHAsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgcCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYmVuZWZpdHMgLndoeS1mb3VuZGF0aW9uIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4xMjVyZW07XG4gICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4ua2l0Y2hlbi1zaW5rLWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMTI1cmVtOyB9XG5cbi5raXRjaGVuLXNpbmstY29tcG9uZW50cyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5raXRjaGVuLXNpbmstY29tcG9uZW50cyBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAua2l0Y2hlbi1zaW5rLWNvbXBvbmVudHMge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMi4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMTI1cmVtOyB9IH1cblxuLmtpdGNoZW4tc2luay1uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmtpdGNoZW4tc2luay1uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMi4yNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMTI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXN1Yi1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAua2l0Y2hlbi1zaW5rLW5hdiAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogIzJDMkMyQztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzYyNjI2MjtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIC5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjE5OWU4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXRvYyAuZG9jcy1zdWItbWVudTpmaXJzdC1jaGlsZCAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCB7XG4gIGJhY2tncm91bmQ6ICNkNmVjZmE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCAuY2VsbCwgLmtpdGNoZW4tc2luay1ncmlkIC5ncmlkLXggOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2JjMWVmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5raXRjaGVuLXNpbmstZ3JpZCAuZ3JpZC14IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udHlwZS1lcnJvciB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50eXBlLWVycm9yIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1LjMxMjVyZW07IH0gfVxuICAudHlwZS1lcnJvciAuZW50cnktdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gIC50eXBlLWVycm9yIGhyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnR5cGUtZXJyb3IgaHIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLnR5cGUtZXJyb3IgLmVudHJ5LWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMzcuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDk1JTsgfVxuICAgIC50eXBlLWVycm9yIC5lbnRyeS1jb250ZW50IHVsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudHlwZS1lcnJvciAuZW50cnktY29udGVudCB1bCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH0gfVxuICAgICAgLnR5cGUtZXJyb3IgLmVudHJ5LWNvbnRlbnQgdWwgbGkgPiBhIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLnR5cGUtZXJyb3IgLmJvdHRvbSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudHlwZS1lcnJvciAuYm90dG9tIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07IH0gfVxuICAudHlwZS1lcnJvciAuZXJyb3Igc3BhbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMkU3MjdGO1xuICAgIGZvbnQtc2l6ZTogMTByZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnR5cGUtZXJyb3IgLmVycm9yIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnR5cGUtZXJyb3IgLmVycm9yIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDIwcmVtOyB9IH1cbiAgLnR5cGUtZXJyb3IgLmluZm8tYmxvY2sgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDByZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGV4dC1jZWxsID4gaDIsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRleHQtY2VsbCA+IGgzLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuYXJjaGl2ZS10ZXh0LWNlbGwgPiBoNCwgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGV4dC1jZWxsID4gaDUsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRleHQtY2VsbCA+IGg2IHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmFyY2hpdmUtdGV4dC1jZWxsID4gcCB7XG4gICAgY29sb3I6ICM2MjYyNjI7XG4gICAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5hcmNoaXZlLXRleHQtY2VsbCA+IHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCAuY2FyZWVyLWxpc3QtY29udCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCAuY2FyZWVyLWxpc3QtY29udCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC44MzMzM3JlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC44MzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5jYXJlZXItbGluay1jZWxsIC5jYXJlZXItbGlzdC1jb250IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCAuY2FyZWVyLWxpc3QtY29udCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgLmNhcmVlci1saXN0LWNvbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMzU0MTdyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMzU0MTdyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCAuY2FyZWVyLWxpc3QtY29udCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjgzMzMzcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC44MzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5jYXJlZXItbGluay1jZWxsIC5jYXJlZXItbGlzdC1jb250IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCAuY2FyZWVyLWxpc3QtY29udCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgLmNhcmVlci1saXN0LWNvbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4zNTQxN3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMzU0MTdyZW07IH0gfVxuICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCAuY2FwdGlvbiwgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZHQsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGR0IHtcbiAgICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgdWwuY2FyZWVycy1saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDByZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwcmVtOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgdWwuY2FyZWVycy1saXN0ID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5jYXJlZXItbGluay1jZWxsIHVsLmNhcmVlcnMtbGlzdCA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDQ2LCAxMTQsIDEyNywgMC4yKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbSAxcmVtIDAuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNTtcbiAgICAgICAgY29sb3I6ICMyQzJDMkM7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBsYXlmYWlyIERpc3BsYXlcIiwgXCJQVCBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgdWwuY2FyZWVycy1saXN0ID4gbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5jYXJlZXItbGluay1jZWxsIHVsLmNhcmVlcnMtbGlzdCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDUnO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuY2FyZWVyIC5hcmNoaXZlLWNvbnRlbnQgLmNhcmVlci1saW5rLWNlbGwgdWwuY2FyZWVycy1saXN0ID4gbGkgPiBhOmhvdmVyLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5jYXJlZXIgLmFyY2hpdmUtY29udGVudCAuY2FyZWVyLWxpbmstY2VsbCB1bC5jYXJlZXJzLWxpc3QgPiBsaSA+IGE6Zm9jdXMsIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciAuYXJjaGl2ZS1jb250ZW50IC5jYXJlZXItbGluay1jZWxsIHVsLmNhcmVlcnMtbGlzdCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEVERjA7IH1cblxuLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IGhlYWRlciA+IC5jZWxsID4gLmVudHJ5LXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgaGVhZGVyID4gLmNlbGwgPiAuZW50cnktdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmZpbHRlci1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5maWx0ZXItY2VsbCA+IC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZmlsdGVyLWNlbGwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmZpbHRlci1jZWxsID4gLmNhcHRpb24sIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscy5maWx0ZXItY2VsbCA+IGR0LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMuZmlsdGVyLWNlbGwgPiBkdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmZpbHRlci1jZWxsID4gLnNlbGVjdC13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG5cbi5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5ncmlkLWNvbnQgLmdyaWQtaXRlbSA+IGFydGljbGUgLnRpbGUtcmVzdWx0LWxpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RkNGRDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC50aWxlLXJlc3VsdC1saW5rIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI2LjVyZW07IH0gfVxuICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC50aWxlLXJlc3VsdC1saW5rOmhvdmVyLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC50aWxlLXJlc3VsdC1saW5rOmZvY3VzLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC50aWxlLXJlc3VsdC1saW5rOmFjdGl2ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJFNzI3RjsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5ncmlkLWNvbnQgLmdyaWQtaXRlbSA+IGFydGljbGUgLnRpbGUtcmVzdWx0LWxpbms6aG92ZXIgLmZha2UtbGluaywgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmdyaWQtY29udCAuZ3JpZC1pdGVtID4gYXJ0aWNsZSAudGlsZS1yZXN1bHQtbGluazpmb2N1cyAuZmFrZS1saW5rLCAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC50aWxlLXJlc3VsdC1saW5rOmFjdGl2ZSAuZmFrZS1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzQ4NEY7IH1cblxuLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmdyaWQtY29udCAuZ3JpZC1pdGVtID4gYXJ0aWNsZSAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDVyZW07XG4gIG1heC1oZWlnaHQ6IDEwcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmdyaWQtY29udCAuZ3JpZC1pdGVtID4gYXJ0aWNsZSAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDkuMTI1cmVtO1xuICAgICAgbWF4LWhlaWdodDogMTEuMjVyZW07IH0gfVxuXG4ucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC5lbnRyeS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmdyaWQtY29udCAuZ3JpZC1pdGVtID4gYXJ0aWNsZSAuZW50cnktY29udGVudCAuZW50cnktdGl0bGUtY29udCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmdyaWQtY29udCAuZ3JpZC1pdGVtID4gYXJ0aWNsZSAuZW50cnktY29udGVudCAuZW50cnktdGl0bGUtY29udCAuZW50cnktdGl0bGUge1xuICAgICAgY29sb3I6ICMyRTcyN0Y7IH1cbiAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5ldmVudCAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gPiBhcnRpY2xlIC5lbnRyeS1jb250ZW50IC5lbnRyeS10aXRsZS1jb250IHRpbWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41M3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IC5ncmlkLWNvbnQgLmdyaWQtaXRlbSA+IGFydGljbGUgLmVudHJ5LWNvbnRlbnQgLmVudHJ5LXRpdGxlLWNvbnQgdGltZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmdyaWQtY29udCAuZ3JpZC1pdGVtID4gYXJ0aWNsZSAuZW50cnktY29udGVudCAuZmFrZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUuZXZlbnQgLmxvYWQtbW9yZS1jb250IHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLnBvc3QgLnBhZ2UtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5wb3N0IC5wYWdlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLnBvc3QgLnBhZ2UtdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUucG9zdCAucGFnZS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5wb3N0IC5wYWdlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjA2MjVyZW07IH0gfVxuXG4ucGFnZS13cmFwLnR5cGUtYXJjaGl2ZS5wb3N0IC5wb3N0LWFyY2hpdmUtc2VjdGlvbiArIHNlY3Rpb24ucGFnZS1uYXZpZ2F0aW9uIHtcbiAgcGFkZGluZy10b3A6IDByZW07IH1cblxuLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUucG9zdCAuZW50cnktY29udGVudCAuZW50cnktdGl0bGUtY29udCB7XG4gIHdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLWxvY2F0aW9uIHNlY3Rpb24uZ29vZ2xlLW1hcC13aXRoLW1ldGEgLm1ldGEtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbmRpdi5wYWdlLXdyYXAudHlwZS1sb2NhdGlvbiBzZWN0aW9uLmdvb2dsZS1tYXAtd2l0aC1tZXRhIC5zZWN0aW9uLXRpdGxlIHtcbiAgY29sb3I6ICMyRTcyN0Y7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLWxvY2F0aW9uIHNlY3Rpb24uZ29vZ2xlLW1hcC13aXRoLW1ldGEgLmFkZHJlc3Mge1xuICBjb2xvcjogIzYyNjI2MjtcbiAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcC50eXBlLWxvY2F0aW9uIHNlY3Rpb24uZ29vZ2xlLW1hcC13aXRoLW1ldGEgLmFkZHJlc3Mge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLWxvY2F0aW9uIHNlY3Rpb24uZ29vZ2xlLW1hcC13aXRoLW1ldGEgLmFjZi1tYXAsIGRpdi5wYWdlLXdyYXAudHlwZS1sb2NhdGlvbiBzZWN0aW9uLmdvb2dsZS1tYXAtd2l0aC1tZXRhIC5tYXAtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAzMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1sb2NhdGlvbiBzZWN0aW9uLmdvb2dsZS1tYXAtd2l0aC1tZXRhIC5hY2YtbWFwLCBkaXYucGFnZS13cmFwLnR5cGUtbG9jYXRpb24gc2VjdGlvbi5nb29nbGUtbWFwLXdpdGgtbWV0YSAubWFwLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1sb2NhdGlvbiBzZWN0aW9uLmdvb2dsZS1tYXAtd2l0aC1tZXRhIC5hY2YtbWFwLCBkaXYucGFnZS13cmFwLnR5cGUtbG9jYXRpb24gc2VjdGlvbi5nb29nbGUtbWFwLXdpdGgtbWV0YSAubWFwLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDU2MHB4OyB9IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLWxvY2F0aW9uIHNlY3Rpb24uZ29vZ2xlLW1hcC13aXRoLW1ldGEgLm1hcC1pbWFnZSB7XG4gIGhlaWdodDogMzIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtbG9jYXRpb24gc2VjdGlvbi5nb29nbGUtbWFwLXdpdGgtbWV0YSAubWFwLWltYWdlIHtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcC50eXBlLWxvY2F0aW9uIHNlY3Rpb24uZ29vZ2xlLW1hcC13aXRoLW1ldGEgLm1hcC1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDU2MHB4OyB9IH1cblxuLnBhZ2Utd3JhcC5zaW5nbGUtZXZlbnQtd3JhcHBlciAuZmVhdHVyZWQtaGVyby5ldmVudC5oYXMtYmcge1xuICBtaW4taGVpZ2h0OiAxMi41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2Utd3JhcC5zaW5nbGUtZXZlbnQtd3JhcHBlciAuZmVhdHVyZWQtaGVyby5ldmVudC5oYXMtYmcge1xuICAgICAgbWluLWhlaWdodDogMjJyZW07IH0gfVxuICAucGFnZS13cmFwLnNpbmdsZS1ldmVudC13cmFwcGVyIC5mZWF0dXJlZC1oZXJvLmV2ZW50Lmhhcy1iZzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS13cmFwLnNpbmdsZS1ldmVudC13cmFwcGVyIC5mZWF0dXJlZC1oZXJvLmV2ZW50Lmhhcy1iZyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjgxMjVyZW07IH0gfVxuXG4ucGFnZS13cmFwLnR5cGUtY2FyZWVyIC5icmVhZGNydW1iLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5wYWdlLXdyYXAudHlwZS1jYXJlZXIgPiBwIHtcbiAgcGFkZGluZy10b3A6IDByZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1jYXJlZXIgPiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuXG5kaXYucGFnZS13cmFwLnR5cGUtcG9zdC5zaW5nbGUtcG9zdC13cmFwcGVyIC5icmVhZGNydW1iLXNlY3Rpb24gdWwuYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMC45MjMwOHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtcG9zdC5zaW5nbGUtcG9zdC13cmFwcGVyIC5icmVhZGNydW1iLXNlY3Rpb24gdWwuYnJlYWRjcnVtYnMge1xuICAgICAgcGFkZGluZy10b3A6IDEuNTM4NDZyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIgLmJyZWFkY3J1bWItc2VjdGlvbiB1bC5icmVhZGNydW1icyB7XG4gICAgICBwYWRkaW5nLXRvcDogMS44NDYxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtcG9zdC5zaW5nbGUtcG9zdC13cmFwcGVyIC5icmVhZGNydW1iLXNlY3Rpb24gdWwuYnJlYWRjcnVtYnMge1xuICAgICAgcGFkZGluZy10b3A6IDEuODQ2MTVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcC50eXBlLXBvc3Quc2luZ2xlLXBvc3Qtd3JhcHBlciAuYnJlYWRjcnVtYi1zZWN0aW9uIHVsLmJyZWFkY3J1bWJzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH0gfVxuXG5kaXYucGFnZS13cmFwLnR5cGUtcG9zdC5zaW5nbGUtcG9zdC13cmFwcGVyIC5icmVhZGNydW1iLXNlY3Rpb24gPiAuZ3JpZC1jb250YWluZXIsIGRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIgLmVycm9yNDA0IC5ib2R5LW1haW4gLmJyZWFkY3J1bWItc2VjdGlvbiA+ICNjb250ZW50LndpZGVjb2x1bW4sIC5lcnJvcjQwNCAuYm9keS1tYWluIGRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIgLmJyZWFkY3J1bWItc2VjdGlvbiA+ICNjb250ZW50LndpZGVjb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gIHBhZGRpbmctcmlnaHQ6IDByZW07IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLXBvc3Quc2luZ2xlLXBvc3Qtd3JhcHBlciAuZmVhdHVyZWQtaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gIHBhZGRpbmctcmlnaHQ6IDByZW07XG4gIHBhZGRpbmctdG9wOiAwLjkyMzA4cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45MjMwOHJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIgLmZlYXR1cmVkLWltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjUzODQ2cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNTM4NDZyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIgLmZlYXR1cmVkLWltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjg0NjE1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODQ2MTVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcC50eXBlLXBvc3Quc2luZ2xlLXBvc3Qtd3JhcHBlciAuZmVhdHVyZWQtaW1hZ2UtZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDEuODQ2MTVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NDYxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtcG9zdC5zaW5nbGUtcG9zdC13cmFwcGVyIC5mZWF0dXJlZC1pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG5cbmRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIgLnBvc3QtbWV0YS1jb250IHRpbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMyRTcyN0Y7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG5kaXYucGFnZS13cmFwLnR5cGUtcG9zdC5zaW5nbGUtcG9zdC13cmFwcGVyIC5wb3N0LW1ldGEtY29udCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLXBvc3Quc2luZ2xlLXBvc3Qtd3JhcHBlciAucG9zdC1tZXRhLWNvbnQgLmF1dGhvciB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLnNpbmdsZS1wb3N0LXBvc3RuYXYtY29udCAucG9zdC1uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC45MjMwOHJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaW5nbGUtcG9zdC1wb3N0bmF2LWNvbnQgLnBvc3QtbmF2aWdhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjUzODQ2cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QtcG9zdG5hdi1jb250IC5wb3N0LW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMS44NDYxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QtcG9zdG5hdi1jb250IC5wb3N0LW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMS44NDYxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuc2luZ2xlLXBvc3QtcG9zdG5hdi1jb250IC5wb3N0LW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cbiAgLnNpbmdsZS1wb3N0LXBvc3RuYXYtY29udCAucG9zdC1uYXZpZ2F0aW9uID4gLmdyaWQtY29udGFpbmVyLCAuc2luZ2xlLXBvc3QtcG9zdG5hdi1jb250IC5lcnJvcjQwNCAuYm9keS1tYWluIC5wb3N0LW5hdmlnYXRpb24gPiAjY29udGVudC53aWRlY29sdW1uLCAuZXJyb3I0MDQgLmJvZHktbWFpbiAuc2luZ2xlLXBvc3QtcG9zdG5hdi1jb250IC5wb3N0LW5hdmlnYXRpb24gPiAjY29udGVudC53aWRlY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gICAgcGFkZGluZy1yaWdodDogMHJlbTsgfVxuXG4ucGFnZS13cmFwLnR5cGUtcGFnZS5nZW5lcmljLXBhZ2UgLmJyZWFkY3J1bWItc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLnBhZ2Utd3JhcC50eXBlLXBhZ2UuZ2VuZXJpYy1wYWdlID4gcCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAucGFnZS13cmFwLnR5cGUtcGFnZS5nZW5lcmljLXBhZ2UgPiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNS41cmVtOyB9XG5cbi5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC1wb3N0LXRpbGUgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDEuNjY2NjdyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjcwODMzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNzA4MzNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudCAuY2FwdGlvbiwgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGR0LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZHQge1xuICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudCAucHVibGlzaC1kYXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudCAuZW50cnktdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IC5leGNlcnB0IHtcbiAgICBjb2xvcjogIzYyNjI2MjtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjA2MjVyZW07IH1cbiAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50IC5mYWtlLWxpbms6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysgJzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmNvbnRlbnQtcG9zdC10aWxlIC5lbnRyeS1jb250ZW50Lmhhcy1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC1wb3N0LXRpbGUgLmVudHJ5LWNvbnRlbnQuaGFzLWltYWdlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudC5oYXMtaW1hZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudC5oYXMtaW1hZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5jb250ZW50LXBvc3QtdGlsZSAuZW50cnktY29udGVudC5oYXMtaW1hZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjAzMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi4wMzEyNXJlbTsgfSB9XG5cbi5jb250ZW50LXBvc3QtdGlsZSAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29udGVudC1wb3N0LXRpbGUgLnBvc3QtZmVhdHVyZWQtaW1hZ2UtY2VsbCAucG9zdC1mZWF0dXJlZC1pbWFnZSB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgbWluLWhlaWdodDogNi4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGVudC1wb3N0LXRpbGUgLnBvc3QtZmVhdHVyZWQtaW1hZ2UtY2VsbCAucG9zdC1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDExLjI1cmVtOyB9IH1cblxuLmNvbnRlbnQtcG9zdC10aWxlIC50aWxlLWxpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ2LCAxMTQsIDEyNywgMC4xNSk7IH1cbiAgLmNvbnRlbnQtcG9zdC10aWxlIC50aWxlLWxpbms6aG92ZXIsIC5jb250ZW50LXBvc3QtdGlsZSAudGlsZS1saW5rOmZvY3VzLCAuY29udGVudC1wb3N0LXRpbGUgLnRpbGUtbGluazphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7IH1cbiAgICAuY29udGVudC1wb3N0LXRpbGUgLnRpbGUtbGluazpob3ZlciAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlLCAuY29udGVudC1wb3N0LXRpbGUgLnRpbGUtbGluazpmb2N1cyAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlLCAuY29udGVudC1wb3N0LXRpbGUgLnRpbGUtbGluazphY3RpdmUgLnBvc3QtZmVhdHVyZWQtaW1hZ2UtY2VsbCAucG9zdC1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC1wb3N0LXRpbGUgLnRpbGUtbGluayA+IC5ncmlkLXgge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLXNlYXJjaCAucmVzdWx0LWNvdW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5kaXYucGFnZS13cmFwLnR5cGUtc2VhcmNoIC5lbnRyeS10aXRsZS5zZWFyY2gtcXVlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtc2VhcmNoIC5lbnRyeS10aXRsZS5zZWFyY2gtcXVlcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtc2VhcmNoIC5lbnRyeS10aXRsZS5zZWFyY2gtcXVlcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtc2VhcmNoIC5lbnRyeS10aXRsZS5zZWFyY2gtcXVlcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtc2VhcmNoIC5lbnRyeS10aXRsZS5zZWFyY2gtcXVlcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4wNjI1cmVtOyB9IH1cblxuZGl2LnBhZ2Utd3JhcC50eXBlLXNlYXJjaCAuc2VhcmNoLXJlc3VsdC1pdGVtcy1jb250IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1zZWFyY2ggLnNlYXJjaC1yZXN1bHQtaXRlbXMtY29udCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBkaXYucGFnZS13cmFwLnR5cGUtc2VhcmNoIC5zZWFyY2gtcmVzdWx0LWl0ZW1zLWNvbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcC50eXBlLXNlYXJjaCAuc2VhcmNoLXJlc3VsdC1pdGVtcy1jb250IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAudHlwZS1zZWFyY2ggLnNlYXJjaC1yZXN1bHQtaXRlbXMtY29udCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC4wNjI1cmVtOyB9IH1cblxuLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5vbi1zYWxlLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJQVCBTYW5zIENhcHRpb25cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTcxNDtcbiAgICBwYWRkaW5nOiAwcmVtIDEuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAub24tc2FsZS1iYW5uZXI6OmJlZm9yZSwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAub24tc2FsZS1iYW5uZXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMHJlbTtcbiAgICAgIGJvdHRvbTogMHJlbTtcbiAgICAgIGJvcmRlci10b3A6IDJyZW0gc29saWQgI2NjNGIzNztcbiAgICAgIGJvcmRlci1ib3R0b206IDJyZW0gc29saWQgI2NjNGIzNztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxLjI1cmVtOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAub24tc2FsZS1iYW5uZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtMS4yNXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxLjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAub24tc2FsZS1iYW5uZXI6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtMS4yNXJlbTtcbiAgICAgIGJvcmRlci1yaWdodDogMS4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5vbi1zYWxlLWJhbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDByZW0gMS43NXJlbSAwcmVtIDIuNzVyZW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogM3JlbTtcbiAgICAgICAgbGVmdDogMHJlbTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5vbi1zYWxlLWJhbm5lcjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5vbi1zYWxlLWJhbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNy41cmVtOyB9IH1cbiAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuaW1hZ2UtY2VsbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuaW1hZ2UtY2VsbCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgbWF4LWhlaWdodDogMTUuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5pbWFnZS1jZWxsIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuaW1hZ2UtY2VsbCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNDMuNXJlbTsgfSB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5lbnRyeS10aXRsZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLm1ldGEtc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIC5tZXRhLWRvd25sb2FkLWxpbmsge1xuICAgIGNvbG9yOiAjMkMyQzJDO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzJGMzczRDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1kb3dubG9hZC1saW5rOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuNXMgZWFzZTtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXB4OyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIC5tZXRhLWRvd25sb2FkLWxpbms6aG92ZXI6YWZ0ZXIsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1kb3dubG9hZC1saW5rOmZvY3VzOmFmdGVyLCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLm1ldGEtZG93bmxvYWQtbGluazphY3RpdmU6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMkU3MjdGOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIC5tZXRhLWRvd25sb2FkLWxpbmsgLmRsLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGNvbG9yOiAjMkU3MjdGOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgcDpub3QoLmNhcHRpb24pOm5vdCgucHJpY2UpIHtcbiAgICAgIGNvbG9yOiAjNjI2MjYyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgcC5wcmljZSB7XG4gICAgICBjb2xvcjogIzJFNzI3RjtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzOyB9XG4gICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgcC5wcmljZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyQgJzsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSBwLm5ld3MtbGluay1zZWN0aW9uID4gYSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLmFkZC10by1jYXJ0LWNvbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLmFkZC10by1jYXJ0LWNvbnQgLnF1YW50aXR5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIC5hZGQtdG8tY2FydC1jb250IC5xdWFudGl0eSBpbnB1dCwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAucHJvZHVjdC1tZXRhLWNlbGwgLnByb2R1Y3QtbWV0YS1kYXRhIC5hZGQtdG8tY2FydC1jb250IC5xdWFudGl0eSBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG4gICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLmFkZC10by1jYXJ0LWNvbnQgLnF1YW50aXR5IHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1zZWN0aW9uLnByaWNlLXNlY3Rpb24uaXMtb24tc2FsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLm1ldGEtc2VjdGlvbi5wcmljZS1zZWN0aW9uLmlzLW9uLXNhbGUge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1zZWN0aW9uLnByaWNlLXNlY3Rpb24uaXMtb24tc2FsZSAucHJpY2UucmVndWxhci1wcmljZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgIG1hcmdpbi1yaWdodDogMS43NXJlbTsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1zZWN0aW9uLnByaWNlLXNlY3Rpb24uaXMtb24tc2FsZSAub24tc2FsZS10YWcge1xuICAgICAgbWF4LWhlaWdodDogMS41cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLnByb2R1Y3QtbWV0YS1jZWxsIC5wcm9kdWN0LW1ldGEtZGF0YSAubWV0YS1zZWN0aW9uLnByaWNlLXNlY3Rpb24uaXMtb24tc2FsZSAub24tc2FsZS10YWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYnVuZGxlZC1wcm9kdWN0LWltYWdlIHtcbiAgICBoZWlnaHQ6IDhyZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA4cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIHAucHJpY2U6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudC5hbW91bnQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzJFNzI3RjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAucXVhbnRpdHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLmF0dGFjaG1lbnQtd29vY29tbWVyY2VfdGh1bWJuYWlsLnNpemUtd29vY29tbWVyY2VfdGh1bWJuYWlsIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG1heC1oZWlnaHQ6IDE4cmVtOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCAxMTQsIDEyNywgMC41KTtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAuY2FydC5jYXJ0X2dyb3VwLmJ1bmRsZV9mb3JtIC5idW5kbGVkX3Byb2R1Y3RzIHRhYmxlLnZhcmlhdGlvbnMgdGQudmFsdWUsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAuY2FydC5jYXJ0X2dyb3VwLmJ1bmRsZV9mb3JtIC5idW5kbGVkX3Byb2R1Y3QgdGFibGUudmFyaWF0aW9ucyB0ZC52YWx1ZSB7XG4gICAgcGFkZGluZy10b3A6IDByZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLmNhcnQuY2FydF9ncm91cC5idW5kbGVfZm9ybSAuYnVuZGxlZF9wcm9kdWN0cyB0YWJsZS52YXJpYXRpb25zIHRkLnZhbHVlID4gc2VsZWN0LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLmNhcnQuY2FydF9ncm91cC5idW5kbGVfZm9ybSAuYnVuZGxlZF9wcm9kdWN0IHRhYmxlLnZhcmlhdGlvbnMgdGQudmFsdWUgPiBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDY1JTsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAuY2FydC5jYXJ0X2dyb3VwLmJ1bmRsZV9mb3JtIC5idW5kbGVkX3Byb2R1Y3RzIHRhYmxlLnZhcmlhdGlvbnMgdGQudmFsdWUgPiBkaXYucmVzZXRfYnVuZGxlZF92YXJpYXRpb25zLCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLmNhcnQuY2FydF9ncm91cC5idW5kbGVfZm9ybSAuYnVuZGxlZF9wcm9kdWN0IHRhYmxlLnZhcmlhdGlvbnMgdGQudmFsdWUgPiBkaXYucmVzZXRfYnVuZGxlZF92YXJpYXRpb25zIHtcbiAgICAgIHdpZHRoOiAzNSU7IH1cbiAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIC5idW5kbGVkX2l0ZW1fY2FydF9jb250ZW50IC53Yy1wYW8tYWRkb24tY29udGFpbmVyOm5vdCgud2MtcGFvLXJlcXVpcmVkLWFkZG9uKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLndjLXBhby1hZGRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLndjLXBhby1hZGRvbi1jb250YWluZXIgLndjLXBhby1hZGRvbi13cmFwOjpiZWZvcmUsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCAud2MtcGFvLWFkZG9uLWNvbnRhaW5lciAud2MtcGFvLWFkZG9uLXdyYXA6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgLndjLXBhby1hZGRvbi1jb250YWluZXIgLndjLXBhby1hZGRvbi13cmFwID4gbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIC53Yy1wYW8tYWRkb24tY29udGFpbmVyIC53Yy1wYW8tYWRkb24td3JhcCA+IGxhYmVsIC53Yy1wYW8tYWRkb24tY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIC53Yy1wYW8tYWRkb24tY29udGFpbmVyIC53b29jb21tZXJjZS1QcmljZS1hbW91bnQuYW1vdW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbjogMHJlbSAwLjI1cmVtOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCB0YWJsZS52YXJpYXRpb25zIHRkLmxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCB0YWJsZS52YXJpYXRpb25zIHRkLmxhYmVsID4gbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCB0YWJsZS52YXJpYXRpb25zIHRkLnZhbHVlIHNlbGVjdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgdGFibGUudmFyaWF0aW9ucyB0ZC52YWx1ZSA+IGEucmVzZXRfdmFyaWF0aW9ucywgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIHRhYmxlLnZhcmlhdGlvbnMgdGQudmFsdWUgPiBkaXYucmVzZXRfYnVuZGxlZF92YXJpYXRpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZHQsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGRkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGRkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogIzJFNzI3RjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZlYXQtc2xpZGVyIC5oYXMtYmctaW1nIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uZmVhdC1zbGlkZXIgLnNsaWRlLWhlaWdodCB7XG4gIG1pbi1oZWlnaHQ6IDIycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXQtc2xpZGVyIC5zbGlkZS1oZWlnaHQge1xuICAgICAgaGVpZ2h0OiAyOHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXQtc2xpZGVyIC5zbGlkZS1oZWlnaHQge1xuICAgICAgaGVpZ2h0OiAzNHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZmVhdC1zbGlkZXIgLnNsaWRlLWhlaWdodCB7XG4gICAgICBoZWlnaHQ6IDQycmVtOyB9IH1cbiAgLmZlYXQtc2xpZGVyIC5zbGlkZS1oZWlnaHQgLnNsaWRlLXRpdGxlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMHJlbSAycmVtOyB9XG5cbi5mZWF0LXNsaWRlciAuc2xpZGUtaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgxMCwgMTAsIDEwLCAwLjQpO1xuICBoZWlnaHQ6IDIycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZlYXQtc2xpZGVyIC5zbGlkZS1pbm5lciB7XG4gICAgICBoZWlnaHQ6IDI4cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZmVhdC1zbGlkZXIgLnNsaWRlLWlubmVyIHtcbiAgICAgIGhlaWdodDogMzRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmZlYXQtc2xpZGVyIC5zbGlkZS1pbm5lciB7XG4gICAgICBoZWlnaHQ6IDQycmVtOyB9IH1cblxuc2VjdGlvbi5jb3B5LXdpdGgtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQ0ZEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgc2VjdGlvbi5jb3B5LXdpdGgtdGl0bGUgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAjMkU3MjdGO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBzZWN0aW9uLmNvcHktd2l0aC10aXRsZSBwLmNvcHktdGV4dC1jb250ZW50IHtcbiAgICBjb2xvcjogIzYyNjI2MjsgfVxuICAgIHNlY3Rpb24uY29weS13aXRoLXRpdGxlIHAuY29weS10ZXh0LWNvbnRlbnQgLmNhcHRpb24ud2l0aC1zcGFjaW5nLCBzZWN0aW9uLmNvcHktd2l0aC10aXRsZSBwLmNvcHktdGV4dC1jb250ZW50IC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGR0LndpdGgtc3BhY2luZywgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIHNlY3Rpb24uY29weS13aXRoLXRpdGxlIHAuY29weS10ZXh0LWNvbnRlbnQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkdC53aXRoLXNwYWNpbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbnNlY3Rpb24uY3RhIHtcbiAgcGFkZGluZy10b3A6IDIuNTg2MjFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjU4NjIxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQ0ZEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmN0YSB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4zMTAzNHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjMxMDM0cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLmN0YSB7XG4gICAgICBwYWRkaW5nLXRvcDogNS4xNzI0MXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1LjE3MjQxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24uY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1LjE3MjQxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUuMTcyNDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5jdGEge1xuICAgICAgcGFkZGluZy10b3A6IDcuMDA0MzFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNy4wMDQzMXJlbTsgfSB9XG4gIHNlY3Rpb24uY3RhIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogIzJFNzI3RjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgc2VjdGlvbi5jdGEgLmJ1dHRvbi5jdGEtbGluayB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24uY3RhIC5idXR0b24uY3RhLWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbi5jdGEgLmJ1dHRvbi5jdGEtbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIHNlY3Rpb24uY3RhIC5idXR0b24uY3RhLWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBzZWN0aW9uLmN0YSAuYnV0dG9uLmN0YS1saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi43MDgzM3JlbTsgfSB9XG4gIHNlY3Rpb24uY3RhIHAuY3RhLXRleHQge1xuICAgIGNvbG9yOiAjNjI2MjYyOyB9XG4gICAgc2VjdGlvbi5jdGEgcC5jdGEtdGV4dCB+IC5idXR0b24uY3RhLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBzZWN0aW9uLmN0YSBwLmN0YS10ZXh0IH4gLmJ1dHRvbi5jdGEtbGluayB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIHNlY3Rpb24uY3RhIHAuY3RhLXRleHQgfiAuYnV0dG9uLmN0YS1saW5rIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgc2VjdGlvbi5jdGEgcC5jdGEtdGV4dCB+IC5idXR0b24uY3RhLWxpbmsge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICBzZWN0aW9uLmN0YSBwLmN0YS10ZXh0IH4gLmJ1dHRvbi5jdGEtbGluayB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNC4wNjI1cmVtOyB9IH1cbiAgc2VjdGlvbi5jdGEuYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBzZWN0aW9uLmN0YS5hbGlnbi1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgc2VjdGlvbi5jdGEuYmctd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuZGl2LnBhZ2Utd3JhcCA+IGgxLCBkaXYucGFnZS13cmFwID4gaDIsIGRpdi5wYWdlLXdyYXAgPiBoMywgZGl2LnBhZ2Utd3JhcCA+IGg0LCBkaXYucGFnZS13cmFwID4gaDUsIGRpdi5wYWdlLXdyYXAgPiBoNiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBoMSwgZGl2LnBhZ2Utd3JhcCA+IGgyLCBkaXYucGFnZS13cmFwID4gaDMsIGRpdi5wYWdlLXdyYXAgPiBoNCwgZGl2LnBhZ2Utd3JhcCA+IGg1LCBkaXYucGFnZS13cmFwID4gaDYge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBoMSwgZGl2LnBhZ2Utd3JhcCA+IGgyLCBkaXYucGFnZS13cmFwID4gaDMsIGRpdi5wYWdlLXdyYXAgPiBoNCwgZGl2LnBhZ2Utd3JhcCA+IGg1LCBkaXYucGFnZS13cmFwID4gaDYge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gaDEsIGRpdi5wYWdlLXdyYXAgPiBoMiwgZGl2LnBhZ2Utd3JhcCA+IGgzLCBkaXYucGFnZS13cmFwID4gaDQsIGRpdi5wYWdlLXdyYXAgPiBoNSwgZGl2LnBhZ2Utd3JhcCA+IGg2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGgxLCBkaXYucGFnZS13cmFwID4gaDIsIGRpdi5wYWdlLXdyYXAgPiBoMywgZGl2LnBhZ2Utd3JhcCA+IGg0LCBkaXYucGFnZS13cmFwID4gaDUsIGRpdi5wYWdlLXdyYXAgPiBoNiB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGgxLCBkaXYucGFnZS13cmFwID4gaDIsIGRpdi5wYWdlLXdyYXAgPiBoMywgZGl2LnBhZ2Utd3JhcCA+IGg0LCBkaXYucGFnZS13cmFwID4gaDUsIGRpdi5wYWdlLXdyYXAgPiBoNiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGgxLCBkaXYucGFnZS13cmFwID4gaDIsIGRpdi5wYWdlLXdyYXAgPiBoMywgZGl2LnBhZ2Utd3JhcCA+IGg0LCBkaXYucGFnZS13cmFwID4gaDUsIGRpdi5wYWdlLXdyYXAgPiBoNiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBoMSwgZGl2LnBhZ2Utd3JhcCA+IGgyLCBkaXYucGFnZS13cmFwID4gaDMsIGRpdi5wYWdlLXdyYXAgPiBoNCwgZGl2LnBhZ2Utd3JhcCA+IGg1LCBkaXYucGFnZS13cmFwID4gaDYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gaDEsIGRpdi5wYWdlLXdyYXAgPiBoMiwgZGl2LnBhZ2Utd3JhcCA+IGgzLCBkaXYucGFnZS13cmFwID4gaDQsIGRpdi5wYWdlLXdyYXAgPiBoNSwgZGl2LnBhZ2Utd3JhcCA+IGg2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgZGl2LnBhZ2Utd3JhcCA+IGgxOjphZnRlciwgZGl2LnBhZ2Utd3JhcCA+IGgyOjphZnRlciwgZGl2LnBhZ2Utd3JhcCA+IGgzOjphZnRlciwgZGl2LnBhZ2Utd3JhcCA+IGg0OjphZnRlciwgZGl2LnBhZ2Utd3JhcCA+IGg1OjphZnRlciwgZGl2LnBhZ2Utd3JhcCA+IGg2OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGJvdHRvbTogLTEuNzVyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiA2cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBoMTo6YWZ0ZXIsIGRpdi5wYWdlLXdyYXAgPiBoMjo6YWZ0ZXIsIGRpdi5wYWdlLXdyYXAgPiBoMzo6YWZ0ZXIsIGRpdi5wYWdlLXdyYXAgPiBoNDo6YWZ0ZXIsIGRpdi5wYWdlLXdyYXAgPiBoNTo6YWZ0ZXIsIGRpdi5wYWdlLXdyYXAgPiBoNjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEycmVtOyB9IH1cblxuZGl2LnBhZ2Utd3JhcCA+IGZpZ3VyZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGZpZ3VyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gZmlndXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBmaWd1cmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGZpZ3VyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC4wNjI1cmVtOyB9IH1cbiAgZGl2LnBhZ2Utd3JhcCA+IGZpZ3VyZSA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBkaXYucGFnZS13cmFwID4gZmlndXJlID4gaW1nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGRpdi5wYWdlLXdyYXAgPiBmaWd1cmUgPiBpbWcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIGRpdi5wYWdlLXdyYXAgPiBmaWd1cmUgPiBpbWcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIGRpdi5wYWdlLXdyYXAgPiBmaWd1cmUgPiBpbWcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBkaXYucGFnZS13cmFwID4gZmlndXJlID4gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHJlbTsgfSB9XG4gIGRpdi5wYWdlLXdyYXAgPiBmaWd1cmUgKyBzZWN0aW9uLnByb2ZpbGUge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuc2VjdGlvbi5pbWFnZS1jdGEge1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmltYWdlLWN0YSB7XG4gICAgICBwYWRkaW5nLXRvcDogMi4wMjcwM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjAyNzAzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEge1xuICAgICAgcGFkZGluZy10b3A6IDMuMzc4MzhyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4zNzgzOHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjA1NDA1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDU0MDVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjA1NDA1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDU0MDVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1LjQ4OTg2cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUuNDg5ODZyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhLmFsaWduLWxlZnQgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEuYWxpZ24tbGVmdCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLmltYWdlLWN0YS5hbGlnbi1sZWZ0IC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhLmFsaWduLWxlZnQgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEuYWxpZ24tbGVmdCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhLmFsaWduLXJpZ2h0IC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmltYWdlLWN0YS5hbGlnbi1yaWdodCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEuYWxpZ24tcmlnaHQgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhLmFsaWduLXJpZ2h0IC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uLmltYWdlLWN0YS5hbGlnbi1yaWdodCAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgc2VjdGlvbi5pbWFnZS1jdGEgLmltYWdlLWNlbGwgPiAuY3RhLWltYWdlIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWluLWhlaWdodDogMTIuNXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgM3JlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLmltYWdlLWNlbGwgPiAuY3RhLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC5pbWFnZS1jZWxsID4gLmN0YS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLmltYWdlLWNlbGwgPiAuY3RhLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00LjA2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00LjA2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMS44NzVyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA1cmVtKTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC5pbWFnZS1jZWxsID4gLmN0YS1pbWFnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI2LjI1cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNnJlbSk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC5pbWFnZS1jZWxsID4gLmN0YS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAzN3JlbTsgfSB9XG4gIHNlY3Rpb24uaW1hZ2UtY3RhIC50ZXh0LWNlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAudGV4dC1jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcmVtOyB9IH1cbiAgICBzZWN0aW9uLmltYWdlLWN0YSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC50ZXh0LWNlbGwgLnRleHQtY29udGVudC5hbGlnbi1sZWZ0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC50ZXh0LWNlbGwgLnRleHQtY29udGVudC5hbGlnbi1yaWdodCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHAge1xuICAgICAgICBjb2xvcjogIzYyNjI2MjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAgICAgICBzZWN0aW9uLmltYWdlLWN0YSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgcCA+IGVtIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMjE0MztcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHAgPiBlbSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfSB9XG4gICAgICBzZWN0aW9uLmltYWdlLWN0YSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgPiBkaXY6bGFzdC1jaGlsZCAuYnV0dG9uLmN0YS1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC50ZXh0LWNlbGwgLmJ1dHRvbi5jdGEtbGluayB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTdyZW07IH1cbiAgc2VjdGlvbi5pbWFnZS1jdGEgLnNlY3Rpb24tdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfSB9XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEgLnNlY3Rpb24tdGl0bGU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAtMy4xMjVyZW07XG4gICAgICBsZWZ0OiAxMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA4MCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgbGVmdDogMHJlbTtcbiAgICAgICAgICByaWdodDogMHJlbTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNHJlbSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICBib3R0b206IC0ycmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgc2VjdGlvbi5pbWFnZS1jdGEgLnNlY3Rpb24tdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgOHJlbSk7IH0gfVxuICAgIHNlY3Rpb24uaW1hZ2UtY3RhIC5zZWN0aW9uLXRpdGxlID4gZW0ge1xuICAgICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmltYWdlLWN0YS5hbGlnbi1sZWZ0IC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEuYWxpZ24tbGVmdCAuc2VjdGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDhyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uaW1hZ2UtY3RhLmFsaWduLXJpZ2h0IC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5pbWFnZS1jdGEuYWxpZ24tcmlnaHQgLnNlY3Rpb24tdGl0bGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDhyZW07IH0gfVxuICBzZWN0aW9uLmltYWdlLWN0YSArIHNlY3Rpb24uaW1hZ2UtY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTsgfVxuICBzZWN0aW9uLmltYWdlLWN0YSArIHNlY3Rpb24uaW5mby1jb3B5IHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbTsgfVxuXG51bC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgbWFyZ2luOiAwcmVtIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJlY3RoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICB1bC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICB1bC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgdWwud3AtYmxvY2stZ2FsbGVyeSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIHVsLndwLWJsb2NrLWdhbGxlcnkge1xuICAgICAgcGFkZGluZy10b3A6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHVsLndwLWJsb2NrLWdhbGxlcnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHVsLndwLWJsb2NrLWdhbGxlcnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICB1bC53cC1ibG9jay1nYWxsZXJ5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgdWwud3AtYmxvY2stZ2FsbGVyeSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdWwud3AtYmxvY2stZ2FsbGVyeSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICB1bC53cC1ibG9jay1nYWxsZXJ5OmZpcnN0LW9mLXR5cGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7IH1cbiAgICB1bC53cC1ibG9jay1nYWxsZXJ5OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQ0ZEO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiBjYWxjKDQ1cmVtIC0gNTB2dyk7XG4gICAgICByaWdodDogY2FsYyg0NXJlbSAtIDUwdncpO1xuICAgICAgdG9wOiAwcmVtO1xuICAgICAgYm90dG9tOiAwcmVtO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgdWwud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaW1hZ2UsIHVsLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LWJhc2lzOiAxJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB1bC53cC1ibG9jay1nYWxsZXJ5IC5ibG9ja3MtZ2FsbGVyeS1pbWFnZSwgdWwud3AtYmxvY2stZ2FsbGVyeSAuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzJweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIHVsLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWltYWdlOmxhc3QtY2hpbGQsIHVsLndwLWJsb2NrLWdhbGxlcnkgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7IH0gfVxuICB1bC53cC1ibG9jay1nYWxsZXJ5ICsgaDIge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtOyB9XG5cbnNlY3Rpb24uaW1hZ2UtbGlua3Mge1xuICBwYWRkaW5nLXRvcDogMHJlbTsgfVxuICBzZWN0aW9uLmltYWdlLWxpbmtzIC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmltYWdlLWxpbmstY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgc2VjdGlvbi5pbWFnZS1saW5rcyAuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5pbWFnZS1saW5rLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogM3B4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBzZWN0aW9uLmltYWdlLWxpbmtzIC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmltYWdlLWxpbmstY29udGVudCAuYnV0dG9uIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEycmVtOyB9IH1cbiAgc2VjdGlvbi5pbWFnZS1saW5rcyBhLnNpbGVudC5pbWFnZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBzZWN0aW9uLmltYWdlLWxpbmtzIGEuc2lsZW50LmltYWdlLWxpbms6aG92ZXIgLmltYWdlLWxpbmstY29udCAub3ZlcmxheSAuaW1hZ2UtbGluay1jb250ZW50IC5idXR0b24sIHNlY3Rpb24uaW1hZ2UtbGlua3MgYS5zaWxlbnQuaW1hZ2UtbGluazpmb2N1cyAuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5pbWFnZS1saW5rLWNvbnRlbnQgLmJ1dHRvbiwgc2VjdGlvbi5pbWFnZS1saW5rcyBhLnNpbGVudC5pbWFnZS1saW5rOmFjdGl2ZSAuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5pbWFnZS1saW5rLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjM0ODRGO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMjM0ODRGOyB9XG4gIHNlY3Rpb24uaW1hZ2UtbGlua3MgLnNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBzZWN0aW9uLmltYWdlLWxpbmtzIC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBib3R0b206IC0xLjc1cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuc2VjdGlvbi5pbmZvLWNvcHkgLnF1b3RlLWNvbnRlbnQge1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpciBEaXNwbGF5XCIsIFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMyRTcyN0Y7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTsgfVxuXG5zZWN0aW9uLmluZm8tY29weSAucXVvdGUtYXV0aG9yIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMyRTcyN0Y7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi1ib3R0b206IDIuNTYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uaW5mby1jb3B5IC5xdW90ZS1hdXRob3Ige1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuc2VjdGlvbi5pbmZvLWNvcHkgLmNhcHRpb24sIHNlY3Rpb24uaW5mby1jb3B5IC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGR0LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgc2VjdGlvbi5pbmZvLWNvcHkgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuc2VjdGlvbi5pbmZvLWNvcHkgLmNvcHktY29udGVudCB7XG4gIGNvbG9yOiAjNjI2MjYyO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IDFyZW07IH1cblxuc2VjdGlvbi5pbmZvLWNvcHkgLmNhcHRpb24tbGluZS1jb250IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIHNlY3Rpb24uaW5mby1jb3B5IC5jYXB0aW9uLWxpbmUtY29udCA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5pbmZvLWNvcHkgLmNhcHRpb24tbGluZS1jb250ID4gcCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH0gfVxuICBzZWN0aW9uLmluZm8tY29weSAuY2FwdGlvbi1saW5lLWNvbnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmluZm8tY29weSAuY2FwdGlvbi1saW5lLWNvbnQ6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBzZWN0aW9uLmluZm8tY29weSAuY2FwdGlvbi1saW5lLWNvbnQucmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgIHNlY3Rpb24uaW5mby1jb3B5IC5jYXB0aW9uLWxpbmUtY29udC5yaWdodCA+IHAge1xuICAgICAgcGFkZGluZy1yaWdodDogMHJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgc2VjdGlvbi5pbmZvLWNvcHkgLmNhcHRpb24tbGluZS1jb250LnJpZ2h0ID4gcCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtOyB9IH1cblxuc2VjdGlvbi5pbmZvLWNvcHkgdWwuaW5mby1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICBzZWN0aW9uLmluZm8tY29weSB1bC5pbmZvLWxpc3QgPiBsaSA+IGgzIHtcbiAgICBjb2xvcjogIzJFNzI3RjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIHNlY3Rpb24uaW5mby1jb3B5IHVsLmluZm8tbGlzdCA+IGxpID4gLmNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfVxuXG5zZWN0aW9uLmluZm8tY29weSAuc2lkZS1saXN0LWZvb3Rlci1pbWFnZSB7XG4gIG1hcmdpbi10b3A6IDMuMjVyZW07IH1cblxuZGl2LnBhZ2Utd3JhcCA+IHNlY3Rpb24uaW5mby1jb3B5ICsgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gc2VjdGlvbi5pbmZvLWNvcHkgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDByZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHNlY3Rpb24uaW5mby1jb3B5ICsgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHNlY3Rpb24uaW5mby1jb3B5ICsgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHNlY3Rpb24uaW5mby1jb3B5ICsgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHNlY3Rpb24uaW5mby1jb3B5ICsgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtOyB9IH1cblxuLmV2ZW50LXNpbmdsZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmV2ZW50LXNpbmdsZS1jb250ZW50IC5jb250ZW50LWNvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXZlbnQtc2luZ2xlLWNvbnRlbnQgLmNvbnRlbnQtY29sIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfSB9XG4gICAgLmV2ZW50LXNpbmdsZS1jb250ZW50IC5jb250ZW50LWNvbCAuZW50cnktY29udGVudCB7XG4gICAgICBjb2xvcjogIzYyNjI2MjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZXZlbnQtc2luZ2xlLWNvbnRlbnQgLmluZm9ybWF0aW9uLWNvbCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDQ2LCAxMTQsIDEyNywgMC4yKTtcbiAgICBjb2xvcjogIzYyNjI2MjsgfVxuICAgIC5ldmVudC1zaW5nbGUtY29udGVudCAuaW5mb3JtYXRpb24tY29sIC5pbmZvcm1hdGlvbi1yb3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5ldmVudC1zaW5nbGUtY29udGVudCAuaW5mb3JtYXRpb24tY29sIC5pbmZvcm1hdGlvbi1yb3cgLmluZm9ybWF0aW9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmV2ZW50LXNpbmdsZS1jb250ZW50IC5pbmZvcm1hdGlvbi1jb2wgLmluZm9ybWF0aW9uLXJvdyAuaW5mb3JtYXRpb24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAgIC5ldmVudC1zaW5nbGUtY29udGVudCAuaW5mb3JtYXRpb24tY29sIC5pbmZvcm1hdGlvbi1yb3cgLmluZm9ybWF0aW9uLXdyYXBwZXIgLmluZm9ybWF0aW9uLXRpdGxlIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS43MTQyODU3MTQzO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlBUIFNhbnMgQ2FwdGlvblwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgICAgICAuZXZlbnQtc2luZ2xlLWNvbnRlbnQgLmluZm9ybWF0aW9uLWNvbCAuaW5mb3JtYXRpb24tcm93IC5pbmZvcm1hdGlvbi13cmFwcGVyIC5pbmZvcm1hdGlvbi1kYXktbGlzdCB7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmV2ZW50LXNpbmdsZS1jb250ZW50IC5pbmZvcm1hdGlvbi1jb2wgLmluZm9ybWF0aW9uLXJvdyAuaW5mb3JtYXRpb24td3JhcHBlciBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmV2ZW50LXNpbmdsZS1jb250ZW50IC5pbmZvcm1hdGlvbi1jb2wgLmluZm9ybWF0aW9uLXJvdyAuaW5mb3JtYXRpb24td3JhcHBlciAuYWRkcmVzcy1pbmZvIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG5zZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQge1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07IH1cbiAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NXJlbTsgfSB9XG4gICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIGEuc2lsZW50LmltYWdlLWxpbmsge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCBhLnNpbGVudC5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCBhLnNpbGVudC5pbWFnZS1saW5rIC5idXR0b24ub3V0bGluZS5mYWtlLWxpbmssIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCBhLnNpbGVudC5pbWFnZS1saW5rIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IGlucHV0LmZha2UtbGlua1t0eXBlPXN1Ym1pdF0sIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCBhLnNpbGVudC5pbWFnZS1saW5rIGlucHV0LmZha2UtbGlua1t0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG4gICAgICBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazpob3ZlciAuYnV0dG9uLm91dGxpbmUuZmFrZS1saW5rLCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazpob3ZlciBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dC5mYWtlLWxpbmtbdHlwZT1zdWJtaXRdLCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazpob3ZlciBpbnB1dC5mYWtlLWxpbmtbdHlwZT1zdWJtaXRdLCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazpmb2N1cyAuYnV0dG9uLm91dGxpbmUuZmFrZS1saW5rLCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazpmb2N1cyBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dC5mYWtlLWxpbmtbdHlwZT1zdWJtaXRdLCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazpmb2N1cyBpbnB1dC5mYWtlLWxpbmtbdHlwZT1zdWJtaXRdLCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgYS5zaWxlbnQuaW1hZ2UtbGluazphY3RpdmUgLmJ1dHRvbi5vdXRsaW5lLmZha2UtbGluaywgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIGEuc2lsZW50LmltYWdlLWxpbms6YWN0aXZlIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IGlucHV0LmZha2UtbGlua1t0eXBlPXN1Ym1pdF0sIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCBhLnNpbGVudC5pbWFnZS1saW5rOmFjdGl2ZSBpbnB1dC5mYWtlLWxpbmtbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMkU3MjdGOyB9XG4gICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIC5vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAgICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIC5vdmVybGF5IC5vdmVybGF5LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ1cmVtO1xuICAgICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgLm92ZXJsYXkgLm92ZXJsYXktY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIC5vdmVybGF5IC5vdmVybGF5LWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgICBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgLm92ZXJsYXkgLm92ZXJsYXktY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAgIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCAub3ZlcmxheSAub3ZlcmxheS1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgICAgICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIC5vdmVybGF5IC5vdmVybGF5LWNvbnRlbnQgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIC5vdmVybGF5IC5vdmVybGF5LWNvbnRlbnQgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjY2NjY3cmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsIC5vdmVybGF5IC5vdmVybGF5LWNvbnRlbnQgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLmxvY2F0aW9uLWNlbGwgLm92ZXJsYXkgLm92ZXJsYXktY29udGVudCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAgIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbCAub3ZlcmxheSAub3ZlcmxheS1jb250ZW50IC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43MDgzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5sb2NhdGlvbi1jZWxsOm50aC1jaGlsZCgybikgLm92ZXJsYXkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IH1cbiAgICAgIHNlY3Rpb24ubG9jYXRpb24tY2FsbG91dCAubG9jYXRpb24tY2VsbDpudGgtY2hpbGQoMm4rMSkgLm92ZXJsYXkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0OyB9IH1cbiAgc2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IC5jYXB0aW9uLCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZHQsIC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBzZWN0aW9uLmxvY2F0aW9uLWNhbGxvdXQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkdCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuZGl2LnBhZ2Utd3JhcCA+IHAge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xuICBjb2xvcjogIzYyNjI2MjtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHAge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHAge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gcCB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IHAge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuc2VjdGlvbi5wcm9maWxlIC5pbWFnZS1jZWxsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgbWluLWhlaWdodDogMTJyZW07IH1cbiAgc2VjdGlvbi5wcm9maWxlIC5pbWFnZS1jZWxsIC5wcm9maWxlLWltYWdlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgc2VjdGlvbi5wcm9maWxlIC50ZXh0LWNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG5cbnNlY3Rpb24ucHJvZmlsZSAuc2VjdGlvbi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLnByb2ZpbGUgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMHJlbTsgfSB9XG5cbnNlY3Rpb24ucHJvZmlsZSAuam9iLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5zZWN0aW9uLnByb2ZpbGUgLmJpb2dyYXBoeSB7XG4gIG1hcmdpbi1ib3R0b206IDByZW07XG4gIGNvbG9yOiAjNjI2MjYyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNEZDRkQ7XG4gIHBhZGRpbmctbGVmdDogMHJlbTtcbiAgcGFkZGluZy1yaWdodDogMHJlbTtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIuNTYyNXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG4gIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCwgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgPiBjaXRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgbWF4LXdpZHRoOiA5MHJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgPiBwLCBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IGNpdGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgPiBwLCBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IGNpdGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCwgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgPiBjaXRlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IHAsIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gY2l0ZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0LjA2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCwgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgPiBjaXRlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBcIlBUIFNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTsgfVxuICAgIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gcCBiciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IHAgYnIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgPiBjaXRlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMkU3MjdGO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41M3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBkaXYucGFnZS13cmFwID4gYmxvY2txdW90ZSA+IGNpdGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIGRpdi5wYWdlLXdyYXAgPiBibG9ja3F1b3RlID4gY2l0ZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICctICc7IH1cbiAgZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUgKyBzZWN0aW9uLmluZm8tY29weSB7XG4gICAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG5zZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RkNGRDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgc2VjdGlvbi5mZWF0dXJlLWdhbGxlcnkgLmNlbGwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4wMzEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi4wMzEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbi5mZWF0dXJlLWdhbGxlcnkgLmNlbGwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuMDMxMjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjAzMTI1cmVtOyB9IH1cbiAgc2VjdGlvbi5mZWF0dXJlLWdhbGxlcnkgLmltYWdlLWNlbGwgLmZlYXR1cmUtZ2FsbGVyeS1pbWFnZSB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEyLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5mZWF0dXJlLWdhbGxlcnkgLmltYWdlLWNlbGwgLmZlYXR1cmUtZ2FsbGVyeS1pbWFnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTsgfSB9XG4gIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC50ZXh0LWNlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbiAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1iYXNpczogMSU7IH1cbiAgICAgIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC50ZXh0LWNlbGwgLnRleHQtY29udGVudCAuYmxvY2staGVhZGluZyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1NzE0O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMy43NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC50ZXh0LWNlbGwgLnRleHQtY29udGVudCA+IHAge1xuICAgICAgICBjb2xvcjogIzYyNjI2MjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzE0Mjk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIHNlY3Rpb24uZmVhdHVyZS1nYWxsZXJ5IC50ZXh0LWNlbGwgLnRleHQtY29udGVudCA+IHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5mZWF0dXJlLWdhbGxlcnkgKyBzZWN0aW9uLmZvcm0tY2FsbG91dCB7XG4gICAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogLTAuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5mZWF0dXJlLWdhbGxlcnkgKyBzZWN0aW9uLmZvcm0tY2FsbG91dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSArIHNlY3Rpb24uZm9ybS1jYWxsb3V0IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSArIHNlY3Rpb24uZm9ybS1jYWxsb3V0IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSArIHNlY3Rpb24uZm9ybS1jYWxsb3V0IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjAxNTYycmVtOyB9IH1cblxuLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZXIuc2xpY2stZG90dGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uaW1hZ2Utc2xpZGVyLWdhbGxlcnkgLmltYWdlLXNsaWRlciAuc2xpY2stZG90cyB7XG4gIGJvdHRvbTogLTM1cHg7IH1cbiAgLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZXIgLnNsaWNrLWRvdHMgPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZXIgLnNsaWNrLWRvdHMgPiBsaSA+IGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDk4LCA5OCwgMC4zKTtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHdpZHRoOiAxMHB4OyB9XG4gICAgLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZXIgLnNsaWNrLWRvdHMgPiBsaS5zbGljay1hY3RpdmUgPiBidXR0b246OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGOyB9XG5cbi5pbWFnZS1zbGlkZXItZ2FsbGVyeSAuaW1hZ2Utc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87IH1cbiAgLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZXIgLnNsaWNrLWFycm93OjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGZvbnQtc2l6ZTogNC43NXJlbTsgfVxuICAuaW1hZ2Utc2xpZGVyLWdhbGxlcnkgLmltYWdlLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaW1hZ2Utc2xpZGVyLWdhbGxlcnkgLmltYWdlLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IDNyZW07IH0gfVxuICAgIC5pbWFnZS1zbGlkZXItZ2FsbGVyeSAuaW1hZ2Utc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjEwNCc7IH1cbiAgLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZXIgLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5pbWFnZS1zbGlkZXItZ2FsbGVyeSAuaW1hZ2Utc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDNyZW07IH0gfVxuICAgIC5pbWFnZS1zbGlkZXItZ2FsbGVyeSAuaW1hZ2Utc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjEwNSc7IH1cblxuLmltYWdlLXNsaWRlci1nYWxsZXJ5IC5pbWFnZS1zbGlkZSB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDE1LjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbWFnZS1zbGlkZXItZ2FsbGVyeSAuaW1hZ2Utc2xpZGUge1xuICAgICAgaGVpZ2h0OiAyMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pbWFnZS1zbGlkZXItZ2FsbGVyeSAuaW1hZ2Utc2xpZGUge1xuICAgICAgaGVpZ2h0OiAyNi4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuaW1hZ2Utc2xpZGVyLWdhbGxlcnkgLmltYWdlLXNsaWRlIHtcbiAgICAgIGhlaWdodDogMzVyZW07IH0gfVxuXG5zZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuMDgzMzNyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjA4MzMzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuMzg1NDJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjM4NTQycmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjA4MzMzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuMDgzMzNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjM4NTQycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMzg1NDJyZW07IH0gfVxuICBzZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCAuY2FwdGlvbiwgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkdCwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMgPiBkdCB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgcDpub3QoLmNhcHRpb24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgcDpub3QoLmNhcHRpb24pIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBzZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHA6bm90KC5jYXB0aW9uKTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07IH1cbiAgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCBhOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAgIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6aG92ZXIsIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6Zm9jdXMsIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICBzZWN0aW9uLmhvdXJzLXdpdGgtaW1hZ2UgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IGE6bm90KC5idXR0b24pOmhvdmVyOjpiZWZvcmUsIHNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6Zm9jdXM6OmJlZm9yZSwgc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCBhOm5vdCguYnV0dG9uKTphY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuc2VjdGlvbi5ob3Vycy13aXRoLWltYWdlIC5pbWFnZS1jZWxsIC5ob3Vycy1zZWN0aW9uLWltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEyLjVyZW07IH1cblxuc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBzZWN0aW9uLnRyYW5zcG9ydC1zY2hlZHVsZS1jYWxsb3V0IHAuZGV0YWlscyB7XG4gICAgY29sb3I6ICM2MjYyNjI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCBwLmRldGFpbHMge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBzZWN0aW9uLnRyYW5zcG9ydC1zY2hlZHVsZS1jYWxsb3V0IC5pbWFnZS1jZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTUuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24udHJhbnNwb3J0LXNjaGVkdWxlLWNhbGxvdXQgLmltYWdlLWNlbGwge1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCAuaW1hZ2UtY2VsbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI5cmVtOyB9IH1cbiAgICBzZWN0aW9uLnRyYW5zcG9ydC1zY2hlZHVsZS1jYWxsb3V0IC5pbWFnZS1jZWxsLmhhcy1jb250ZW50IC5vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG4gICAgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCAuaW1hZ2UtY2VsbC5oYXMtY29udGVudCAuY29udGVudCB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCAuaW1hZ2UtY2VsbC5oYXMtY29udGVudCBhLnNpbGVudC5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCAuaW1hZ2UtY2VsbC5oYXMtY29udGVudCBhLnNpbGVudC5pbWFnZS1saW5rOmhvdmVyIC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmNvbnRlbnQgLmJ1dHRvbiwgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCAuaW1hZ2UtY2VsbC5oYXMtY29udGVudCBhLnNpbGVudC5pbWFnZS1saW5rOmZvY3VzIC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmNvbnRlbnQgLmJ1dHRvbiwgc2VjdGlvbi50cmFuc3BvcnQtc2NoZWR1bGUtY2FsbG91dCAuaW1hZ2UtY2VsbC5oYXMtY29udGVudCBhLnNpbGVudC5pbWFnZS1saW5rOmFjdGl2ZSAuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5jb250ZW50IC5idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIzNDg0RjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzIzNDg0RjsgfVxuXG5zZWN0aW9uLnNwZWNpYWx0eS10b3VycyAuc2VjdGlvbi10aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMkU3MjdGO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuMDYyNXJlbTsgfSB9XG5cbnNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIC5pbWFnZS1jZWxsIC50b3VyLWltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEyLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLnNwZWNpYWx0eS10b3VycyAuaW1hZ2UtY2VsbCAudG91ci1pbWFnZSB7XG4gICAgICBtaW4taGVpZ2h0OiAyMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIC5pbWFnZS1jZWxsIC50b3VyLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI5LjVyZW07IH0gfVxuXG5zZWN0aW9uLnNwZWNpYWx0eS10b3VycyAudGV4dC1jZWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFNzI3RjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLnNwZWNpYWx0eS10b3VycyAudGV4dC1jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjA4MzMzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuMDgzMzNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIC50ZXh0LWNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uLnNwZWNpYWx0eS10b3VycyAudGV4dC1jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjM4NTQycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMzg1NDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIC50ZXh0LWNlbGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfSB9XG4gIHNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjA4MzMzcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjA4MzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjM4NTQycmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzLjM4NTQycmVtOyB9IH1cbiAgICBzZWN0aW9uLnNwZWNpYWx0eS10b3VycyAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgLnN1YnNlY3Rpb24tdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIHNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIC50ZXh0LWNlbGwgLnRleHQtY29udGVudCAuY2FwdGlvbiwgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IC5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24gLmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCBkbC5wcm9kdWN0LWFkZG9uLXRvdGFscyA+IGR0LCAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgc2VjdGlvbi5zcGVjaWFsdHktdG91cnMgLnRleHQtY2VsbCAudGV4dC1jb250ZW50IGRsLnByb2R1Y3QtYWRkb24tdG90YWxzID4gZHQge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBzZWN0aW9uLnNwZWNpYWx0eS10b3VycyAudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQgLmJvb2tpbmctdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG5zZWN0aW9uLnNwZWNpYWx0eS10b3VycyAudG91cnMtZ3JpZDpsYXN0LWNoaWxkIC50ZXh0LWNlbGwge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG5cbnNlY3Rpb24uZmFjaWxpdHktb3ZlcnZpZXcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQ0ZEO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgc2VjdGlvbi5mYWNpbGl0eS1vdmVydmlldyAuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICMyRTcyN0Y7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgc2VjdGlvbi5mYWNpbGl0eS1vdmVydmlldyBwIHtcbiAgICBjb2xvcjogIzYyNjI2MjsgfVxuICBzZWN0aW9uLmZhY2lsaXR5LW92ZXJ2aWV3IC5pbWFnZS1zbGlkZXItZ2FsbGVyeSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgc2VjdGlvbi5mYWNpbGl0eS1vdmVydmlldyAuaW1hZ2Utc2xpZGVyLWdhbGxlcnkgLmltYWdlLXNsaWRlIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgc2VjdGlvbi5mYWNpbGl0eS1vdmVydmlldyAubGluay1jb250IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgc2VjdGlvbi5mYWNpbGl0eS1vdmVydmlldyAubGluay1jb250ID4gcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtOyB9XG4gICAgc2VjdGlvbi5mYWNpbGl0eS1vdmVydmlldyAubGluay1jb250ID4gYS5mYWNpbGl0eS1saW5rIHtcbiAgICAgIHBhZGRpbmc6IDByZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmZhY2lsaXR5LW92ZXJ2aWV3IC5leHRyYS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07IH0gfVxuXG5zZWN0aW9uLmZvcm0tY2FsbG91dCAuZ3JpZC14LmdyaWQtcGFkZGluZy14LmZvcm0tY2FsbG91dC1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW07XG4gIG1hcmdpbi1yaWdodDogMHJlbTsgfVxuXG5zZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBzZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQge1xuICAgICAgcGFkZGluZy10b3A6IDQuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAuc2VjdGlvbi10aXRsZSwgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAuc2VjdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQgYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG4gICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQgYTpub3QoLmJ1dHRvbikge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQgYS5idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDEycmVtOyB9IH1cbiAgICBzZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQgLmxpbmstY29udCBhLmZvcm0tbGluayB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAgICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQgYS5mb3JtLWxpbms6OmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2U7IH1cbiAgICAgIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAubGluay1jb250IGEuZm9ybS1saW5rOmhvdmVyOjpiZWZvcmUsIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAubGluay1jb250IGEuZm9ybS1saW5rOmZvY3VzOjpiZWZvcmUsIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAubGluay1jb250IGEuZm9ybS1saW5rOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgc2VjdGlvbi5mb3JtLWNhbGxvdXQgLmZvcm0tY2FsbG91dC1jYXJkIC5saW5rLWNvbnQgYS5mb3JtLWxpbms6aG92ZXI6OmFmdGVyLCBzZWN0aW9uLmZvcm0tY2FsbG91dCAuZm9ybS1jYWxsb3V0LWNhcmQgLmxpbmstY29udCBhLmZvcm0tbGluazpmb2N1czo6YWZ0ZXIsIHNlY3Rpb24uZm9ybS1jYWxsb3V0IC5mb3JtLWNhbGxvdXQtY2FyZCAubGluay1jb250IGEuZm9ybS1saW5rOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBzZWN0aW9uLmRlYWwtY2FsbG91dCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbSAhaW1wb3J0YW50OyB9IH1cblxuc2VjdGlvbi5kZWFsLWNhbGxvdXQgLmltYWdlLWxpbmstY29udCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBzZWN0aW9uLmRlYWwtY2FsbG91dCAuaW1hZ2UtbGluay1jb250IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5pbWFnZS1saW5rLWNvbnQge1xuICAgICAgbWluLWhlaWdodDogMjJyZW07IH0gfVxuICBzZWN0aW9uLmRlYWwtY2FsbG91dCAuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgc2VjdGlvbi5kZWFsLWNhbGxvdXQgLmltYWdlLWxpbmstY29udCAub3ZlcmxheSAuaW1hZ2UtbGluay1jb250ZW50ID4gKiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmltYWdlLWxpbmstY29udGVudCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgc2VjdGlvbi5kZWFsLWNhbGxvdXQgLmltYWdlLWxpbmstY29udCAub3ZlcmxheSAuaW1hZ2UtbGluay1jb250ZW50IC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmltYWdlLWxpbmstY29udGVudCAuc2VjdGlvbi1zdWJ0aXRsZSA+IGJyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5pbWFnZS1saW5rLWNvbnQgLm92ZXJsYXkgLmltYWdlLWxpbmstY29udGVudCAuc2VjdGlvbi1zdWJ0aXRsZSA+IGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBzZWN0aW9uLmRlYWwtY2FsbG91dCAuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5pbWFnZS1saW5rLWNvbnRlbnQgLmJ1dHRvbi5mYWtlLWxpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuXG5zZWN0aW9uLmRlYWwtY2FsbG91dCAuaW1hZ2UtbGluazpob3ZlciAuYnV0dG9uLmZha2UtbGluaywgc2VjdGlvbi5kZWFsLWNhbGxvdXQgLmltYWdlLWxpbms6Zm9jdXMgLmJ1dHRvbi5mYWtlLWxpbmssIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5pbWFnZS1saW5rOmFjdGl2ZSAuYnV0dG9uLmZha2UtbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRTcyN0Y7XG4gIGJvcmRlci1jb2xvcjogIzJFNzI3RjsgfVxuXG5zZWN0aW9uLmRlYWwtY2FsbG91dCAuZXh0cmEtbGluay1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5leHRyYS1saW5rLWNlbGwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgc2VjdGlvbi5kZWFsLWNhbGxvdXQgLmV4dHJhLWxpbmstY2VsbCAuZGVhbC1jYWxsb3V0LWV4dHJhLWxpbmsge1xuICAgIGJvcmRlci1yYWRpdXM6IDByZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDElO1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5leHRyYS1saW5rLWNlbGwgLmRlYWwtY2FsbG91dC1leHRyYS1saW5rOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5leHRyYS1saW5rLWNlbGwgLmRlYWwtY2FsbG91dC1leHRyYS1saW5rOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmRlYWwtY2FsbG91dCAuZXh0cmEtbGluay1jZWxsIC5kZWFsLWNhbGxvdXQtZXh0cmEtbGluayB7XG4gICAgICAgIG1hcmdpbjogMHJlbSAwLjI4MTI1cmVtIDByZW0gMC4yODEyNXJlbTsgfVxuICAgICAgICBzZWN0aW9uLmRlYWwtY2FsbG91dCAuZXh0cmEtbGluay1jZWxsIC5kZWFsLWNhbGxvdXQtZXh0cmEtbGluazpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMHJlbTsgfVxuICAgICAgICBzZWN0aW9uLmRlYWwtY2FsbG91dCAuZXh0cmEtbGluay1jZWxsIC5kZWFsLWNhbGxvdXQtZXh0cmEtbGluazpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDByZW07IH0gfVxuXG5zZWN0aW9uLmRlYWwtY2FsbG91dCAuZGVhbC1jYWxsb3V0LXNsaWNrc2xpZGVyID4gLnNsaWNrLWxpc3QgLnNsaWNrLXNsaWRlID4gZGl2IHtcbiAgZm9udC1zaXplOiAwcmVtOyB9XG4gIHNlY3Rpb24uZGVhbC1jYWxsb3V0IC5kZWFsLWNhbGxvdXQtc2xpY2tzbGlkZXIgPiAuc2xpY2stbGlzdCAuc2xpY2stc2xpZGUgPiBkaXYgPiBhIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuc2VjdGlvbi5kZWFsLWNhbGxvdXQgKyBzZWN0aW9uLmFsbC1wcm9kdWN0cyB7XG4gIHBhZGRpbmctdG9wOiAwcmVtOyB9XG5cbi5hbGwtcHJvZHVjdHMge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogMS41cmVtO1xuICB6LWluZGV4OiA5OyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDEuNXJlbTtcbiAgei1pbmRleDogOTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC5pbWFnZS1jZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW07IH0gfVxuXG5zZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC5pbWFnZS1jZWxsID4gLm5ld3NsZXR0ZXItc2lnbnVwLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBtaW4taGVpZ2h0OiA5LjM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmltYWdlLWNlbGwgPiAubmV3c2xldHRlci1zaWdudXAtaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMTIuNXJlbTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyLjVyZW0pO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAuaW1hZ2UtY2VsbCA+IC5uZXdzbGV0dGVyLXNpZ251cC1pbWFnZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC5pbWFnZS1jZWxsID4gLm5ld3NsZXR0ZXItc2lnbnVwLWltYWdlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmltYWdlLWNlbGwgPiAubmV3c2xldHRlci1zaWdudXAtaW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAuaW1hZ2UtY2VsbCA+IC5uZXdzbGV0dGVyLXNpZ251cC1pbWFnZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmltYWdlLWNlbGwgPiAubmV3c2xldHRlci1zaWdudXAtaW1hZ2Uge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmltYWdlLWNlbGwgPiAubmV3c2xldHRlci1zaWdudXAtaW1hZ2Uge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLmltYWdlLWNlbGwgPiAubmV3c2xldHRlci1zaWdudXAtaW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW07IH0gfVxuXG5zZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU3MjdGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjA2MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC4wNjI1cmVtOyB9IH1cbiAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5zZWN0aW9uLXRpdGxlLCBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMS4wMTU0M3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjAxNTQzcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjY5MjM5cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjY5MjM5cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMDMwODdyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMDMwODdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjAzMDg3cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjAzMDg3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi43NTAxNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi43NTAxNHJlbTsgfSB9XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgI21jX2VtYmVkX3NpZ251cCAjbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCA+IGgyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCAuaW5kaWNhdGVzLXJlcXVpcmVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjNjI2MjYyO1xuICAgICAgbWluLWhlaWdodDogMi41cmVtO1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07IH1cbiAgICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSg5OCwgOTgsIDk4LCAwLjYpOyB9XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgZW0ge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI5OyB9XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIsIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IGlucHV0W3R5cGU9c3VibWl0XTpmb2N1cywgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgaW5wdXRbdHlwZT1zdWJtaXRdOmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzJFNzI3RjsgfVxuICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IC5tYy1maWVsZC1ncm91cCBsYWJlbCB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCAubWMtZmllbGQtZ3JvdXAuc2l6ZTFvZjIgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgc2VjdGlvbi5uZXdzbGV0dGVyLXNpZ251cCAudGV4dC1jZWxsID4gLnRleHQtY2VsbC1jb250ZW50IC5mb3JtLWNvbnRlbnQgLm1jLWZpZWxkLWdyb3VwIC5kYXRlZmllbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBzZWN0aW9uLm5ld3NsZXR0ZXItc2lnbnVwIC50ZXh0LWNlbGwgPiAudGV4dC1jZWxsLWNvbnRlbnQgLmZvcm0tY29udGVudCAubWMtZmllbGQtZ3JvdXAgLmRhdGVmaWVsZCAuc3ViZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIHNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAgLnRleHQtY2VsbCA+IC50ZXh0LWNlbGwtY29udGVudCAuZm9ybS1jb250ZW50IC5tYy1maWVsZC1ncm91cCAuZGF0ZWZpZWxkIC5zbWFsbC1tZXRhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIHNlY3Rpb24uZmVhdHVyZWQtcHJvZHVjdHMgPiAuZ3JpZC1jb250YWluZXIsIC5lcnJvcjQwNCAuYm9keS1tYWluIHNlY3Rpb24uZmVhdHVyZWQtcHJvZHVjdHMgPiAjY29udGVudC53aWRlY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gICAgcGFkZGluZy1yaWdodDogMHJlbTsgfSB9XG5cbnNlY3Rpb24uZmVhdHVyZWQtcHJvZHVjdHMgLmltYWdlLWxpbmstY2VsbCAuaW1hZ2UtbGluayB7XG4gIG1pbi1oZWlnaHQ6IDIwcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgc2VjdGlvbi5mZWF0dXJlZC1wcm9kdWN0cyAuaW1hZ2UtbGluay1jZWxsIC5pbWFnZS1saW5rIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcmVtOyB9IH1cbiAgc2VjdGlvbi5mZWF0dXJlZC1wcm9kdWN0cyAuaW1hZ2UtbGluay1jZWxsIC5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgc2VjdGlvbi5mZWF0dXJlZC1wcm9kdWN0cyAuaW1hZ2UtbGluay1jZWxsIC5pbWFnZS1saW5rIC5pbWFnZS1saW5rLWNvbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjUlOyB9IH1cbiAgICBzZWN0aW9uLmZlYXR1cmVkLXByb2R1Y3RzIC5pbWFnZS1saW5rLWNlbGwgLmltYWdlLWxpbmsgLmltYWdlLWxpbmstY29udCAuaW1hZ2UtbGluay1jb250ZW50IC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cbiAgc2VjdGlvbi5mZWF0dXJlZC1wcm9kdWN0cyAuaW1hZ2UtbGluay1jZWxsIC5pbWFnZS1saW5rOmhvdmVyIC5mYWtlLWxpbmssIHNlY3Rpb24uZmVhdHVyZWQtcHJvZHVjdHMgLmltYWdlLWxpbmstY2VsbCAuaW1hZ2UtbGluazpmb2N1cyAuZmFrZS1saW5rLCBzZWN0aW9uLmZlYXR1cmVkLXByb2R1Y3RzIC5pbWFnZS1saW5rLWNlbGwgLmltYWdlLWxpbms6YWN0aXZlIC5mYWtlLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMzQ4NEY7IH1cblxuLndvby1wcm9kdWN0LWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjAzMTI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjAzMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuMDMxMjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjAzMTI1cmVtOyB9IH1cbiAgICAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1jZWxsLWxpbms6aG92ZXIsIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LWNlbGwtbGluazpmb2N1cywgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtY2VsbC1saW5rOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGQ0ZEO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJFNzI3RjsgfVxuICAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luLWJvdHRvbTogMC42NjY2N3JlbTtcbiAgICBoZWlnaHQ6IDkuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xMTExMXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLndvby1wcm9kdWN0LWNvbnRlbnQgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODA1NTZyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTUuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMjcuMzEyNXJlbTsgfSB9XG4gIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LW1ldGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LW1ldGEgLnByb2R1Y3QtdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7IH1cbiAgICAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1tZXRhIC5wcm9kdWN0LXNob3J0LWRlc2Mge1xuICAgICAgY29sb3I6ICM2MjYyNjI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbnNlY3Rpb24uYWxsLXByb2R1Y3RzIC5maWx0ZXItY2VsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBzZWN0aW9uLmFsbC1wcm9kdWN0cyAuZmlsdGVyLWNlbGwgPiAuc2VsZWN0LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgc2VjdGlvbi5hbGwtcHJvZHVjdHMgLmZpbHRlci1jZWxsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgIHNlY3Rpb24uYWxsLXByb2R1Y3RzIC5maWx0ZXItY2VsbCA+IC5jYXB0aW9uLCBzZWN0aW9uLmFsbC1wcm9kdWN0cyAucGFnZS13cmFwLnR5cGUtc2luZ2xlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGUtcHJvZHVjdC1zZWN0aW9uIC5hZGQtdG8tY2FydC53Yy1nZW5lcmF0ZWQgZGwucHJvZHVjdC1hZGRvbi10b3RhbHMuZmlsdGVyLWNlbGwgPiBkdCwgLnBhZ2Utd3JhcC50eXBlLXNpbmdsZS5zaW5nbGUtcHJvZHVjdCAuc2luZ2xlLXByb2R1Y3Qtc2VjdGlvbiAuYWRkLXRvLWNhcnQud2MtZ2VuZXJhdGVkIHNlY3Rpb24uYWxsLXByb2R1Y3RzIGRsLnByb2R1Y3QtYWRkb24tdG90YWxzLmZpbHRlci1jZWxsID4gZHQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgICAgIHNlY3Rpb24uYWxsLXByb2R1Y3RzIC5maWx0ZXItY2VsbCA+IC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1iYXNpczogMjAlOyB9XG4gICAgICAgIHNlY3Rpb24uYWxsLXByb2R1Y3RzIC5maWx0ZXItY2VsbCA+IC5zZWxlY3Qtd3JhcHBlcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDByZW07IH0gfVxuXG5zZWN0aW9uLmFsbC1wcm9kdWN0cyAuY2xlYXItZmlsdGVycy1jZWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIHNlY3Rpb24uYWxsLXByb2R1Y3RzIC5jbGVhci1maWx0ZXJzLWNlbGwgLmNsZWFyLWZpbHRlcnMtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5zZWN0aW9uLmFsbC1wcm9kdWN0cyAuZ3JpZC1jb250IC5ncmlkLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgc2VjdGlvbi5hbGwtcHJvZHVjdHMgLmdyaWQtY29udCAuZ3JpZC1pdGVtIC5vbnNhbGVmbGFnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1JTtcbiAgICBsZWZ0OiAyMCU7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBzZWN0aW9uLmFsbC1wcm9kdWN0cyAuZ3JpZC1jb250IC5ncmlkLWl0ZW0gLm9uc2FsZWZsYWcge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNDAlOyB9IH1cbiAgc2VjdGlvbi5hbGwtcHJvZHVjdHMgLmdyaWQtY29udCAuZ3JpZC1pdGVtIC53b28tcHJvZHVjdC1jb250ZW50IC5wcm9kdWN0LW1ldGEgLnByb2R1Y3QtdGl0bGUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtOyB9XG4gIHNlY3Rpb24uYWxsLXByb2R1Y3RzIC5ncmlkLWNvbnQgLmdyaWQtaXRlbSAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1tZXRhIC5wcm9kdWN0LXNob3J0LWRlc2MsIHNlY3Rpb24uYWxsLXByb2R1Y3RzIC5ncmlkLWNvbnQgLmdyaWQtaXRlbSAud29vLXByb2R1Y3QtY29udGVudCAucHJvZHVjdC1tZXRhIC5wcm9kdWN0LWNhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbnNlY3Rpb24uYWxsLXByb2R1Y3RzIC5sb2FkLW1vcmUtY29udCB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBzZWN0aW9uLmFsbC1wcm9kdWN0cyAubG9hZC1tb3JlLWNvbnQgLmxvYWQtbW9yZS1idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDByZW07IH1cblxuZGl2LnBhZ2Utd3JhcCA+IC53b29jb21tZXJjZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IC53b29jb21tZXJjZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgZGl2LnBhZ2Utd3JhcCA+IC53b29jb21tZXJjZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiAud29vY29tbWVyY2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICBkaXYucGFnZS13cmFwID4gLndvb2NvbW1lcmNlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNC4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGRpdi5wYWdlLXdyYXAgPiAud29vY29tbWVyY2Uge1xuICAgICAgbWF4LXdpZHRoOiA5MHJlbTsgfSB9XG4iLCJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBsYXlmYWlyK0Rpc3BsYXk6NDAwLDcwMCZkaXNwbGF5PXN3YXAnKTtcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UFQrU2Fuczo0MDAsNzAwJmRpc3BsYXk9c3dhcCcpO1xuXG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gZm9yIFNpdGVzIHY2LjQuM1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBAaW1wb3J0ICdnbG9iYWwvY29sb3JzJztcbkBpbXBvcnQgJ2dsb2JhbC9mb250cyc7XG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UFQrU2FucytDYXB0aW9ufFBUK1NhbnM6NDAwLDcwMHxQbGF5ZmFpcitEaXNwbGF5OjQwMCw0MDBpLDcwMCw3MDBpJmRpc3BsYXk9c3dhcCcpO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE0NDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjQ7XG5cbi8vZGlmZmVyZW50IHNoYWRlcyBvZiB0aGUgcHJpbWFyeSBjb2xvciBmb3IgYmFja2dyb3VuZCBwdXJwb3Nlc1xuJHByaW1hcnktY29sb3ItbGlnaHRpc2g6IzhGQjVCQztcbiRwcmltYXJ5LWNvbG9yLWxpZ2h0OiNFMEVERjA7XG4kcHJpbWFyeS1jb2xvci12bGlnaHQ6I0Y0RkNGRDtcblxuJHRlYWw6ICMyRTcyN0Y7XG4kZGFyay10ZWFsOiAjMjM0ODRGO1xuJGxpZ2h0LWJsdWU6ICNGNEZDRkQ7XG4keWVsbG93OiAjOWI4MjQxO1xuJGxpZ2h0ZXN0LWdyYXk6I2Y3ZjdmNztcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjNjI2MjYyO1xuJGRhcmstZ3JheTogIzJDMkMyQztcbiRkYXJrLW5hdi1jb2xvcjogIzJDMzg0MDtcbiRkYXJrLWdyYXktdGludGVkOiAjMkYzNzNEO1xuJGxpZ2h0LWdyZXk6ICRsaWdodC1ncmF5O1xuJG1lZGl1bS1ncmV5OiAkbWVkaXVtLWdyYXk7XG4kZGFyay1ncmV5OiAkZGFyay1ncmF5O1xuJGRhcmstZ3JleS10aW50ZWQ6ICRkYXJrLWdyYXktdGludGVkO1xuJGFsbW9zdC1ibGFjazogIzBhMGEwYTtcbiRhbG1vc3Qtd2hpdGU6ICNGNUY1RjU7XG4kYmxhY2s6ICMwMDAwMDA7XG4kYmxhY2stODA6IHJnYmEoMCwwLDAsMC44KTtcbiR3aGl0ZTogI0ZGRkZGRjtcblxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkdGVhbCxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG5cbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OlwiUFQgU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiRjYXB0aW9uLWZvbnQtZmFtaWx5OlwiUFQgU2FucyBDYXB0aW9uXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktZm9udC1zaXplLXNtYWxsOnJlbS1jYWxjKDE2KTtcbiRib2R5LWZvbnQtc2l6ZS1tZWRpdW0tdXA6cmVtLWNhbGMoMTYpO1xuJGJvZHktbGV0dGVyLXNwYWNpbmc6MC41cHg7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ6NjAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4gIGxhcmdlOiAzNXB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JywgJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS4xO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjYpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQyKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDM0KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgKSxcbiAgbGFyZ2U6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQyKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDM2KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgKSxcbiAgeHhsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogODApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNTgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzYpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTgpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjQ7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodGVzdC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIC42KTtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjI7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJGxpZ2h0ZXN0LWdyYXk7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodGVzdC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuJGlucHV0LXBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gNCkgKiAzO1xuJGlucHV0LXNoYWRvdzogbm9uZTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggcmdiYSgkYmxhY2ssIDAuMik7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoNSAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAycHg7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAycmVtO1xuJHJldmVhbC1ib3JkZXI6IG5vbmU7XG4kcmV2ZWFsLXJhZGl1czogM3B4O1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuODUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDM2cHgsXG4gIHhsYXJnZTogMzZweCxcbiAgeHhsYXJnZTogMzZweCxcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuXG4vL05PVEU6IHRoZXNlIGFyZSB0b3RhbCBwYWRkaW5nLCBub3QgcGVyLXNpZGVcbi8vcGVyLXNpZGUgcGFkZGluZyB3aWxsIGJlIGhhbGYgb2YgdGhpcyBpZiB0aGUgaXRlbSBpcyBjZW50ZXJlZFxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6IChcbiAgc21hbGw6IDNyZW0sXG4gIG1lZGl1bTogNXJlbSxcbiAgbGFyZ2U6IDZyZW0sXG4gIHhsYXJnZTo2cmVtLFxuICB4eGxhcmdlOiA4LjEyNXJlbSxcbik7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vL3RoZXNlIHBhZGRpbmcgdmFsdWVzIGFyZSBwZXItc2lkZVxuJHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQ6IChcbiAgc21hbGw6bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZyxzbWFsbCkgLyAyLFxuICBtZWRpdW06bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZyxtZWRpdW0pIC8gMixcbiAgbGFyZ2U6bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZyxsYXJnZSkgLyAyLFxuICB4bGFyZ2U6bWFwLWdldCgkZ3JpZC1jb250YWluZXItcGFkZGluZyx4bGFyZ2UpIC8gMixcbiAgeHhsYXJnZTptYXAtZ2V0KCRncmlkLWNvbnRhaW5lci1wYWRkaW5nLHh4bGFyZ2UpIC8gMixcbik7XG5cbi8vdGhlc2UgcGFkZGluZyB2YWx1ZXMgYXJlIHBlci1zaWRlXG4kc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbTogKFxuICBzbWFsbDptYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0LHNtYWxsKSxcbiAgbWVkaXVtOm1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQsbWVkaXVtKSxcbiAgbGFyZ2U6bWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCxsYXJnZSksXG4gIHhsYXJnZTptYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0LHhsYXJnZSksXG4gIHh4bGFyZ2U6bWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCx4eGxhcmdlKSxcbik7XG5cbiRzZWN0aW9uLW1vYmlsZS1wYWRkaW5nOm1hcC1nZXQoJHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQsc21hbGwpO1xuJHNlY3Rpb24tbWVkaXVtLXBhZGRpbmc6bWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCxtZWRpdW0pO1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZzptYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0LGxhcmdlKTtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nOiRzZWN0aW9uLWxhcmdlLXBhZGRpbmc7XG4kc2VjdGlvbi14eGxhcmdlLXBhZGRpbmc6bWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCx4eGxhcmdlKTtcblxuLy8gc2VjdGlvbiB2ZXJ0aWNhbCBwYWRkaW5nXG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDonICc7XG4gIGRpc3BsYXk6dGFibGU7XG4gIGNsZWFyOmJvdGg7XG59XG4uYWxpZ24tY2VudGVyIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuJWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+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+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG4vLyBHbG9iYWxcbkBpbXBvcnQgXCJnbG9iYWwvYWNjZXNzaWJpbGl0eVwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1hZG1pblwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1vdmVycmlkZXNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvbWl4aW5zXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2RlZmF1bHRzXCI7XG5cbi8vIE1vZHVsZXNcbkBpbXBvcnQgXCJtb2R1bGVzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZWRpdG9yLXN0eWxlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcG9zdC1uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50LWxvY2F0aW9uLW1hcFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9ybS13aXRoLWJhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2FkZC10by1jYXJ0XCI7XG5AaW1wb3J0IFwibW9kdWxlcy90b3VyLXJlc2VydmF0aW9uLW1vZGFsXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hZ2UtY29uZmlybVwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RpdmlkZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saXN0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9yZXZlYWwtbW9kYWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xhYmVsc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ29vZ2xlLW1hcHNcIjtcblxuLy8gVGVtcGxhdGVzXG5AaW1wb3J0IFwidGVtcGxhdGVzL2Zyb250XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2tpdGNoZW4tc2lua1wiO1xuQGltcG9ydCBcInRlbXBsYXRlcy80MDRcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvYXJjaGl2ZS1jYXJlZXJcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvYXJjaGl2ZS1ldmVudFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9hcmNoaXZlLXBvc3RcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2luZ2xlLWxvY2F0aW9uXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3NpbmdsZS1ldmVudFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9zaW5nbGUtY2FyZWVyXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3NpbmdsZS1wb3N0XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2NvbnRhY3QtdXNcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZ2VuZXJpYy1wYWdlXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2NvbnRlbnQtcG9zdC10aWxlXCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL3NlYXJjaFwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9hcmNoaXZlLXByb2R1Y3RcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvc2luZ2xlLXByb2R1Y3RcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZmVhdHVyZWQtc2xpZGVyXCI7XG5cbi8vIEJsb2Nrc1xuQGltcG9ydCBcImJsb2Nrcy9jb3B5LXdpdGgtdGl0bGVcIjtcbkBpbXBvcnQgXCJibG9ja3MvY3RhXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2hlYWRpbmdcIjtcbkBpbXBvcnQgXCJibG9ja3MvaW1hZ2VcIjtcbkBpbXBvcnQgXCJibG9ja3MvaW1hZ2UtY3RhXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2ltYWdlLWdhbGxlcnlcIjtcbkBpbXBvcnQgXCJibG9ja3MvaW1hZ2UtbGlua3NcIjtcbkBpbXBvcnQgXCJibG9ja3MvaW5mby1jb3B5XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2V2ZW50LXNpbmdsZS1jb250ZW50XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2xvY2F0aW9uLWNhbGxvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3MvcGFyYWdyYXBoXCI7XG5AaW1wb3J0IFwiYmxvY2tzL3Byb2ZpbGVcIjtcbkBpbXBvcnQgXCJibG9ja3MvcXVvdGVcIjtcbkBpbXBvcnQgXCJibG9ja3MvZmVhdHVyZS1nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2ltYWdlLXNsaWRlci1nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2hvdXJzLXdpdGgtaW1hZ2VcIjtcbkBpbXBvcnQgXCJibG9ja3MvdHJhbnNwb3J0LXNjaGVkdWxlLWNhbGxvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3Mvc3BlY2lhbHR5LXRvdXJzXCI7XG5AaW1wb3J0IFwiYmxvY2tzL2ZhY2lsaXR5LW92ZXJ2aWV3XCI7XG5AaW1wb3J0IFwiYmxvY2tzL2Zvcm0tY2FsbG91dFwiO1xuQGltcG9ydCBcImJsb2Nrcy9kZWFsLWNhbGxvdXRcIjtcbkBpbXBvcnQgXCJibG9ja3MvbmV3c2xldHRlci1zaWdudXBcIjtcblxuLy8gQmxvY2tzIGZvciB3b29jb21tZXJjZVxuQGltcG9ydCBcImJsb2Nrcy9mZWF0dXJlZC1wcm9kdWN0c1wiO1xuQGltcG9ydCBcImJsb2Nrcy9hbGwtcHJvZHVjdHNcIjtcbkBpbXBvcnQgXCJibG9ja3Mvd29vY29tbWVyY2VcIjtcblxuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCJAbWl4aW4gc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgkZGl2aXNvcjoxLCRtYXA6JHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQpe1xuICBwYWRkaW5nLWxlZnQ6bWFwLWdldCgkbWFwLHNtYWxsKSAvICRkaXZpc29yO1xuICBwYWRkaW5nLXJpZ2h0Om1hcC1nZXQoJG1hcCxzbWFsbCkgLyAkZGl2aXNvcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgIHBhZGRpbmctbGVmdDptYXAtZ2V0KCRtYXAsbWVkaXVtKSAvICRkaXZpc29yO1xuICAgIHBhZGRpbmctcmlnaHQ6bWFwLWdldCgkbWFwLG1lZGl1bSkgLyAkZGl2aXNvcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICBwYWRkaW5nLWxlZnQ6bWFwLWdldCgkbWFwLGxhcmdlKSAvICRkaXZpc29yO1xuICAgIHBhZGRpbmctcmlnaHQ6bWFwLWdldCgkbWFwLGxhcmdlKSAvICRkaXZpc29yO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcbiAgICBwYWRkaW5nLWxlZnQ6bWFwLWdldCgkbWFwLHhsYXJnZSkgLyAkZGl2aXNvcjtcbiAgICBwYWRkaW5nLXJpZ2h0Om1hcC1nZXQoJG1hcCx4bGFyZ2UpIC8gJGRpdmlzb3I7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKXtcbiAgICBwYWRkaW5nLWxlZnQ6bWFwLWdldCgkbWFwLHh4bGFyZ2UpIC8gJGRpdmlzb3I7XG4gICAgcGFkZGluZy1yaWdodDptYXAtZ2V0KCRtYXAseHhsYXJnZSkgLyAkZGl2aXNvcjtcbiAgfVxufVxuQG1peGluIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oJGRpdmlzb3I6MSwkbWFwOiRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKXtcbiAgcGFkZGluZy10b3A6bWFwLWdldCgkbWFwLHNtYWxsKSAvICRkaXZpc29yO1xuICBwYWRkaW5nLWJvdHRvbTptYXAtZ2V0KCRtYXAsc21hbGwpIC8gJGRpdmlzb3I7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICBwYWRkaW5nLXRvcDptYXAtZ2V0KCRtYXAsbWVkaXVtKSAvICRkaXZpc29yO1xuICAgIHBhZGRpbmctYm90dG9tOm1hcC1nZXQoJG1hcCxtZWRpdW0pIC8gJGRpdmlzb3I7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgcGFkZGluZy10b3A6bWFwLWdldCgkbWFwLGxhcmdlKSAvICRkaXZpc29yO1xuICAgIHBhZGRpbmctYm90dG9tOm1hcC1nZXQoJG1hcCxsYXJnZSkgLyAkZGl2aXNvcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgcGFkZGluZy10b3A6bWFwLWdldCgkbWFwLHhsYXJnZSkgLyAkZGl2aXNvcjtcbiAgICBwYWRkaW5nLWJvdHRvbTptYXAtZ2V0KCRtYXAseGxhcmdlKSAvICRkaXZpc29yO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSl7XG4gICAgcGFkZGluZy10b3A6bWFwLWdldCgkbWFwLHh4bGFyZ2UpIC8gJGRpdmlzb3I7XG4gICAgcGFkZGluZy1ib3R0b206bWFwLWdldCgkbWFwLHh4bGFyZ2UpIC8gJGRpdmlzb3I7XG4gIH1cbn1cbi8vTk9URTogZm9yIG5lZ2F0aXZlIHNwYWNpbmcsIHBhc3MgaW4gYSBuZWdhdGl2ZSBkaXZpc29yIHZhbHVlXG5AbWl4aW4gc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKCRzaWRlLCR0eXBlOnBhZGRpbmcsJGRpdmlzb3I6MSwkbWFwOiRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKXtcbiAgI3skdHlwZX0tI3skc2lkZX06KG1hcC1nZXQoJG1hcCxzbWFsbCkgLyAkZGl2aXNvcik7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAjeyR0eXBlfS0jeyRzaWRlfToobWFwLWdldCgkbWFwLG1lZGl1bSkgLyAkZGl2aXNvcik7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgI3skdHlwZX0tI3skc2lkZX06KG1hcC1nZXQoJG1hcCxsYXJnZSkgLyAkZGl2aXNvcik7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuICAgICN7JHR5cGV9LSN7JHNpZGV9OihtYXAtZ2V0KCRtYXAseGxhcmdlKSAvICRkaXZpc29yKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2Upe1xuICAgICN7JHR5cGV9LSN7JHNpZGV9OihtYXAtZ2V0KCRtYXAseHhsYXJnZSkgLyAkZGl2aXNvcik7XG4gIH1cbn1cblxuLnNlY3Rpb24tcGFkZGluZyB7XG4gIEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoKTtcbn1cblxuQG1peGluIG1hcmdpbi1jZW50ZXIoJGRpc3BsYXk6YmxvY2spe1xuICBtYXJnaW4tbGVmdDphdXRvO1xuICBtYXJnaW4tcmlnaHQ6YXV0bztcbiAgZGlzcGxheTokZGlzcGxheTtcbn1cblxuQG1peGluIHVuZGVybGluZS1ob3Zlci1sLXIoJGJhc2UtY29sb3I6JGJsYWNrLCAkaG92ZXItY29sb3I6JHByaW1hcnktY29sb3IsICRoZWlnaHQ6MnB4LCAkYWZ0ZXI6dHJ1ZSl7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1ib3R0b206MDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIEBpZiAkYWZ0ZXJ7XG4gICAgJjphZnRlcntcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjVzIGVhc2U7XG4gICAgICBtYXJnaW4tdG9wOigkaGVpZ2h0ICsgJGhlaWdodC8yKTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmV7XG4gICAgICAmOmFmdGVye1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGhvdmVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZXtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjVzIGVhc2U7XG4gICAgICBtYXJnaW4tdG9wOi0kaGVpZ2h0O1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDphdXRvO1xuICAgICAgbGVmdDowO1xuICAgICAgYm90dG9tOi0kaGVpZ2h0O1xuICAgICAgdG9wOmF1dG87XG4gICAgfVxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZle1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoZWFkZXItc2l6ZSgkdHlwZSl7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldChtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zdHlsZXMsIFwic21hbGxcIiksICR0eXBlKSwgXCJmb250LXNpemVcIikgKiAxcHgpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KG1hcC1nZXQobWFwLWdldCgkaGVhZGVyLXN0eWxlcywgXCJtZWRpdW1cIiksICR0eXBlKSwgXCJmb250LXNpemVcIikgKiAxcHgpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldChtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zdHlsZXMsIFwibGFyZ2VcIiksICR0eXBlKSwgXCJmb250LXNpemVcIikgKiAxcHgpO1xuICB9XG59XG5cbkBtaXhpbiBwcmVmaXgtYW5nbGUoJGNvbG9yOiRwcmltYXJ5LWNvbG9yLCRzaXplOnJlbS1jYWxjKDEyMCksJGFmdGVyOmZhbHNlKXtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgZGlzcGxheTpibG9jaztcbiAgQGlmICRhZnRlciB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OicgJztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgbGVmdDooJHNpemUvMik7XG4gICAgICB0b3A6MHJlbTtcbiAgICAgIGJvdHRvbTowcmVtO1xuICAgICAgaGVpZ2h0OjEwNSU7XG4gICAgICB0cmFuc2Zvcm06c2tldygtMTVkZWcpO1xuICAgICAgd2lkdGg6KCRzaXplKjEuNSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvcjtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OicgJztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgbGVmdDooJHNpemUvMik7XG4gICAgICB0b3A6MHJlbTtcbiAgICAgIGJvdHRvbTowcmVtO1xuICAgICAgaGVpZ2h0OjEwNSU7XG4gICAgICB0cmFuc2Zvcm06c2tldygtMTVkZWcpO1xuICAgICAgd2lkdGg6KCRzaXplKjEuNSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvcjtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwcmVmaXgtYW5nbGUtY29udGFpbmVyKCRjb2xvcjokcHJpbWFyeS1jb2xvciwkc2l6ZTpyZW0tY2FsYygxMjApLCRhZnRlcjpmYWxzZSl7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICA+IC5wcmVmaXgtYW5nbGUge1xuICAgIHRvcDowcmVtO1xuICAgIGJvdHRvbTowcmVtO1xuICAgIGxlZnQ6LSgkc2l6ZSk7XG4gICAgd2lkdGg6JHNpemU7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgQGluY2x1ZGUgcHJlZml4LWFuZ2xlKCRjb2xvciwkc2l6ZSwkYWZ0ZXIpO1xuICB9XG59XG5cbkBtaXhpbiBhZnRlci1leHRlbmQoJGNvbG9yLCRjb250YWluZXItd2lkdGg6JGdsb2JhbC13aWR0aCwkbGVmdDpmYWxzZSwkbGVhdmUtc2Nyb2xsYmFyLXJvb206dHJ1ZSl7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OicgJztcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowcmVtO1xuICAgIGJvdHRvbTowcmVtO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6JGNvbG9yO1xuICB9XG5cbiAgQGlmICRsZWF2ZS1zY3JvbGxiYXItcm9vbSB7XG4gICAgLy90aGUgOCBwaXhlbHMgaGVyZSBpcyBmb3IgdGhlIHNjcm9sbCBiYXJcbiAgICAkbGVmdC1vZnN0OmNhbGMoI3soJGdsb2JhbC13aWR0aC8yKSAtIHJlbS1jYWxjKDgpfSAtIDUwdncpO1xuICAgICRsZWZ0LXdkdGg6Y2FsYyg1MHZ3IC0gI3soJGdsb2JhbC13aWR0aC8yKSAtIHJlbS1jYWxjKDgpfSk7XG4gICAgJHJpZ2h0LW9mc3Q6Y2FsYygjeygkY29udGFpbmVyLXdpZHRoLzIpICsgcmVtLWNhbGMoOCl9IC0gNTB2dyk7XG4gICAgJHJpZ2h0LXdkdGg6Y2FsYyg1MHZ3IC0gI3soJGNvbnRhaW5lci13aWR0aC8yKSArIHJlbS1jYWxjKDgpfSk7XG5cbiAgICBAaWYgJGxlZnQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6JGxlZnQtb2ZzdDtcbiAgICAgICAgd2lkdGg6JGxlZnQtd2R0aDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICByaWdodDokcmlnaHQtb2ZzdDtcbiAgICAgICAgd2lkdGg6JHJpZ2h0LXdkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgICRsZWZ0LW9mc3Q6Y2FsYygjeygkZ2xvYmFsLXdpZHRoLzIpfSAtIDUwdncpO1xuICAgICRsZWZ0LXdkdGg6Y2FsYyg1MHZ3IC0gI3soJGdsb2JhbC13aWR0aC8yKX0pO1xuICAgICRyaWdodC1vZnN0OmNhbGMoI3soJGNvbnRhaW5lci13aWR0aC8yKX0gLSA1MHZ3KTtcbiAgICAkcmlnaHQtd2R0aDpjYWxjKDUwdncgLSAjeygkY29udGFpbmVyLXdpZHRoLzIpfSk7XG5cbiAgICBAaWYgJGxlZnQge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGxlZnQ6JGxlZnQtb2ZzdDtcbiAgICAgICAgd2lkdGg6JGxlZnQtd2R0aDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICByaWdodDokcmlnaHQtb2ZzdDtcbiAgICAgICAgd2lkdGg6JHJpZ2h0LXdkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1zaGluZSgkY29sb3IsJGZ1bGwtd2lkdGgtb24tbWVkaXVtOmZhbHNlLCRmdWxsLXdpZHRoLW9uLWxhcmdlOmZhbHNlKXtcbiAgdHJhbnNpdGlvbjogLjVzO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xuICAmOmJlZm9yZXtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBmaWx0ZXI6IGJsdXIoMzBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCkgIHNrZXdYKC0xNWRlZyk7XG4gIH1cbiAgJjphZnRlcntcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAzMHB4O1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYmx1cig1cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpIHNrZXdYKC0xNWRlZyk7XG4gIH1cbiAgJjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6YmVmb3Jle1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDk1dncpICBza2V3WCgtMTVkZWcpO1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgIH1cbiAgICAmOmFmdGVye1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDk1dncpIHNrZXdYKC0xNWRlZyk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogLjVzO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICY6aG92ZXJ7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgQGlmICRmdWxsLXdpZHRoLW9uLW1lZGl1bSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDk1dncpICBza2V3WCgtMTVkZWcpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjB2dykgIHNrZXdYKC0xNWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgIEBpZiAkZnVsbC13aWR0aC1vbi1tZWRpdW0ge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg5NXZ3KSAgc2tld1goLTE1ZGVnKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYwdncpICBza2V3WCgtMTVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAmOmhvdmVye1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIEBpZiAkZnVsbC13aWR0aC1vbi1sYXJnZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDk1dncpICBza2V3WCgtMTVkZWcpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTB2dykgIHNrZXdYKC0xNWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgIEBpZiAkZnVsbC13aWR0aC1vbi1sYXJnZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDk1dncpICBza2V3WCgtMTVkZWcpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTB2dykgIHNrZXdYKC0xNWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGVhc2UtYWxsKCR0aW1lOjAuNXMpIHtcbiAgdHJhbnNpdGlvbjphbGwgJHRpbWUgZWFzZTtcbn1cblxuQG1peGluIGhlYWRpbmctdW5kZXJsaW5lLXBlbGVlKCkge1xuICBtYXJnaW4tYm90dG9tOjMuNzVyZW07XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGJvdHRvbTogLTEuNzVyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHdpZHRoOiA2cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuIiwic2VjdGlvbiB7XG5cdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oKTtcbn1cblxuLmhpZGRlbiwgLmxvYWQtbW9yZS1oaWRkZW4ge1xuXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbn1cblxuYWRkcmVzcyB7XG5cdGZvbnQtc3R5bGU6bm9ybWFsO1xufVxuXG4uaW1hZ2UtY2VsbCB7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xufVxuXG5ib2R5IHtcblx0LnNob3ctd2hlbi1sb2dnZWQtaW4ge1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxuXHQuc2hvdy13aGVuLWxvZ2dlZC1vdXQge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cbn1cblxuYm9keS5sb2dnZWQtaW4ge1xuXHQuc2hvdy13aGVuLWxvZ2dlZC1pbiB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0fVxuXHQuc2hvdy13aGVuLWxvZ2dlZC1vdXQge1xuXHRcdGRpc3BsYXk6bm9uZTtcblx0fVxufVxuXG4iLCIvLyBOYXZpZ2F0aW9uIGJyZWFrcG9pbnRzXG4ubW9iaWxlLW1lbnUsXG4uc2l0ZS10aXRsZS1iYXIge1xuXHRAaW5jbHVkZSBoaWRlLWZvcihsYXJnZSk7XG59XG5cbi5kZXNrdG9wLW1lbnUsXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcblx0QGluY2x1ZGUgc2hvdy1mb3IobGFyZ2UpO1xufVxuXG4vLyBNb2JpbGUgbWVudVxuLm1vYmlsZS1tZW51IHtcblx0ZGlzcGxheTogbm9uZTsgLy8gcHJldmVudHMgcmVwYWludCBjYXVzZWQgYnkgSlMgaGlkaW5nIG1lbnUgb25sb2FkXG59XG5cbi5vZmYtY2FudmFzIHtcblx0PiB1bC5tZW51IHtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0LmlzLWFjdGl2ZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHR9XG5cdFx0LmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdHBhZGRpbmc6IDFyZW0gMC43cmVtO1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwgMC4wNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHVsLm1lbnUubmVzdGVkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdFx0YSB7XG5cdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3ItbGlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdC5tZW51IC5hY3RpdmUgPiBhIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuXHR9XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXHQmLmlzLW9wZW4tcmlnaHQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcgJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMHJlbTtcblx0XHRcdGJvdHRvbTogMHJlbTtcblx0XHRcdGxlZnQ6IDByZW07XG5cdFx0XHRyaWdodDogMHJlbTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjgpO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0fVxuXHR9XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGl0bGUtYmFyIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHQuY3VzdG9tLW1lbnUtaWNvbiB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ly9tb2JpbGUgc2l0ZSBsb2dvXG5cdGEuc2lsZW50IHtcblx0XHRwYWRkaW5nLXRvcDogMC4yNXJlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcblx0fVxuXHQuc2l0ZS1sb2dvLCAuc2l0ZS1sb2dvLWludmVydGVkIHtcblx0XHRoZWlnaHQ6IDJyZW07XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblx0XG5cdC50aXRsZS1iYXItbGVmdCB7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGxlZnQscGFkZGluZywxLCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KTtcblx0fVxuXHQudGl0bGUtYmFyLXJpZ2h0IHtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDpmbGV4LWVuZDtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUocmlnaHQscGFkZGluZywxLCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KTtcblx0XHQuc2VhcmNoZm9ybS1jb250IHtcblx0XHRcdGZvcm0ge1xuXHRcdFx0XHQuaW5wdXQtZ3JvdXAge1xuXHRcdFx0XHRcdGJ1dHRvbi5zZWFyY2hzdWJtaXQge1xuXHRcdFx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuYm9keS5vZmZjYW52YXMge1xuXHQmOm5vdCguaG9tZSkge1xuXHRcdC5zaXRlLWhlYWRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHQuc2l0ZS1kZXNrdG9wLXRpdGxlIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDFyZW07XG5cdFx0XHR9XG5cdFx0XHQmLnN0aWNreSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdFx0dG9wOiAwcmVtO1xuXHRcdFx0XHRsZWZ0OiAwcmVtO1xuXHRcdFx0XHRyaWdodDogMHJlbTtcblx0XHRcdFx0ei1pbmRleDogMTAwO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDEwcHggcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLCAwLjI1KTtcblx0XHRcdFx0Ji5vZmYtY2FudmFzLXB1c2hlZCB7XG5cdFx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0XHQvLyAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjUwcHgsMCwwKTtcblx0XHRcdFx0XHRsZWZ0OiAtMjUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnRpdGxlLWJhci10aXRsZSB7XG5cdGEge1xuXHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0fVxufVxuXG4ubW9iaWxlLW1lbnUsXG4ubW9iaWxlLW9mZi1jYW52YXMtbWVudSB7XG5cdC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkYXJrLW5hdi1jb2xvciwgNSUpO1xuXHR9XG59XG5cbi8vIFRhYmxldCBhbmQgZGVza3RvcCBtZW51XG5cbi50b3AtYmFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogcmVtLWNhbGMoMTQ0MCk7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0LCB3aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHR1bCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblxuXHQudG9wLWJhci10aXRsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0Lm5hdi1sb2dvLWxpbmsge1xuXHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuODtcblx0XHRcdG1hcmdpbi1sZWZ0OiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAkc2VjdGlvbi14eGxhcmdlLXBhZGRpbmc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC8vIHN0eWxpbmcgZm9yIHRvcCBsZXZlbCBuYXYgaXRlbXMgaW4gcHJpbWFyeSBtZW51XG5cdC5tZW51IHtcblx0XHQubWVudS1pdGVtIHtcblx0XHRcdHBhZGRpbmc6IDAgMXJlbSAwLjVyZW07XG5cdFx0XHRhIHtcblx0XHRcdFx0IGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHQgZm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHQgbGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdCBwYWRkaW5nOiAwO1xuXHRcdFx0XHQgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHQgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQgQGluY2x1ZGUgdW5kZXJsaW5lLWhvdmVyLWwtcih0cmFuc3BhcmVudCwgJHByaW1hcnktY29sb3IsIDJweCwgZmFsc2UpO1xuXG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0Ym90dG9tOiAtNXB4O1xuXHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdCAmOmhvdmVyOm5vdCguYnV0dG9uKSB7XG5cdFx0XHRcdFx0IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHQgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdCBcblx0XHRcdFx0XHQgJjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdCBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHQgfVxuXHRcdFx0XHQgfVxuXHRcdFx0IH1cblx0XHR9XG5cdH1cblx0XG5cdHVsLm1lbnU6bm90KC5zdWJtZW51KSB7XG5cdFx0JiA+IGxpIHtcblx0XHRcdHBhZGRpbmctdG9wOjByZW07XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTowcmVtO1xuXHRcdFx0JiA+IGEge1xuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0fVxuXHRcdFx0JiA+IC5zdWJtZW51IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHRcdG1pbi13aWR0aDogYXV0bztcblx0XHRcdFx0d2lkdGg6IG1heC1jb250ZW50O1xuXG5cdFx0XHRcdGxpLm1lbnUtaXRlbSB7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdC5tZW51ID4gbGkuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdH1cblxuXHQubWVudSAuYWN0aXZlID4gYSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXHR9XG5cblx0Ly8gLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcblx0Ly8gXHRwYWRkaW5nOiAxcmVtO1xuXHQvLyB9XG5cblx0LmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcblx0XHRyaWdodDogMXJlbTtcblx0fVxuXHQuZHJvcGRvd24ubWVudSB7XG5cdFx0LnN1Ym1lbnUge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cblx0XHQuaGFzLXN1Ym1lbnUuaXMtZG93bi1hcnJvdyB7XG5cdFx0XHRhIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bGkge1xuXHRcdFx0XHQuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpIHtcblx0XHRcdCYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuXHRcdFx0XHQmID4gYSB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMi41cmVtO1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0XHRcdD4gYTo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOmNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRcdGJvdHRvbTotNXB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHRcdHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3ItdmxpZ2h0O1xuXHRcdFx0XHRcdHBhZGRpbmc6MC41cmVtIDEuNXJlbTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOjFyZW07XG5cdFx0XHRcdFx0bWluLXdpZHRoOjEwMCU7XG5cdFx0XHRcdFx0bGkubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6MHJlbSAwcmVtIDAuNXJlbSAwcmVtO1xuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOjAuNXJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiRibGFjaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYub3BlbnMtbGVmdCB7XG5cdFx0XHRcdC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHRcdFx0XHR6LWluZGV4OiA0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICdcXGYxMDcnO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdGJvdHRvbTogYXV0bztcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Jjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdHdpZHRoOmNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gZGVza3RvcCBzaXRlIGxvZ29cblx0LnNpdGUtbG9nbywgLnNpdGUtbG9nby1pbnZlcnRlZCB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0QGluY2x1ZGUgZWFzZS1hbGwoKTtcblx0XHRoZWlnaHQ6cmVtLWNhbGMoNTMpO1xuXHR9XG5cdC50b3AtYmFyLXItcHJlbWVudSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXgtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcgJztcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg0OSk7XG5cdFx0fVxuXHRcdC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOjByZW07XG5cdFx0XHRjb2xvcjogJGRhcmstZ3JleTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJ3wnO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogcmVtLWNhbGMoLTMpO1xuXHRcdFx0XHRib3R0b206IDFyZW07XG5cdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjI7XG5cdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCk6bGFzdC1vZi10eXBlIGE6YWZ0ZXIge1xuXHRcdH1cblx0XHQucHJlbWVudS1jb250IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0LnNlYXJjaGZvcm0tY29udCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwcmVtO1xuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdH1cblx0XHRcdG1hcmdpbi1yaWdodDoxcmVtO1xuXHRcdH1cblx0XHQubG9naW4tbWVudSB7XG5cdFx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtcblx0XHRcdG1hcmdpbi1sZWZ0OjFyZW07XG5cdFx0XHRtYXJnaW4tcmlnaHQ6MXJlbTtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0YSwgLmxvZ2luLXN0YXR1cyB7XG5cdFx0XHRcdGNvbG9yOiRkYXJrLWdyYXk7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6MS41cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OigxOS8xNCk7XG5cdFx0XHRcdEBpbmNsdWRlIHVuZGVybGluZS1ob3Zlci1sLXIodHJhbnNwYXJlbnQsICRwcmltYXJ5LWNvbG9yLCAycHgsIGZhbHNlKTtcblx0XHRcdH1cblx0XHRcdC5sb2dpbi1zdGF0dXMge1xuXHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHQuaGVsbG8tdGV4dCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjAuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuZmEge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZToxcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdD4gLmxvZ291dC1tZW51IHtcblx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOjEuMTVyZW07XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzowIDhweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0XHRcdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDU7XG5cdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAkcHJpbWFyeS1jb2xvci12bGlnaHQ7XG5cdFx0XHRcdFx0XHR0b3A6IC04cHg7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnICc7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6JGRhcmstZ3JheSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06bm9uZTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZToxcmVtO1xuXHRcdFx0XHRcdFx0Jjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMsICYuaXMtYWN0aXZlIHtcblx0XHRcdFx0LmxvZ2luLXN0YXR1cyA+IC5sb2dvdXQtbWVudSB7XG5cdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jYXJ0LW1lbnUge1xuXHRcdFx0ZGlzcGxheTpmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG5cdFx0XHRtYXJnaW4tbGVmdDoxcmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OjFyZW07XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6JyAnO1xuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDotMXJlbTtcblx0XHRcdFx0dG9wOjUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdHdpZHRoOjFweDtcblx0XHRcdFx0aGVpZ2h0OnJlbS1jYWxjKDI0KTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMSk7XG5cdFx0XHR9XG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6MS41cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OigxOS8xNCk7XG5cdFx0XHRcdEBpbmNsdWRlIHVuZGVybGluZS1ob3Zlci1sLXIodHJhbnNwYXJlbnQsICRwcmltYXJ5LWNvbG9yLCAycHgsIGZhbHNlKTtcblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRsZWZ0OjEuNXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOmNhbGMoMTAwJSAtIDEuNXJlbSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmhhcy1pdGVtcyA+IGEge1xuXHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdHdpZHRoOmNhbGMoMTAwJSAtIDMuNXJlbSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRzcGFuLmZhIHtcblx0XHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDpyZW0tY2FsYygxLjUpO1xuXHRcdFx0fVxuXHRcdFx0LmNhcnQtaXRlbS1jb3VudC1jb250IHtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDoxcmVtO1xuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6JyAnO1xuXHRcdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDo1MCU7XG5cdFx0XHRcdFx0bGVmdDo1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJHRlYWwsMC4xKTtcblx0XHRcdFx0XHR3aWR0aDpyZW0tY2FsYygyNCk7XG5cdFx0XHRcdFx0aGVpZ2h0OnJlbS1jYWxjKDI0KTtcblx0XHRcdFx0XHR6LWluZGV4OjA7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6cmVtLWNhbGMoLTQpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5jYXJ0LWl0ZW0tY291bnQge1xuXHRcdFx0XHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudG9wLWJhci1yLW1lbnUge1xuXHRcdHBhZGRpbmctbGVmdDogMS41cmVtO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXHR9XG59XG5cbi5zaXRlLWhlYWRlciB7XG5cdC8vcGFkZGluZzogMXJlbSAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQsIHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTA7XG5cdHdpZHRoOiAxMDAlO1xuXHRhLnNpbGVudCB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0QGluY2x1ZGUgZWFzZS1hbGwoKTtcblx0fVxuXHQudG9wLWJhci1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC5iYW5uZXItY3RhIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRwYWRkaW5nOiAuNXJlbSAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRzcGFuLCBhIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRvcGFjaXR5OiAuNztcblx0XHRcdG1hcmdpbi1sZWZ0OiAuNXJlbTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnRvcC1iYXIge1xuXHRcdC50b3AtYmFyLXItcHJlbWVudSAucHJlbWVudS1jb250IC5tZW51LCBcblx0XHQudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUge1xuXHRcdFx0Lm1lbnUtaXRlbSB7XG5cdFx0XHRcdCYuaXMtYWN0aXZlLCAmLmN1cnJlbnRfcGFnZV9pdGVtIHtcblx0XHRcdFx0XHQ+IGE6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0Ym90dG9tOi01cHg7XG5cdFx0XHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcblx0XHRcdFx0Ji5pcy1hY3RpdmUsICYuY3VycmVudF9wYWdlX2l0ZW0ge1xuXHRcdFx0XHRcdD4gYTo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0XHRib3R0b206LTVweDtcblx0XHRcdFx0XHRcdHdpZHRoOmNhbGMoMTAwJSAtIDIuMjVyZW0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRcdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OicgJztcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OjhweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDo4cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHRcdFx0bGVmdDo1MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8vdGhpcyBhcHBsaWVzIGEgYm9yZGVyIGFyb3VuZCB0aGUgY3NzIHRyaWFuZ2xlIHBvaW50ZXJcblx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTo4cHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHRcdFx0XHRcdFx0Ym90dG9tOmNhbGMoLTMuNXJlbSAtIDFweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206OHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0XHRcdFx0XHRcdGJvdHRvbTotMy41cmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR1bC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6My41cmVtO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgOHB4IDhweCAwIHJnYmEoMCwwLDAsMC4xNik7XG5cdFx0XHRcdFx0bGkubWVudS1pdGVtIHtcblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiRibGFjaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXG5cdC8vIHN0aWNreSBhZGp1c3RtZW50c1xuXHQmLnN0aWNreSB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRvcDogMHJlbTtcblx0XHRsZWZ0OiAwcmVtO1xuXHRcdHJpZ2h0OiAwcmVtO1xuXHRcdHotaW5kZXg6IDEwMDtcblx0XHRib3gtc2hhZG93OiAwcHggMXB4IDEwcHggcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLCAwLjI1KTtcblx0XHQudG9wLWJhci1yLXByZW1lbnUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0YS5zaWxlbnQge1xuXHRcdFx0cGFkZGluZy10b3A6IDAuNXJlbTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG5cdFx0fVxuXHRcdC5zaXRlLWRlc2t0b3AtdGl0bGUge1xuXHRcdFx0cGFkZGluZzogMXJlbSAwO1xuXHRcdH1cblx0XHQudG9wLWJhciB7XG5cdFx0XHQudG9wLWJhci10aXRsZSAudG9wLWJhci1yLW1lbnUgLmRyb3Bkb3duLm1lbnUge1xuXHRcdFx0XHQuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuXHRcdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRcdCY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDoxcmVtO1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzpub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cbn1cblxuLnNpdGUtbmF2aWdhdGlvbiB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHBhZGRpbmc6IDA7IC8vIHByZXZlbnRzIGNvbnRhaW5lciB2aXNpYmlsaXR5IG9uIHNtYWxsIHNjcmVlbnNcblx0fVxufVxuXG4vLyBXUCBwb3N0IG5hdmlnYXRpb25cbi5wb3N0LW5hdmlnYXRpb24ge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLm5hdi1wcmV2aW91cyB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4ubmF2LW5leHQge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi5oZWFkaW5nLXNlYXJjaGZvcm0tY29udCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZy1vdmVycmlkZShyaWdodCxtYXJnaW4sMSwkbWFwOiRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KTtcblx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGxlZnQsbWFyZ2luLDEsJG1hcDokc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCk7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6MHJlbTtcblx0fVxuXHQuaW5wdXQtZ3JvdXAge1xuXHRcdG1hcmdpbi1ib3R0b206IDByZW07XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0LmlucHV0LWdyb3VwLWZpZWxkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwgMC4wNSk7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRcdGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcblx0XHRcdHRvcDogMHJlbTtcblx0XHRcdGJvdHRvbTogMHJlbTtcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlLWluO1xuXHRcdFx0LnNlYXJjaHN1Ym1pdCB7XG5cdFx0XHRcdHBhZGRpbmc6IDByZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I3NlYXJjaGZvcm0tZGVza3RvcCB7XG5cdFx0bWluLWhlaWdodDogM3JlbTtcblx0fVxuXG5cdCNzZWFyY2hmb3JtLWRlc2t0b3AsICNzZWFyY2hmb3JtLW1vYmlsZSB7XG5cdFx0QGluY2x1ZGUgZWFzZS1hbGwoKTtcblx0XHQmOm5vdCguZm9ybS1hY3RpdmUpIHtcblx0XHRcdC5pbnB1dC1ncm91cC1maWVsZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pbnB1dC1ncm91cC1maWVsZCB7XG5cdFx0XHR0cmFuc2l0aW9uOiB3aWR0aCAwLjVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlLCBib3JkZXItY29sb3IgMC41cyBlYXNlO1xuXHRcdFx0d2lkdGg6IDJyZW07XG5cdFx0XHRoZWlnaHQ6IDJyZW07XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cblx0XHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXG5cdFx0fVxuXHRcdC5zZWFyY2hzdWJtaXQge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdH1cblxuXHRcdCYuZm9ybS1hY3RpdmUge1xuXHRcdFx0d2lkdGg6MTByZW07XG5cdFx0XHQuaW5wdXQtZ3JvdXAtZmllbGQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwLjVyZW07XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDJyZW07XG5cdFx0XHRcdHdpZHRoOiAxMHJlbTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IG5vbmU7XG5cdFx0XHRcdFx0Y29sb3I6IHJnYmEoJHdoaXRlLCAwLjgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcblx0XHRcdFx0LnNlYXJjaHN1Ym1pdCB7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLmlucHV0LWdyb3VwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQuaW5wdXQtZ3JvdXAtZmllbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDByZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHR9XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG5cdFx0fVxuXHR9XG5cdC5pbnB1dC1ncm91cC1idXR0b24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMHJlbTtcblx0XHR0b3A6IDByZW07XG5cdFx0Ym90dG9tOiAwcmVtO1xuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRcdC5zZWFyY2hzdWJtaXQge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggMnB4IDJweCAwcHg7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuXHRcdFx0XHRjb250ZW50OiAnXFxmMDAyJztcblx0XHRcdFx0cGFkZGluZzogMHJlbSAwLjVyZW0gMHJlbSAwcmVtO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmFjdGl2ZSxcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy9hZGp1c3QgZm9yIHdvcmRwcmVzcyBhZG1pbiBiYXJcbmJvZHkubG9nZ2VkLWluLmFkbWluLWJhciB7XG5cdC5zaXRlLWhlYWRlci5zdGlja3kge1xuXHRcdHRvcDogMzJweDtcblx0fVxuXHQuc2l0ZS1oZWFkZXIuc3RpY2t5IHtcblx0XHR0b3A6IDQ2cHg7XG5cdFx0Ly83ODJweCAtPiA3ODNweCBpcyB0aGUgd29yZHByZXNzIGFkbWluIHBhbmVsIGJyZWFrcG9pbnQgdG8gc3dpdGNoIHRvIHRoZSBzbGltbWVyIHRleHQtYmFzZWQgbWVudVxuXHRcdC8vZnJvbSB0aGUgaWNvbi1iYXNlZCBtZW51IHVzZWQgYXQgc21hbGxlciBzY3JlZW4gc2l6ZXNcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc4M3B4KSB7XG5cdFx0XHR0b3A6MzJweDtcblx0XHR9XG5cdH1cbn1cbi8vIG1vYmlsZSBkcm9wZG93biBhcnJvd1xuLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG5cdGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cblxuLy9DaGFuZ2VzIGZvciB0aGUgSG9tZSBQYWdlXG4uaG9tZSB7XG5cdC5vZmYtY2FudmFzLWNvbnRlbnQge1xuXHRcdC5zaXRlLWhlYWRlciB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHRcdFxuXHRcdFx0Ji5zdGlja3kge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0XHRcdFx0LnRvcC1iYXItY29udGFpbmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiAwcHggMXB4IDEwcHggcmdiYSgkc2Vjb25kYXJ5LWNvbG9yLCAwLjI1KTtcblx0XHRcdFx0XHQuc2l0ZS1sb2dvLWludmVydGVkIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnNpdGUtbG9nbyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudG9wLWJhciB7XG5cdFx0XHRcdFx0XHQudG9wLWJhci1yLXByZW1lbnUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6MHB4O1xuXHRcdFx0XHRcdFx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQudG9wLWJhci1yLXByZW1lbnUgLnByZW1lbnUtY29udCAubWVudSAubWVudS1pdGVtIGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSAubWVudS1pdGVtIGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC50b3AtYmFyLXItcHJlbWVudSAubG9naW4tbWVudSB7XG5cdFx0XHRcdFx0XHRcdGEsIC5sb2dpbi1zdGF0dXMge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LnRvcC1iYXItci1wcmVtZW51IC5jYXJ0LW1lbnUgPiBhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6JG1lZGl1bS1ncmF5O1xuXHRcdFx0XHRcdFx0XHQuY2FydC1pdGVtLWNvdW50LWNvbnQgLmNhcnQtaXRlbS1jb3VudCB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6JG1lZGl1bS1ncmF5O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGl0bGUtYmFyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdFx0LnRvcC1iYXItY29udGFpbmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdC8vcG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHQuc2l0ZS1sb2dvLWludmVydGVkIHtcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5zaXRlLWxvZ28ge1xuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQudG9wLWJhciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0LnRvcC1iYXItci1wcmVtZW51IHtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnRvcC1iYXItci1wcmVtZW51IC5wcmVtZW51LWNvbnQgLm1lbnUsIFxuXHRcdFx0XHRcdC50b3AtYmFyLXRpdGxlIC50b3AtYmFyLXItbWVudSAuZHJvcGRvd24ubWVudSB7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG5cdFx0XHRcdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRcdFx0XHQvL3RoaXMgYXBwbGllcyBhIGJvcmRlciBhcm91bmQgdGhlIGNzcyB0cmlhbmdsZSBwb2ludGVyXG5cdFx0XHRcdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206OHB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblx0XHRcdFx0XHRcdFx0XHRcdGJvdHRvbTpjYWxjKC0xLjVyZW0gLSAxcHgpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOjhweCBzb2xpZCAkcHJpbWFyeS1jb2xvci12bGlnaHQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3R0b206LTEuNXJlbTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR1bC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOjEuNXJlbTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudG9wLWJhci1yLXByZW1lbnUgLmxvZ2luLW1lbnUge1xuXHRcdFx0XHRcdFx0YS5sb2dpbi1saW5rLCAubG9naW4tc3RhdHVzIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudG9wLWJhci1yLXByZW1lbnUgLmNhcnQtbWVudSA+IGEge1xuXHRcdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdFx0LmNhcnQtaXRlbS1jb3VudC1jb250IC5jYXJ0LWl0ZW0tY291bnQge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjokd2hpdGU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5ib2R5LW1haW57XG4gIG92ZXJmbG93OmhpZGRlbjtcbn1cbi5wYWdlLXdyYXAge1xuICBtaW4taGVpZ2h0OjEwMHZoO1xuICAmOm5vdCg6ZnJvbnQpe1xuICAgIEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICB9XG5cbiAgJi5zaW5nbGUtZXZlbnQtd3JhcHBlciB7XG5cdCAgc2VjdGlvbi5wYWdlLXNlY3Rpb24ge1xuXHRcdHBhZGRpbmc6IDA7XG5cdCAgfVxuICB9XG59XG4uZW50cnktY29udGVudCwgcHtcbiAgYTpub3QoLmJ1dHRvbil7XG4gICAgQGV4dGVuZCBhLnJlZy1saW5rO1xuICB9XG59XG4uc2lkZWJhciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG5cbi8vIHJlc3VsdHMgbGlzdCBzdHlsaW5nXG4ucmVzdWx0LWl0ZW0ge1xuICAuZW50cnktdGl0bGUge1xuICAgIEBleHRlbmQgLnNob3ctYXMtaDM7XG4gICAgbWFyZ2luLWJvdHRvbTowLjc1cmVtO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZm9udC1mYW1pbHk6JGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgfVxuICAucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgICBvYmplY3QtZml0OmNvdmVyO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1pbi1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDgwKTtcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgIG1hcmdpbi1yaWdodDowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGJvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgZWFzZS1hbGwoKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWF4LXdpZHRoOnJlbS1jYWxjKDE1MCk7XG4gICAgfVxuICB9XG4gIC5tZXRhLWNvbnR7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgbWFyZ2luLWJvdHRvbTowLjVyZW07XG4gICAgfVxuICAgICY+KntcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICBjb2xvcjpyZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuNyk7XG4gICAgICBtYXJnaW4tYm90dG9tOjAuMjVyZW07XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6JGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHB7XG4gICAgY29sb3I6JG1lZGl1bS1ncmF5O1xuICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgbWFyZ2luLWJvdHRvbTowLjVyZW07XG4gICAgfVxuICB9XG59XG5hLnJlc3VsdC1saW5rIHtcbiAgZGlzcGxheTpibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gIGNvbG9yOiRib2R5LWZvbnQtY29sb3I7XG4gIGJvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oMS42MjUpO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlO1xuICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUobGVmdCxtYXJnaW4sLTEsJHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQpO1xuICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUocmlnaHQsbWFyZ2luLC0xLCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KTtcbiAgQGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgpO1xuICAmLnNpbGVudCB7XG4gICAgd2lkdGg6YXV0bztcbiAgfVxuICAuZmFrZS1yZXN1bHQtbGluayB7XG4gICAgY29sb3I6JGRhcmstZ3JheTtcbiAgICBib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgJGRhcmstZ3JheS10aW50ZWQ7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OjEuNXJlbTtcbiAgICBAaW5jbHVkZSB1bmRlcmxpbmUtaG92ZXItbC1yKHRyYW5zcGFyZW50LCRwcmltYXJ5LWNvbG9yLDRweCxmYWxzZSk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDonXFxmMTA1JztcbiAgICAgIGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG4gICAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDotMXJlbTtcbiAgICAgIHRvcDo1MCU7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgIGJvcmRlcjoxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvci12bGlnaHQ7XG4gICAgLmZha2UtcmVzdWx0LWxpbmsge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmVudHJ5LXRpdGxle1xuICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgfVxuICAgICY+Kjpub3QoLmVudHJ5LXRpdGxlKXtcbiAgICAgIGNvbG9yOiRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuICAgIC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICY+ZGl2e1xuICAgICAgICBib3JkZXItY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGFnLWxpc3R7XG4gIGNvbG9yOnJnYmEoJGJvZHktZm9udC1jb2xvciwgMC4zKTtcbiAgbWFyZ2luLWJvdHRvbTowLjVyZW07XG4gIC8vYmFja2dyb3VuZC1jb2xvcjokbGlnaHQtZ3JheTtcbiAgJj5he1xuICAgIHBhZGRpbmc6MC4yNXJlbSAwLjVyZW07XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiRsaWdodC1ncmF5O1xuICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICB6LWluZGV4OjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRibGFjaywgMC4wNSk7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2U7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICBib3R0b206YXV0bztcbiAgICAgIHRvcDowO1xuICAgICAgaGVpZ2h0OjAlO1xuICAgICAgei1pbmRleDotMTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1c3tcbiAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5uby1yZXN1bHRzLWNvbnRhaW5lcntcbn1cbi5wYWdpbmF0aW9ue1xuICAmPmxpe1xuICAgICY+KntcbiAgICAgIGJvcmRlci1yYWRpdXM6JHBhZ2luYXRpb24tcmFkaXVzO1xuICAgICAgZm9udC13ZWlnaHQ6JGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgfVxuICB9XG59XG4vLyBUaGlzIGNsYXNzIGlzIGV4dGVuZGVkIGEgbnVtYmVyIG9mIHBsYWNlcy4gbWFrZSBzdXJlIHRvIGJlIGNhcmVmdWwgd2hlbiBlZGl0aW5nLiBBbHNvIGtlZXAgdGhpcyBhIGNsYXNzIHZzIGEgJSBzbyB0aGF0IHdlIGNhbiB1c2UgaXQgaW4gdGhlIERPTSBpZiBuZWVkZWRcbi5oYXMtYmcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG59XG5cbi5hcmNoaXZlLWNvbnRlbnQge1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdHBhZGRpbmctdG9wOiAyLjc1cmVtO1xuXHR9XG5cdC5ncmlkLWNvbnRhaW5lciB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xuXHRcdH1cblx0fVxuXHQudGlsZXMge1xuXHRcdC5tYWluLXRpbGUtY2VsbCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDIuMTI1cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuYXJjaGl2ZS10aWxlIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0LnRpbGUtcmVzdWx0LWxpbmsge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwLjVyZW0gMS4zNzVyZW0gMCByZ2JhKCRibGFjaywwLjEyKTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmVudHJ5LXRpdGxlIHtcblx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdFx0JiA+ICo6bm90KC5lbnRyeS10aXRsZSkge1xuXHRcdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5wb3N0LWZlYXR1cmVkLWltYWdlLWNlbGwgLnBvc3QtZmVhdHVyZWQtaW1hZ2Uge1xuXHRcdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDpjb3Zlcjtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuZ3JpZC14IHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucG9zdC1mZWF0dXJlZC1pbWFnZS1jZWxsIHtcblx0XHRcdC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdG1heC13aWR0aDogdW5zZXQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmVudHJ5LWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMXJlbSAxLjE4NzVyZW0gMS4zNzVyZW0gMS4xMjVyZW07XG5cdFx0XHQubWV0YS1jb250IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0dGltZSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwLjYyNXJlbTtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgkZGFyay1ncmV5LCAwLjgpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5lbnRyeS10aXRsZSB7XG5cdFx0XHRcdEBleHRlbmQgLnNob3ctYXMtaDY7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogJGRhcmstZ3JleTtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjg3NXJlbTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb250ZW50LXRpdGxlIHtcblx0aGVhZGVyIHtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKDEuNSk7XG5cdFx0aDEge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufVxuXG4ucGFnaW5hdGlvbiB7XG5cdGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7XG5cdD4gbGkgPiAqIHtcblx0XHR3aWR0aDoyNHB4O1xuXHRcdGhlaWdodDoyNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6NTAlO1xuXHRcdHBhZGRpbmc6MHJlbSAhaW1wb3J0YW50O1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR9XG59XG5cbi5yZWdpc3Rlci1wYWdlLXdyYXAge1xuICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUodG9wLCBwYWRkaW5nLCAyKTtcbiAgQGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSwgcGFkZGluZyk7XG4gIC5mb3JtLWNlbGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUodG9wLCBwYWRkaW5nLCAxLjUpO1xuICAgIC5mb3JtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmdmX2xvZ2luX2xpbmtzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG4gIC5saW5rLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbiAgLmxpbmstd3JhcC1jb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5lcnJvcjQwNCB7XG4gIC5ib2R5LW1haW4ge1xuICAgICNjb250ZW50LndpZGVjb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgpO1xuICAgICAgQGV4dGVuZCAuZ3JpZC1jb250YWluZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZm9vdGVyIHtcblx0LmZvb3Rlci1jb250YWluZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oMSk7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSxwYWRkaW5nLDIuNSwkc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSk7XG5cdFx0LmZvb3Rlci1sb2dvLWNlbGwge1xuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUoYm90dG9tLCBtYXJnaW4sIDEuNSwgJHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20pO1xuXHRcdFx0YSB7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mb290ZXItbmF2LWNlbGwge1xuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSwgbWFyZ2luLCAxLjUsICRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKTtcblx0XHRcdC5mb290ZXItbmF2LWl0ZW1zIHtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdG1heC13aWR0aDogODAlO1xuXHRcdFx0XHRzZWN0aW9uLndpZGdldC53aWRnZXRfbmF2X21lbnUge1xuXHRcdFx0XHRcdHBhZGRpbmc6MHJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQubWVudSAuaXMtYWN0aXZlID4gYSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogdW5zZXQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm1lbnUge1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdCYgPiBsaSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDFyZW07XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAuMjVyZW0gMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyZXk7XG5cdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAuNXJlbSAwO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSB1bmRlcmxpbmUtaG92ZXItbC1yKHRyYW5zcGFyZW50LCAkcHJpbWFyeS1jb2xvciwgMXB4LCB0cnVlKTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAwLjlyZW07XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmZvb3Rlci1zb2NpYWwtY2VsbCB7XG5cdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUoYm90dG9tLCBtYXJnaW4sIDEsICRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0ZmxleC1mbG93OiByb3c7XG5cdFx0XHR9XG5cblx0XHRcdC5zb2NpYWwtaWNvbi1saXN0IHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZWFzZS1hbGwoKTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwLjVyZW07XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0YS5zb2NpYWwtbGluayB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBlYXNlLWFsbCgpO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAycmVtO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDJyZW07XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjEpO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdC5mYSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lmhhc2h0YWctdGV4dCB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRwYWRkaW5nOiAwIDAuMjVyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mb290ZXItY29udGFjdC1jZWxsIHtcblx0XHRcdC5sb2NhdGlvbi1jZWxsIHtcblx0XHRcdFx0cGFkZGluZy10b3A6Mi41cmVtO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbToyLjVyZW07XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJHllbGxvdywgMC4yKTtcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCR5ZWxsb3csIDAuMik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKCR5ZWxsb3csIDAuMik7XG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOm5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6bm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQubG9jYXRpb24tdGl0bGUge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkY2FwdGlvbi1mb250LWZhbWlseTtcblx0XHRcdFx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDJweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MXJlbTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5sb2NhdGlvbi1jb250YWN0LWluZm8ge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNSk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5mYSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGRhcmstZ3JleTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmFkZHJlc3Mge1xuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JleTtcblx0XHRcdFx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmZvb3Rlci1uZXdzbGV0dGVyLWNlbGwge1xuXHRcdFx0bWFyZ2luOmF1dG8gMHJlbTtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0ZGlzcGxheTpmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OmNlbnRlcjtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuXHRcdFx0fVxuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKDIpO1xuXHRcdFx0fVxuXHRcdFx0PiBkaXYgPiBwLCAubmV3c2xldHRlci1sYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiRkYXJrLWdyYXk7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0Oig0LzMpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuc3ViZm9vdGVyLWNvbnRhaW5lciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0cGFkZGluZzogMC41cmVtIDAgMnJlbTtcblxuXHRcdC5jZWxsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0QGV4dGVuZCBhLnJlZy1saW5rO1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdGNvbG9yOiAkbWVkaXVtLWdyZXk7XG5cdFx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNzE0Mjg1NzE0Mztcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JleTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xufSIsIi5nZm9ybV93cmFwcGVyIHtcblx0bWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRtYXgtd2lkdGg6IDU4cmVtICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oMS41KTtcblx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgwLjc1KTtcblxuXHQuZ2Zvcm1faGVhZGluZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xuXHRcdFxuXHRcdGgzLmdmb3JtX3RpdGxlIHtcblx0XHRcdEBleHRlbmQgLnNob3ctYXMtaDM7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHR9XG5cdH1cblx0dWwuZ2Zvcm1fZmllbGRze1xuXHRcdGxpLmdmaWVsZHtcblx0XHRcdG1hcmdpbjogMCAwIDFyZW07XG5cdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRzZWxlY3QsIHRleHRhcmVhLCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSl7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDoxcmVtO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjFyZW07XG5cdFx0XHRcdG1hcmdpbi10b3A6MDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjEpO1xuXHRcdFx0XHRjb2xvcjogJGFsbW9zdC1ibGFjaztcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXG5cdFx0XHRcdCY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdFx0XHRcdGNvbG9yOiByZ2JhKCRhbG1vc3QtYmxhY2ssIDAuNCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHNlbGVjdHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMCBjZW50ZXI7XG5cdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHRleHRhcmVhe1xuXHRcdFx0XHRoZWlnaHQ6cmVtLWNhbGMoMTUwKTtcblx0XHRcdH1cblx0XHRcdGxhYmVsLmdmaWVsZF9sYWJlbHtcblx0XHRcdFx0Zm9udC1zaXplOiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcblx0XHRcdH1cblx0XHRcdC5naW5wdXRfY29udGFpbmVye1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0Ji5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRoZWlnaHQ6M3JlbTtcblxuXHRcdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMC43NXJlbSAwO1xuXG5cdFx0XHRcdFx0XHRsYWJlbC5nZmllbGRfY29uc2VudF9sYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSl7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHQmLmdmX2xlZnRfdGhpcmQsICYuZ2ZfbWlkZGxlX3RoaXJkLCAmLmdmX3JpZ2h0X3RoaXJkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbToxcmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHQmLmdmX3JpZ2h0X2hhbGYge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwIDAuNXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5nZl9sZWZ0X2hhbGYge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMC41cmVtIDAgMCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYuZ2ZfbGVmdF90aGlyZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDowLjVyZW0gIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLmdmX21pZGRsZV90aGlyZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjAuNXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6MC41cmVtICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5nZl9yaWdodF90aGlyZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjAuNXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGZvcm0gLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb257XG5cdFx0cGFkZGluZy10b3A6MC41cmVtO1xuXHR9XG5cdC8vdmFsaWRhdGlvblxuXHQmLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgZm9ybSAuZ2Zvcm1fYm9keSB1bCB7XG5cdFx0bGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcjpub3QoLmdmX2xlZnRfaGFsZik6bm90KC5nZl9yaWdodF9oYWxmKTpub3QoLmdmX2xlZnRfdGhpcmQpOm5vdCguZ2ZfbWlkZGxlX3RoaXJkKTpub3QoLmdmX3JpZ2h0X3RoaXJkKSB7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF90aGlyZCwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9taWRkbGVfdGhpcmQsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX3JpZ2h0X3RoaXJkIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHdpZHRoOiAzMy4zJSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRmb3JtIC52YWxpZGF0aW9uX21lc3NhZ2V7XG5cdFx0Y29sb3I6ZGFya2VuKCRhbGVydC1jb2xvciwgMTAlKTtcblx0XHRwYWRkaW5nOiAwIDAgMXJlbSAhaW1wb3J0YW50O1xuXHR9XG5cdGZvcm0gZGl2LnZhbGlkYXRpb25fZXJyb3J7XG5cdFx0Ym9yZGVyOm5vbmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRhbGVydC1jb2xvciwgLjEpO1xuXHRcdGNvbG9yOmRhcmtlbigkYWxlcnQtY29sb3IsIDElKTtcblx0XHRib3JkZXItcmFkaXVzOjRweDtcblx0XHRsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuXHR9XG5cdGZvcm0gdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IsIGZvcm0gbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZ3tcblx0XHRib3JkZXI6bm9uZTtcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0cGFkZGluZy10b3A6MDtcblx0XHRwYWRkaW5nLWJvdHRvbTowO1xuXHRcdG1hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50O1xuXHRcdGxhYmVsLmdmaWVsZF9sYWJlbHtcblx0XHRcdGNvbG9yOiRhbGVydC1jb2xvcjtcblx0XHR9XG5cdFx0Ji5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuXHRcdFx0bGFiZWwuZ2ZpZWxkX2xhYmVse1xuXHRcdFx0XHRtYXJnaW4tdG9wOjA7XG5cdFx0XHR9XG5cdFx0XHRkaXYuZ2lucHV0X2NvbnRhaW5lcntcblx0XHRcdFx0bWFyZ2luLXRvcDo0cHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6OHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHNlbGVjdCwgdGV4dGFyZWEsIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKXtcblx0XHRcdGJvcmRlcjoxcHggc29saWQgJGFsZXJ0LWNvbG9yO1xuXHRcdH1cblx0fVxuXHQuZ2Zvcm1fYm9keSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcblx0XHQuZ2Zvcm1fZmllbGRzIHtcblx0XHRcdC5nZmllbGQsIC5nZl9sZWZ0X2hhbGYsIC5nZl9yaWdodF9oYWxmIHtcblx0XHRcdFx0LmdpbnB1dF9jb250YWluZXIge1xuXHRcdFx0XHRcdGlucHV0LCB0ZXh0YXJlYSB7XG5cdFx0XHRcdFx0XHQmLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMge1xuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGRpdi5nZm9ybV9mb290ZXIge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXG5cdFx0aW5wdXRbdHlwZT0nc3VibWl0J10ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDFyZW07XG5cdFx0XHRtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuXHRcdFx0XG5cdFx0XHR+IHAge1xuXHRcdFx0XHRtYXJnaW4tdG9wOjJyZW07XG5cdFx0XHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi8vIGNvbmZpcm1hdGlvblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVye1xuXHRwYWRkaW5nOjEuNXJlbTtcblx0Zm9udC13ZWlnaHQ6JGhlYWRlci1mb250LXdlaWdodDtcblx0Ym9yZGVyOjFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdGJhY2tncm91bmQtY29sb3I6JGxpZ2h0ZXN0LWdyYXk7XG5cdGJvcmRlci1yYWRpdXM6NHB4O1xuXHRtYXJnaW4tdG9wOjEuNXJlbTtcblx0bWFyZ2luLWJvdHRvbToxLjVyZW07XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRwYWRkaW5nOjEuNXJlbSAxLjVyZW0gMS41cmVtIDMuNXJlbTtcblx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdH1cblxuXHQmOmJlZm9yZXtcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOjAgOXB4O1xuXHRcdHdpZHRoOnJlbS1jYWxjKDM0KTtcblx0XHRoZWlnaHQ6cmVtLWNhbGMoMzQpO1xuXHRcdGNvbG9yOiRzdWNjZXNzLWNvbG9yO1xuXHRcdGJvcmRlci1yYWRpdXM6NTAlO1xuXHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG5cdFx0Y29udGVudDonXFxmMDBjJztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0XHRmb250LWZhbWlseTpGb250QXdlc29tZTtcblx0XHRsaW5lLWhlaWdodDogMi4yO1xuXHRcdGJveC1zaGFkb3c6MCAxcHggNnB4IHJnYmEoJHNlY29uZGFyeS1jb2xvciwgLjQpO1xuXHRcdG1hcmdpbi1ib3R0b206MC42cmVtO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0bGVmdDowLjY1cmVtO1xuXHRcdFx0dG9wOjUwJTtcblx0XHRcdG1hcmdpbi10b3A6cmVtLWNhbGMoLTM0IC8gMik7XG5cdFx0fVxuXHR9XG5cbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLCBzZWxlY3QsIHNlbGVjdCA+IG9wdGlvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6cmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO1xuXHRib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRsaW5lLWhlaWdodDoxLjU7XG5cdHBhZGRpbmc6cmVtLWNhbGMoMTIpO1xuXHRcblx0Zm9udC1zaXplOnJlbS1jYWxjKDEyKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHR9XG5cdFxuXHQmOjpwbGFjZWhvbGRlciwgb3B0aW9uW3ZhbHVlPScnXSB7XG5cdFx0Y29sb3I6cmdiYSgkbWVkaXVtLWdyYXksMC40KTtcblx0fVxuXG5cdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRib3JkZXI6MXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXHRcdGJhY2tncm91bmQtY29sb3I6cmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO1xuXHR9XG59XG5cbnNlbGVjdCB7XG5cdHBhZGRpbmc6cmVtLWNhbGMoMTIpIHJlbS1jYWxjKDI0KSByZW0tY2FsYygxMikgcmVtLWNhbGMoMTIpO1xufVxuLnNlbGVjdC13cmFwcGVyIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206MXJlbTtcblx0c2VsZWN0IHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOm5vbmU7XG5cdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHR9XG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OidcXGYxMDcnO1xuXHRcdGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0cmlnaHQ6NHB4O1xuXHRcdHRvcDo1MCU7XG5cdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdHBvaW50ZXItZXZlbnRzOm5vbmU7XG5cdH1cbn1cblxuLnVpLXdpZGdldC51aS1kYXRlcGlja2VyIHtcblx0LnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0XHQudWktZGF0ZXBpY2tlci10aXRsZSB7XG5cdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRtYXJnaW46MHJlbTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuXHRtYXgtd2lkdGg6IDM3LjVyZW07XG5cdHdpZHRoOiA5MCU7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG59XG4iLCIvLyBhZGQgZGVmYXVsdCBmb250IHN0eWxlcyBmb3IgaXRlbXMgd2hpY2ggd2VyZW4ndCBwcmUtZGVmaW5lZCBpbiBmb3VuZGF0aW9uIGZvciBzaXRlc1xuLy8gKGkuZS4gbm8gZ2xvYmFsIHZhcmlhYmxlcyBpbml0aWFsbHkgZXhpc3RlZCBmb3Igc2V0dGluZyB0aGVzZSBwYXJhbWV0ZXJzKVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiRib2R5LWZvbnQtc2l6ZS1zbWFsbDtcbiAgbGV0dGVyLXNwYWNpbmc6JGJvZHktbGV0dGVyLXNwYWNpbmc7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiRib2R5LWZvbnQtc2l6ZS1tZWRpdW0tdXA7XG4gIH1cbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLnNob3ctYXMtaDEsIC5zaG93LWFzLWgyLCAuc2hvdy1hcy1oMywgLnNob3ctYXMtaDQsIC5zaG93LWFzLWg1LCAuc2hvdy1hcy1oNiB7XG4gIGZvbnQtd2VpZ2h0OiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbn1cblxuLnNob3ctYXMtaDEge1xuICBAaW5jbHVkZSBoZWFkZXItc2l6ZShoMSk7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xufVxuXG4uc2hvdy1hcy1oMiB7XG4gIEBpbmNsdWRlIGhlYWRlci1zaXplKGgyKTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG59XG5cbi5zaG93LWFzLWgzIHtcbiAgQGluY2x1ZGUgaGVhZGVyLXNpemUoaDMpO1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbn1cblxuLnNob3ctYXMtaDQge1xuICBAaW5jbHVkZSBoZWFkZXItc2l6ZShoNCk7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xufVxuXG4uc2hvdy1hcy1oNSB7XG4gIEBpbmNsdWRlIGhlYWRlci1zaXplKGg1KTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG59XG5cbi5zaG93LWFzLWg2IHtcbiAgQGluY2x1ZGUgaGVhZGVyLXNpemUoaDYpO1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbn1cbiIsIi5wb3N0LW5hdmlnYXRpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdHBhZGRpbmc6IDFyZW0gMCAxLjVyZW07XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRwYWRkaW5nLXRvcDoycmVtO1xuXHRcdHBhZGRpbmctYm90dG9tOjIuNzVyZW07XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuXHRcdHBhZGRpbmctdG9wOjNyZW07XG5cdFx0cGFkZGluZy1ib3R0b206My41cmVtO1xuXHR9XG5cblx0LnByZXYtbGluaywgLm5leHQtbGluayB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRhbGlnbi1zZWxmOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0PiBhIHtcblx0XHRcdEBleHRlbmQgLnJlZy1saW5rO1xuXHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdFx0XHRpLmZhIHtcblx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5uZXh0LWxpbmsge1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQudmlldy1hbGwtYnV0dG9uIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cbiIsInNlY3Rpb24uY29udGVudC1sb2NhdGlvbi1tYXAge1xuXHQuYWNmLW1hcCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoMzM2KTtcblx0XHR9XG5cdH1cblx0Lm1hcC1ncmlkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0fVxuXHQubWFwLWNlbGwge1xuXHRcdHBhZGRpbmctbGVmdDowcmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6MHJlbTtcblx0XHQ+IC5ncmlkLXgge1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHQ+IC5tYXAtaW5mb3JtYXRpb24ge1xuXHRcdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnRleHQtY2VsbCB7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDtcblx0XHQudGV4dC1jb250ZW50IHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRmbGV4LWdyb3c6MTtcblx0XHRcdGZsZXgtYmFzaXM6MTAwJTtcblx0XHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oMS4yKTtcblx0XHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoMik7XG5cdFx0XHRcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdFx0XHRcblx0XHRcdFx0LnNlY3Rpb24tdGl0bGU6OmFmdGVyIHtcblx0XHRcdFx0XHRsZWZ0OnJlbS1jYWxjKDI1KTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0YWRkcmVzcyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MS41cmVtO1xuXHRcdFx0fVxuXHRcdFx0LmxvY2F0aW9uLWNvbnRhY3QtaW5mbyB7XG5cdFx0XHRcdD4gc3Bhbi5mYSB7XG5cdFx0XHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3ItbGlnaHRpc2g7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0KyBzZWN0aW9uLmNvbnRlbnQtbG9jYXRpb24tbWFwIHtcblx0XHRwYWRkaW5nLXRvcDowcmVtO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi10b3A6LTFyZW07XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5wYWdlLXdyYXAuaGFzLWZvcm0td2l0aC1iYWNrZ3JvdW5kIHtcblx0Lmdmb3JtX3dyYXBwZXIge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG5cdFx0d2lkdGg6Y2FsYygxMDAlIC0gM3JlbSk7XG5cdFx0bWFyZ2luLXRvcDoxLjVyZW0gIWltcG9ydGFudDtcblx0XHRtYXJnaW4tYm90dG9tOjEuNXJlbSAhaW1wb3J0YW50O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi10b3A6NXJlbSAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTo1cmVtICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4Oi0xO1xuXHRcdFx0Y29udGVudDonICc7XG5cdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdHdpZHRoOjEwMHZ3O1xuXHRcdFx0dG9wOi0xLjVyZW07XG5cdFx0XHRib3R0b206LTEuNXJlbTtcblx0XHRcdGxlZnQ6NTAlO1xuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOmNvdmVyO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHR0b3A6LTVyZW07XG5cdFx0XHRcdGJvdHRvbTotNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5hZGQtdG8tY2FydCB7XG5cdG1hcmdpbi10b3A6MS41cmVtO1xuXHRtYXJnaW4tYm90dG9tOjEuNXJlbTtcblx0Ji52YXJpYWJsZSB7XG5cdFx0LnRhYnMge1xuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdD4gYVtyb2xlPXRhYl0ge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiRjYXB0aW9uLWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3ItdmxpZ2h0O1xuXHRcdFx0XHRcdGNvbG9yOiRibGFjaztcblx0XHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLmlzLWFjdGl2ZSA+IGFbcm9sZT10YWJdIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRkYXJrLXRlYWw7XG5cdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50YWJzLWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdH1cblx0fVxufVxuXG4iLCJkaXYucmV2ZWFsIHtcblx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgxKTtcblx0bWF4LXdpZHRoOnJlbS1jYWxjKDkxMik7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0d2lkdGg6Y2FsYygxMDAlIC0gNnJlbSk7XG5cdH1cblx0XG5cdCYuZm9ybS1yZXZlYWwge1xuXHRcdC5nZm9ybV93cmFwcGVyIHtcblx0XHRcdHBhZGRpbmctbGVmdDowcmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDowcmVtO1xuXHRcdFx0bWF4LXdpZHRoOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdC5nZmllbGQuZmllbGRfc3VibGFiZWxfYmVsb3cge1xuXHRcdFx0XHQuZ2ZpZWxkX3RpbWVfaG91ciwgLmdmaWVsZF90aW1lX21pbnV0ZSB7XG5cdFx0XHRcdFx0PiBpLCA+IGxhYmVsIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmNsZWFyLW11bHRpIHtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDtcblx0XHRcdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOm5vbmU7XG5cdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MHJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuIiwiLmFnZS1jb25maXJtLXJldmVhbCB7XG5cdG1heC13aWR0aDo1MHJlbTtcblx0LnNpdGUtbG9nby1jb250IHtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHQuc2l0ZS1sb2dvIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1heC13aWR0aDpyZW0tY2FsYygyMDApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWF4LXdpZHRoOnJlbS1jYWxjKDUwMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5hZ2UtY29uZmlybS1mb3JtIHtcblx0XHRtYXJnaW4tdG9wOjJyZW07XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdC5sYWJlbC1jZWxsIHtcblx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDpjZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxhYmVsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MC4yNXJlbTtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmFnZS1jb25maXJtLWVycm9ycyB7XG5cdFx0XHRjb2xvcjokYWxlcnQtY29sb3I7XG5cdFx0XHQmOm5vdCg6ZW1wdHkpe1xuXHRcdFx0XHRwYWRkaW5nOjFyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5idXR0b24sIGEuYnV0dG9uLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiwgLndvb2NvbW1lcmNlIGEuYnV0dG9uLCAud29vY29tbWVyY2UgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogMXJlbTtcblx0Ym9yZGVyOiAwLjA2MjVyZW0gc29saWQgJHByaW1hcnktY29sb3I7XG5cdEBpbmNsdWRlIGVhc2UtYWxsKCk7XG5cdG1pbi13aWR0aDogMTByZW07XG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0bGV0dGVyLXNwYWNpbmc6IDNweDtcblx0Ym9yZGVyLXJhZGl1czowcHg7XG5cblx0Jjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsICY6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgJjpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay10ZWFsO1xuXHRcdGJvcmRlci1jb2xvcjokZGFyay10ZWFsO1xuXHR9XG5cblx0JltkaXNhYmxlZF0sICY6ZGlzYWJsZWQsICY6ZGlzYWJsZWRbZGlzYWJsZWRdIHtcblx0XHRvcGFjaXR5OiAwLjQ7XG5cdFx0cGFkZGluZzoxcmVtO1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Ji5vdXRsaW5lIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItY29sb3I6ICR3aGl0ZTtcblxuXHRcdCY6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAmOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsICY6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdH1cblxuXHRcdCYuc2Vjb25kYXJ5IHtcblx0XHRcdCY6bm90KFtkaXNhYmxlZF0pOmhvdmVyLCAmOm5vdChbZGlzYWJsZWRdKTphY3RpdmUsICY6bm90KFtkaXNhYmxlZF0pOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRib3JkZXItY29sb3I6JHdoaXRlO1xuXHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JltkaXNhYmxlZF0ge1xuXHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5pbnZlcnRlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG5cdFx0Jjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsICY6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgJjpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRib3JkZXItY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0XHQmW2Rpc2FibGVkXSB7XG5cdFx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYud2hpdGUge1xuXHRcdGJvcmRlci1jb2xvcjokd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG5cdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0Jjpub3QoW2Rpc2FibGVkXSk6aG92ZXIsICY6bm90KFtkaXNhYmxlZF0pOmFjdGl2ZSwgJjpub3QoW2Rpc2FibGVkXSk6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjpkYXJrZW4oJHdoaXRlLDE1JSk7XG5cdFx0XHRib3JkZXItY29sb3I6ZGFya2VuKCR3aGl0ZSwxNSUpO1xuXHRcdH1cblx0XHQmW2Rpc2FibGVkXSB7XG5cdFx0XHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuXHRcdFx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLCAud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbiB7XG5cdCYuYWx0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6JGRhcmstdGVhbDtcblx0XHR9XG5cdH1cbn1cbiIsIi5jYXJkcy1jb250YWluZXIge1xuXG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgdHJ1ZSwgMC43cmVtICk7XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLmZlYXR1cmVkLWhlcm8udGl0bGUtb25seSArIC5icmVhZGNydW1iLXNlY3Rpb24gKyAucGFnZS13cmFwIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcblx0fVxufVxuLmZlYXR1cmVkLWhlcm8ge1xuXHQmLmhhcy1iZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYygyNTApO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNzA0KTtcblx0XHR9XG5cdFx0Jjpub3QoLm5vLXNoYWRvdykge1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjIpO1xuXHRcdFx0XHR6LWluZGV4OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaGVyby1jb250ZW50IHtcblx0XHRcdG1hcmdpbi10b3A6MHJlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdFxuXHRcdFx0Ly8gQkVHSU4gSUUgMTEgc3VwcG9ydFxuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYygyNTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNTAwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDcwNCk7XG5cdFx0XHR9XG5cdFx0XHQvLyBFTkQgSUUgMTEgc3VwcG9ydFxuXG5cdFx0XHQmID4gKiB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0XHQucGFnZS10aXRsZSB7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAwIDJweCAyMHB4IHJnYmEoMCwwLDAsMC42Mik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYucG9zdCB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaGVyby1jb250ZW50IHtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiRnbG9iYWwtd2lkdGg7XG5cdFx0bWFyZ2luLWxlZnQ6YXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6YXV0bztcblx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWFyZ2luLXRvcDogMi41cmVtO1xuXHRcdH1cblx0XHQmID4gKiB7XG5cdFx0XHRjb2xvcjogcmdiYSgwLDAsMCwwLjgpO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5wYWdlLXRpdGxlLFxuXHRcdC5oZWFkZXItdGV4dCB7XG5cdFx0XHRmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0bWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG5cdD4gKiB7XG5cdFx0ei1pbmRleDogMjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQvL2ZvciBnZW5lcmljIHBhZ2VzIHRoYXQgdXNlIHRoZSBwYWdlLnBocCB0ZW1wbGF0ZVxuXHQmLnBhZ2UtcGhwLCAmLnNpbmdsZS1jYXJlZXItcGhwLCAmLmFyY2hpdmUtY2FyZWVyLXBocCwgJi5jb250YWN0LXBocCwgJi5zaW5nbGUtcG9zdC1waHAge1xuXHRcdC5oZXJvLWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDowcmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMy41cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmhhcy1iZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjJyZW07XG5cdFx0XHQvL3VzZSBhIHNtYWxsZXIgbWluLWhlaWdodCB2YWx1ZVxuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMTgwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMjUwKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMzg0KTtcblx0XHRcdH1cblx0XHRcdC5oZXJvLWNvbnRlbnQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC8vbW9kaWZpY2F0aW9ucyBmb3IgdGhlIGNhcmVlcnMgc2luZ2xlIHBhZ2Vcblx0Ji5zaW5nbGUtY2FyZWVyLXBocCB7XG5cdFx0Lmhlcm8tY29udGVudCB7XG5cdFx0XHRtYXJnaW4tdG9wOjByZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0bWluLWhlaWdodDowcmVtO1xuXHRcdFx0LnBhZ2UtdGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEuNXJlbTtcblx0XHRcdFx0XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDowcmVtO1xuXHRcdFx0XHRcdG1heC13aWR0aDo1MHJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmNhcHRpb24tbGlzdCB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRcdGNvbG9yOiRibGFjaztcblx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE0KTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6KDE5LzE0KTtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHRcdFx0XHQuY2FwdGlvbi1saXN0LWl0ZW0ge1xuXHRcdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDoxLjVyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6JyAnO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOjUwJTtcblx0XHRcdFx0XHRcdGhlaWdodDo1cHg7XG5cdFx0XHRcdFx0XHR3aWR0aDo1cHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHJpZ2h0OjAuNXJlbTtcblx0XHRcdFx0XHRcdHRvcDo1MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OjByZW07XG5cdFx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5oYXMtYmcge1xuXHRcdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OmNlbnRlcjtcblx0XHRcdC5oZXJvLWNvbnRlbnQge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5jYXB0aW9uLWxpc3Qge1xuXHRcdFx0XHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRcdFx0XHQuY2FwdGlvbi1saXN0LWl0ZW06OmFmdGVyIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLmFyY2hpdmUtY2FyZWVyLXBocCwgJi5jb250YWN0LXBocCB7XG5cdFx0Lmhlcm8tY29udGVudCB7XG5cdFx0XHRtYXJnaW4tdG9wOjJyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAzLjVyZW07XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMuNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5oYXMtYmcge1xuXHRcdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdFx0Ly91c2UgYSBzbWFsbGVyIG1pbi1oZWlnaHQgdmFsdWVcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDE4MCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM4NCk7XG5cdFx0XHR9XG5cdFx0XHQuaGVyby1jb250ZW50IHtcblx0XHRcdFx0bWFyZ2luLXRvcDowcmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuc2luZ2xlLXBvc3QtcGhwIHtcblx0XHQmLmhhcy1iZyB7XG5cdFx0XHQvL3VzZSBhIHNtYWxsZXIgbWluLWhlaWdodCB2YWx1ZVxuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMTYwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIzMCk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDM1Mik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxuXHQmLmhvbWVwYWdlLWhlcm8ge1xuXHRcdCYuaGFzLWJnOm5vdCgubm8tc2hhZG93KSB7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ei1pbmRleDogMDtcblx0XHRcdFx0YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMik7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDIwLjVyZW07XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkYmxhY2ssMC44KSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0bWluLWhlaWdodDogcmVtLWNhbGMoMzUwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNDQ4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoNzA0KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDgyNCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDogcmVtLWNhbGMoOTk2KTtcblx0XHR9XG5cblx0XHQuaGVyby1jb250ZW50IHtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRcdC5wYWdlLXRpdGxlIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4wNzY5MjMwNzY5O1xuXHRcdFx0XHQ+IGVtIHtcblx0XHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMzIpO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYyg0Mik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDY1KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnBhZ2Utc3ViLXRpdGxlIHtcblx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS44NzVyZW07XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcblx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogMCAwLjEyNXJlbSAxLjI1cmVtIHJnYmEoJGJsYWNrLDAuNjIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuIiwidWwge1xuICAmLmhvcml6b250YWwtbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOm5vbmU7XG4gICAgbWFyZ2luOjByZW07XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6MHJlbSAwLjI1cmVtO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6JyAnO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIGNsZWFyOmJvdGg7XG4gICAgfVxuICB9XG4gICYuc29jaWFsLWljb24tbGlzdCB7XG4gICAgYS5zb2NpYWwtbGluayB7XG4gICAgICAuZmEge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBvcGFjaXR5OjAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gQXBwbHkgb3V0bGluZSBzdHlsZXMgb25seSB3aGVuIGlucHV0IG1ldGhvZCBpcyBrZXlib2FyZFxuLy8gcmVtb3ZlIDpmb2N1cyBzdHlsZSB2aWEgV2hhdCBJbnB1dCB1c2luZyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudFxuLy8gc28gOmZvY3VzIGlzbid0IGxlZnQgYnJva2VuIGlmIEphdmFTY3JpcHQgZmFpbHNcblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjowLjVzIGVhc2U7XG4gIG9wYWNpdHk6MTtcbiAgJi5yZWctbGlua3tcblx0Zm9udC13ZWlnaHQ6JGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgIGJvcmRlci1ib3R0b206MXB4IGRvdHRlZCByZ2JhKCRkYXJrLWdyZXksIDAuNSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICBwYWRkaW5nLXJpZ2h0OjAuMjVyZW07XG5cdHotaW5kZXg6MDtcblx0bGluZS1oZWlnaHQ6IDEuMzEyNTtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2U7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIC8vcmlnaHQ6MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGJvdHRvbTotMXB4O1xuICAgICAgdG9wOmF1dG87XG4gICAgICBoZWlnaHQ6MXB4O1xuICAgICAgei1pbmRleDotMTtcbiAgICB9XG4gICAgJjpob3ZlciwgJjpmb2N1c3tcbiAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgY29sb3I6ZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgICAgLy9jb2xvcjokd2hpdGU7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zaWxlbnQge1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxuICAmLmFycm93LWxpbmsge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG4gICAgICBjb250ZW50OidcXGYxNzgnO1xuICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgICAgdG9wOmNhbGMoNTAlIC0gOXB4KTtcbiAgICAgIGJvdHRvbTpjYWxjKDUwJSAtIDlweCk7XG4gICAgICByaWdodDotMXJlbTtcbiAgICAgIHRyYW5zaXRpb246MC41cyBlYXNlO1xuICAgIH1cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6LTJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmEuaW1hZ2UtbGluayB7XG5cdC5pbWFnZS1saW5rLWNvbnQge1xuXHRcdGJhY2tncm91bmQtc2l6ZTpjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRwYWRkaW5nLXRvcDo3Mi41JTtcblx0XHRtaW4taGVpZ2h0OjE1cmVtO1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0XHQuaW1hZ2UtYmcge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOmNvdmVyO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuXHRcdFx0dHJhbnNpdGlvbjphbGwgMC41cyBlYXNlO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHR0b3A6MHJlbTtcblx0XHRcdGJvdHRvbTowcmVtO1xuXHRcdFx0bGVmdDowcmVtO1xuXHRcdFx0cmlnaHQ6MHJlbTtcblx0XHRcdHotaW5kZXg6MDtcblx0XHR9XG5cdFx0Lm92ZXJsYXkge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHR0b3A6MHJlbTtcblx0XHRcdGJvdHRvbTowcmVtO1xuXHRcdFx0bGVmdDowcmVtO1xuXHRcdFx0cmlnaHQ6MHJlbTtcblx0XHRcdHotaW5kZXg6MTtcblx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDpjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC42KTtcblx0XHRcdC5pbWFnZS1saW5rLWNvbnRlbnQge1xuXHRcdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0fVxuXHR9XG5cblxuXHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0LmltYWdlLWJnIHtcblx0XHRcdHRyYW5zZm9ybTpzY2FsZSgxLjIpO1xuXHRcdH1cblx0fVxufSIsIlxuLy9icmVhZGNydW1iIGFkanVzdG1lbnRzXG4uYnJlYWRjcnVtYi1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB1bC5icmVhZGNydW1icyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzoxLjVyZW0gMHJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDIuMTI1cmVtIDA7XG4gICAgfVxuICAgID4gbGkge1xuICAgICAgY29sb3I6cmdiYSgwLDAsMCwwLjUpO1xuICAgICAgZm9udC1mYW1pbHk6JGNhcHRpb24tZm9udC1mYW1pbHk7XG4gICAgICBsZXR0ZXItc3BhY2luZzoycHg7XG4gICAgICBsaW5lLWhlaWdodDooMTkvMTQpO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEwKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICB9XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIHRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29sb3I6cmdiYSgkYmxhY2ssIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgfVxuICAmLnNlYXJjaC1yZXN1bHRzLWJyZWFkY3J1bWJzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgID4gLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOjA7XG4gICAgfVxuICAgIHVsLmJyZWFkY3J1bWJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG4gIH1cbn1cbiIsIi5yZXZlYWx7XG4gIGhlaWdodDphdXRvO1xuICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgLy9wYWRkaW5nLXRvcDo0cmVtO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xuICBwYWRkaW5nOjRyZW0gMS41cmVtIDEuNXJlbSAxLjVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICBwYWRkaW5nOjRyZW0gJHJldmVhbC1wYWRkaW5nICRyZXZlYWwtcGFkZGluZyAkcmV2ZWFsLXBhZGRpbmc7XG4gIH1cblxuICBidXR0b24uY2xvc2UtYnV0dG9ue1xuICAgIGZvbnQtc2l6ZToyLjVyZW07XG4gICAgQGluY2x1ZGUgZWFzZS1hbGwoKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJGJsYWNrLCAwLjA1KTtcbiAgICBjb2xvcjokYm9keS1mb250LWNvbG9yO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDowO1xuICAgIHJpZ2h0OjA7XG4gICAgcGFkZGluZzowLjI1cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgJjpmb2N1cywgJjpob3ZlciwgJjphY3RpdmV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgIH1cbiAgfVxuICBhOm5vdCguYnV0dG9uKXtcbiAgICBAZXh0ZW5kIGEucmVnLWxpbms7XG4gIH1cbn0iLCIuY2FwdGlvbiB7XG5cdGNvbG9yOiRibGFjaztcblx0Zm9udC1mYW1pbHk6JGNhcHRpb24tZm9udC1mYW1pbHk7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0bGluZS1oZWlnaHQ6KDE5LzE0KTtcblx0Zm9udC1zaXplOnJlbS1jYWxjKDEwKTtcblx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdH1cbn1cblxuLmhlYWRpbmctdW5kZXJsaW5lIHtcblx0QGluY2x1ZGUgaGVhZGluZy11bmRlcmxpbmUtcGVsZWUoKTtcbn1cblxuIiwiLmFjZi1tYXAge1xuXHRoZWlnaHQ6MTAwJTtcblx0d2lkdGg6MTAwJTtcblx0bWluLWhlaWdodDpyZW0tY2FsYygyMDApO1xufVxuLm1hcC1saW5rIHtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjEwMCU7XG59XG4ubWFwLWltYWdlIHtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjEwMCU7XG5cdG1pbi1oZWlnaHQ6cmVtLWNhbGMoMjAwKTtcblx0b2JqZWN0LWZpdDpjb3Zlcjtcbn1cblxuIiwiLy8gUGFnZSBoZWFkZXJcbi5mcm9udC1oZXJvIHtcbiAgLm1hcmtldGluZyB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoNTVyZW0pO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmcnKSBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY1JSkgMDtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygzMik7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LWxhcmdlLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2ODUpO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDcyKTtcbiAgfVxuXG4gIC53YXRjaCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICNzdGFyZ2F6ZXJzIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdHdpdHRlciB7XG4gICAgICA6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwOTlcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAudGFnbGluZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cblxuICAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgfVxufVxuXG4vLyBJbnRyb1xuLmludHJvIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmZwLWludHJvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCk7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb24gZGl2aWRlclxuLnNlY3Rpb24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuXG4gIGhyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBAZXh0ZW5kIC5kb3R0ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vLyBCZW5lZml0c1xuLmJlbmVmaXRzIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgIH1cbiAgfVxuXG4gIC5zZW1hbnRpYyxcbiAgLnJlc3BvbnNpdmUsXG4gIC5jdXN0b21pemFibGUsXG4gIC5wcm9mZXNzaW9uYWwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC53aHktZm91bmRhdGlvbiB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxufVxuIiwiLmtpdGNoZW4tc2luay1oZWFkZXIge1xuICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbn1cblxuXG4ua2l0Y2hlbi1zaW5rLWNvbXBvbmVudHMge1xuICBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcbiAgfVxufVxuXG4ua2l0Y2hlbi1zaW5rLW5hdiB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLmRvY3Mtc3ViLW1lbnUge1xuICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy10b2Mge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgIC5kb2NzLXRvYyAuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMTk5ZTg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmRvY3MtdG9jIC5kb2NzLXN1Yi1tZW51OmZpcnN0LWNoaWxkIC5kb2NzLW1lbnUtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmtpdGNoZW4tc2luay1ncmlkIHtcbiAgLmdyaWQteCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZWNmYTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIFxuICAgIC5jZWxsLDpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN2JjMWVmO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgfVxuXG4gICAgLmNlbGw6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB9XG4gIH1cbn1cbiIsIi50eXBlLWVycm9ye1xuICBwYWRkaW5nLWJvdHRvbTozLjVyZW07XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgcGFkZGluZy10b3A6cmVtLWNhbGMoODUpO1xuICB9XG4gIC5lbnRyeS10aXRsZXtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgfVxuICBocntcbiAgICBtYXJnaW4tdG9wOjJyZW07XG4gICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgbWFyZ2luLXRvcDozcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTozcmVtO1xuICAgIH1cbiAgfVxuICAuZW50cnktY29udGVudHtcbiAgICBtYXgtd2lkdGg6cmVtLWNhbGMoNjAwKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4tY2VudGVyKCk7XG4gICAgd2lkdGg6OTUlO1xuXG4gICAgdWx7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OjNyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgIH1cbiAgICAgIGxpe1xuICAgICAgICAmPmF7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYm90dG9te1xuICAgIGZvbnQtc2l6ZToxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgIGZvbnQtc2l6ZToxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIH1cbiAgfVxuICAuZXJyb3J7XG4gICAgc3BhbntcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICBmb250LXNpemU6MTByZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgZm9udC1zaXplOjE1cmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICAgIGZvbnQtc2l6ZToyMHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmluZm8tYmxvY2t7XG4gICAgcHtcbiAgICAgIGZvbnQtd2VpZ2h0OiRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgfVxufSIsIi5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmNhcmVlciB7XG5cdC5hcmNoaXZlLWNvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOjByZW07XG5cdFx0LmFyY2hpdmUtdGV4dC1jZWxsIHtcblx0XHRcdD4gaDIsID4gaDMsID4gaDQsID4gaDUsID4gaDYge1xuXHRcdFx0XHRjb2xvcjokYmxhY2s7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0Oig0LzMpO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEuNXJlbTtcblx0XHRcdH1cblx0XHRcdD4gaDIge1xuXHRcdFx0XHRAZXh0ZW5kIC5zaG93LWFzLWgzO1xuXHRcdFx0fVxuXHRcdFx0PiBwIHtcblx0XHRcdFx0Y29sb3I6JG1lZGl1bS1ncmF5O1xuXHRcdFx0XHRmb250LWZhbWlseTokYm9keS1mb250LWZhbWlseTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6MS41O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEuNXJlbTtcblx0XHRcdFx0XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE2KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuY2FyZWVyLWxpbmstY2VsbCB7XG5cdFx0XHQuY2FyZWVyLWxpc3QtY29udCB7XG5cdFx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0XHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgzKTtcblx0XHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgzKTtcblx0XHRcdH1cblx0XHRcdC5jYXB0aW9uIHtcblx0XHRcdFx0cGFkZGluZzowLjVyZW07XG5cdFx0XHR9XG5cdFx0XHR1bC5jYXJlZXJzLWxpc3Qge1xuXHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6bm9uZTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6MHJlbTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OjByZW07XG5cdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoNDYsMTE0LDEyNywwLjIpO1xuXHRcdFx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0cGFkZGluZzoxcmVtIDJyZW0gMXJlbSAwLjVyZW07XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDooMjEvMTYpO1xuXHRcdFx0XHRcdFx0Y29sb3I6JGRhcmstZ3JheTtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OidcXGYxMDUnO1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0cmlnaHQ6MXJlbTtcblx0XHRcdFx0XHRcdFx0dG9wOjUwJTtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3ItbGlnaHQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5wYWdlLXdyYXAudHlwZS1hcmNoaXZlLmV2ZW50IHtcblx0aGVhZGVyIHtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUoYm90dG9tLG1hcmdpbiwxLCRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKTtcblx0XHQ+IC5jZWxsID4gLmVudHJ5LXRpdGxlIHtcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZmlsdGVyLWNlbGwge1xuXHRcdGRpc3BsYXk6ZmxleDtcblx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG5cdFx0ZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuXHRcdFxuXHRcdD4gLnNlbGVjdC13cmFwcGVyIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjpyb3c7XG5cdFx0XHRcblx0XHRcdD4gLmNhcHRpb24ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MXJlbTtcblx0XHRcdH1cblx0XHRcdD4gLnNlbGVjdC13cmFwcGVyIHtcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OjFyZW07XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblx0XG5cdC5ncmlkLWNvbnQge1xuXHRcdC5ncmlkLWl0ZW0ge1xuXHRcdFx0PiBhcnRpY2xlIHtcblx0XHRcdFx0LnRpbGUtcmVzdWx0LWxpbmsge1xuXHRcdFx0XHRcdGJvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvci12bGlnaHQ7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0XHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygyNTApO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDQyNCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0LmZha2UtbGluayB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JGRhcmstdGVhbDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LnBvc3QtZmVhdHVyZWQtaW1hZ2UtY2VsbCAucG9zdC1mZWF0dXJlZC1pbWFnZSB7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDpjb3Zlcjtcblx0XHRcdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoODApO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6cmVtLWNhbGMoMTYwKTtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygxNDYpO1xuXHRcdFx0XHRcdFx0bWF4LWhlaWdodDpyZW0tY2FsYygxODApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuZW50cnktY29udGVudCB7XG5cdFx0XHRcdFx0ZGlzcGxheTpmbGV4O1xuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0cGFkZGluZzpyZW0tY2FsYygyNCk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0LmVudHJ5LXRpdGxlLWNvbnQge1xuXHRcdFx0XHRcdFx0ZmxleC1ncm93OjE7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDpjZW50ZXI7XG5cdFx0XHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQuZW50cnktdGl0bGUge1xuXHRcdFx0XHRcdFx0XHRAZXh0ZW5kIC5zaG93LWFzLWgzO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHRpbWUge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjAuNXJlbTtcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzowLjUzcHg7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0Oig1LzQpO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE2KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuZmFrZS1saW5rIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6cmVtLWNhbGMoMjQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmxvYWQtbW9yZS1jb250IHtcblx0XHRtYXJnaW4tdG9wOjNyZW07XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdH1cbn1cblxuIiwiLnBhZ2Utd3JhcC50eXBlLWFyY2hpdmUucG9zdCB7XG5cdC5wYWdlLXRpdGxlIHtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRjb2xvcjpyZ2JhKDAsMCwwLDAuOCk7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKHRvcCxwYWRkaW5nLDEsJHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20pO1xuXHR9XG5cdC5wb3N0LWFyY2hpdmUtc2VjdGlvbiB7XG5cdFx0KyBzZWN0aW9uLnBhZ2UtbmF2aWdhdGlvbiB7XG5cdFx0XHRwYWRkaW5nLXRvcDowcmVtO1xuXHRcdH1cblx0fVxuXHQuZW50cnktY29udGVudCAuZW50cnktdGl0bGUtY29udCB7XG5cdFx0Ly8gQkVHSU4gSUUgMTEgc3VwcG9ydFxuXHRcdHdpZHRoOjEwMCU7XG5cdFx0d2hpdGUtc3BhY2U6cHJlLXdyYXA7XG5cdFx0Ly8gRU5EIElFIDExIHN1cHBvcnRcblx0fVxufVxuXG4iLCJkaXYucGFnZS13cmFwLnR5cGUtbG9jYXRpb24ge1xuXHRzZWN0aW9uLmdvb2dsZS1tYXAtd2l0aC1tZXRhIHtcblx0XHQubWV0YS1jb250YWluZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg0MCk7XG5cdFx0fVxuXHRcdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE0KTtcblx0XHRcdGxldHRlci1zcGFjaW5nOjBweDtcblx0XHR9XG5cdFx0LmFkZHJlc3Mge1xuXHRcdFx0Y29sb3I6JG1lZGl1bS1ncmF5O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6MHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6MS41O1xuXHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDEyKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hY2YtbWFwLCAubWFwLWltYWdlIHtcblx0XHRcdG1pbi1oZWlnaHQ6MzIwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OjQ1MHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdFx0bWluLWhlaWdodDo1NjBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1hcC1pbWFnZSB7XG5cdFx0XHRoZWlnaHQ6MzIwcHg7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRoZWlnaHQ6NDUwcHg7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0XHRoZWlnaHQ6NTYwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5wYWdlLXdyYXAuc2luZ2xlLWV2ZW50LXdyYXBwZXIge1xuXHQuZmVhdHVyZWQtaGVyby5ldmVudCB7XG5cdFx0Ji5oYXMtYmcge1xuXHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygyMDApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygzNTIpO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOihyZW0tY2FsYygzNyktMS41cmVtKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuIiwiLnBhZ2Utd3JhcC50eXBlLWNhcmVlciB7XG5cdC5icmVhZGNydW1iLXNlY3Rpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206MnJlbTtcblx0fVxuXHQ+IHAge1xuXHRcdHBhZGRpbmctdG9wOjByZW07XG5cdFx0cGFkZGluZy1ib3R0b206MHJlbTtcblx0XHRtYXJnaW4tYm90dG9tOjEuNzVyZW07XG5cdFx0XG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg2MCk7XG5cdFx0fVxuXHR9XG59XG5cbiIsImRpdi5wYWdlLXdyYXAudHlwZS1wb3N0LnNpbmdsZS1wb3N0LXdyYXBwZXIge1xuXHQuYnJlYWRjcnVtYi1zZWN0aW9uIHtcblx0XHR1bC5icmVhZGNydW1icyB7XG5cdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUodG9wLHBhZGRpbmcsMS42MjUsJHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20pO1xuXHRcdFx0cGFkZGluZy1ib3R0b206MHJlbTtcblx0XHR9XG5cdFx0PiAuZ3JpZC1jb250YWluZXIge1xuXHRcdFx0cGFkZGluZy1sZWZ0OjByZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjByZW07XG5cdFx0fVxuXHR9XG5cdC5mZWF0dXJlZC1pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OjByZW07XG5cdFx0cGFkZGluZy1yaWdodDowcmVtO1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oMS42MjUpO1xuXHR9XG5cdC5wb3N0LW1ldGEtY29udCB7XG5cdFx0dGltZSB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDI1KTtcblx0XHR9XG5cdFx0LnBhZ2UtdGl0bGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMik7XG5cdFx0XHRjb2xvcjpyZ2JhKDAsMCwwLDAuOCk7XG5cdFx0fVxuXHRcdC5hdXRob3Ige1xuXHRcdFx0bWFyZ2luLWJvdHRvbToxcmVtO1xuXHRcdH1cblx0fVxufVxuLnNpbmdsZS1wb3N0LXBvc3RuYXYtY29udCB7XG5cdC5wb3N0LW5hdmlnYXRpb24ge1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZy1vdmVycmlkZSh0b3AsbWFyZ2luLDEuNjI1LCRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKTtcblx0XHQ+IC5ncmlkLWNvbnRhaW5lciB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6MHJlbTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6MHJlbTtcblx0XHR9XG5cdH1cbn1cblxuIiwiLnBhZ2Utd3JhcC50eXBlLXBhZ2UuZ2VuZXJpYy1wYWdlIHtcblx0LmJyZWFkY3J1bWItc2VjdGlvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHR9XG5cdD4gcCB7XG5cdFx0cGFkZGluZy10b3A6MHJlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTowcmVtO1xuXHRcdG1hcmdpbi1ib3R0b206MS43NXJlbTtcblx0XHRcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDg4KTtcblx0XHR9XG5cdH1cbn1cblxuIiwiLmNvbnRlbnQtcG9zdC10aWxlIHtcblx0LmVudHJ5LWNvbnRlbnQge1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoMSk7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgxLjUpO1xuXHRcdFxuXHRcdGRpc3BsYXk6ZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6ZmxleC1zdGFydDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHR9XG5cdFx0XG5cdFx0LmNhcHRpb24ge1xuXHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0fVxuXHRcdFxuXHRcdC5wdWJsaXNoLWRhdGUge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206MXJlbTtcblx0XHR9XG5cdFx0LmVudHJ5LXRpdGxlIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdFx0fVxuXHRcdC5leGNlcnB0IHtcblx0XHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHRcdG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNDkpO1xuXHRcdH1cblx0XHQuZmFrZS1saW5rIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6JysgJztcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5oYXMtaW1hZ2Uge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnBvc3QtZmVhdHVyZWQtaW1hZ2UtY2VsbCB7XG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcblx0XHRcdG9iamVjdC1maXQ6Y292ZXI7XG5cdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR0cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7XG5cdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDEwMCk7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDE4MCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50aWxlLWxpbmsge1xuXHRcdGJvcmRlcjoxcHggc29saWQgcmdiYSg0NiwxMTQsMTI3LDAuMTUpO1xuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3ItdmxpZ2h0O1xuXHRcdFx0LnBvc3QtZmVhdHVyZWQtaW1hZ2UtY2VsbCB7XG5cdFx0XHRcdC5wb3N0LWZlYXR1cmVkLWltYWdlIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06c2NhbGUoMS4yKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQ+IC5ncmlkLXgge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsImRpdi5wYWdlLXdyYXAudHlwZS1zZWFyY2gge1xuXHQucmVzdWx0LWNvdW50IHtcblx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdH1cblx0LmVudHJ5LXRpdGxlLnNlYXJjaC1xdWVyeSB7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSxtYXJnaW4sMSk7XG5cdH1cblx0LnNlYXJjaC1yZXN1bHQtaXRlbXMtY29udCB7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSxwYWRkaW5nLDEpO1xuXHR9XG59XG5cbiIsIi5wYWdlLXdyYXAudHlwZS1zaW5nbGUuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZS1wcm9kdWN0LXNlY3Rpb24ge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Lm9uLXNhbGUtYmFubmVyIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDpjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjokYWxlcnQtY29sb3I7XG5cdFx0Y29sb3I6JHdoaXRlO1xuXHRcdGZvbnQtd2VpZ2h0OiRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygyNCk7XG5cdFx0Zm9udC1mYW1pbHk6JGNhcHRpb24tZm9udC1mYW1pbHk7XG5cdFx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHRcdGxpbmUtaGVpZ2h0OigxOS8xNCk7XG5cdFx0cGFkZGluZzowcmVtIHJlbS1jYWxjKDI4KTtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRoZWlnaHQ6cmVtLWNhbGMoNjQpO1xuXHRcdFxuXHRcdHdpZHRoOjEwMCU7XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXG5cdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OicgJztcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0dG9wOjByZW07XG5cdFx0XHRib3R0b206MHJlbTtcblx0XHRcdGJvcmRlci10b3A6cmVtLWNhbGMoMzIpIHNvbGlkICRhbGVydC1jb2xvcjtcblx0XHRcdGJvcmRlci1ib3R0b206cmVtLWNhbGMoMzIpIHNvbGlkICRhbGVydC1jb2xvcjtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0d2lkdGg6cmVtLWNhbGMoMjApO1xuXHRcdH1cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0bGVmdDpyZW0tY2FsYygtMjApO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6cmVtLWNhbGMoMjApIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRyaWdodDpyZW0tY2FsYygtMjApO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OnJlbS1jYWxjKDIwKSBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmc6MHJlbSByZW0tY2FsYygyOCkgMHJlbSByZW0tY2FsYyg0NCk7XG5cdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0bWFyZ2luLWxlZnQ6YXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDphdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHR0b3A6cmVtLWNhbGMoNDgpO1xuXHRcdFx0bGVmdDowcmVtO1xuXHRcdFx0ei1pbmRleDoxO1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OnJlbS1jYWxjKDEyMCk7XG5cdFx0fVxuXHR9XG5cdC5pbWFnZS1jZWxsIHtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHQucHJvZHVjdC1pbWFnZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdG1heC13aWR0aDoxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDpjb250YWluO1xuXHRcdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdFx0bWF4LWhlaWdodDpyZW0tY2FsYygyNTApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWF4LWhlaWdodDpyZW0tY2FsYyg0MDApO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0XHRtYXgtaGVpZ2h0OnJlbS1jYWxjKDY5Nik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5wcm9kdWN0LW1ldGEtY2VsbCB7XG5cdFx0LmVudHJ5LXRpdGxlIHtcblx0XHRcdGNvbG9yOnJnYmEoMCwwLDAsMC44KTtcblx0XHRcdG1hcmdpbi1ib3R0b206MXJlbTtcblx0XHR9XG5cdFx0LnByb2R1Y3QtbWV0YS1kYXRhIHtcblx0XHRcdC5tZXRhLXNlY3Rpb24ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDI0KTtcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5tZXRhLWRvd25sb2FkLWxpbmsge1xuXHRcdFx0XHRjb2xvcjokZGFyay1ncmF5O1xuXHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRsaW5lLWhlaWdodDooMjEvMTYpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgJGRhcmstZ3JheS10aW50ZWQ7XG5cdFx0XHRcdEBpbmNsdWRlIHVuZGVybGluZS1ob3Zlci1sLXIoJGRhcmstZ3JheSwkcHJpbWFyeS1jb2xvciwxcHgsdHJ1ZSk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDoyLjVyZW07XG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHQuZGwtaWNvbiB7XG5cdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRcdFx0cmlnaHQ6LTEuNXJlbTtcblx0XHRcdFx0XHR0b3A6NTAlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg3KTtcblx0XHRcdFx0Jjpub3QoLmNhcHRpb24pOm5vdCgucHJpY2UpIHtcblx0XHRcdFx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MS41O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYudGFzdGluZy1ub3RlcyB7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5wcmljZSB7XG5cdFx0XHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0QGV4dGVuZCAuc2hvdy1hcy1oMztcblx0XHRcdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRcdFx0XHRsaW5lLWhlaWdodDooNC8zKTtcblx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Y29udGVudDonJCAnO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOjphZnRlciB7XG4vL1x0XHRcdFx0XHRcdGNvbnRlbnQ6JyBDQUQnO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLm5ld3MtbGluay1zZWN0aW9uIHtcblx0XHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTp0YWJsZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5hZGQtdG8tY2FydC1jb250IHtcblx0XHRcdFx0ZGlzcGxheTpmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcblx0XHRcdFx0LnF1YW50aXR5IHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRcdGlucHV0LCBzZWxlY3Qge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5wcm9kdWN0LW1ldGEtY2VsbCAucHJvZHVjdC1tZXRhLWRhdGEgLm1ldGEtc2VjdGlvbi5wcmljZS1zZWN0aW9uLmlzLW9uLXNhbGUge1xuXHRcdGRpc3BsYXk6ZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtcblx0XHRhbGlnbi1pdGVtczpmbGV4LXN0YXJ0O1xuXHRcdGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0YWxpZ24taXRlbXM6ZmxleC1lbmQ7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjpyb3c7XG5cdFx0fVxuXHRcdFxuXHRcdC5wcmljZS5yZWd1bGFyLXByaWNlIHtcblx0XHRcdGNvbG9yOiRibGFjaztcblx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzoycHg7XG5cdFx0XHRsaW5lLWhlaWdodDooMTkvMTQpO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtcblx0XHRcdG1hcmdpbi1yaWdodDpyZW0tY2FsYygyOCk7XG5cdFx0fVxuXHRcdFxuXHRcdC5vbi1zYWxlLXRhZyB7XG5cdFx0XHRtYXgtaGVpZ2h0OnJlbS1jYWxjKDI0KTtcblx0XHRcdG1heC13aWR0aDpyZW0tY2FsYygzMDApO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1heC1oZWlnaHQ6cmVtLWNhbGMoMjgpO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDoxcmVtO1xuXHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmJ1bmRsZWQtcHJvZHVjdC1pbWFnZSB7XG5cdFx0aGVpZ2h0OjhyZW07XG5cdFx0d2lkdGg6YXV0bztcblx0XHRtYXgtd2lkdGg6OHJlbTtcblx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdH1cblx0LmFkZC10by1jYXJ0LndjLWdlbmVyYXRlZCB7XG5cdFx0cC5wcmljZTo6YmVmb3JlIHtcblx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdGNvbnRlbnQ6Jyc7XG5cdFx0fVxuXHRcdC53b29jb21tZXJjZS1QcmljZS1hbW91bnQuYW1vdW50IHtcblx0XHRcdEBleHRlbmQgLnNob3ctYXMtaDM7XG5cdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0bWFyZ2luLWJvdHRvbToxcmVtO1xuXHRcdH1cblx0XHQucXVhbnRpdHkge1xuXHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHRcdC5hdHRhY2htZW50LXdvb2NvbW1lcmNlX3RodW1ibmFpbC5zaXplLXdvb2NvbW1lcmNlX3RodW1ibmFpbCB7XG5cdFx0XHRvYmplY3QtZml0OmNvbnRhaW47XG5cdFx0XHRtYXgtaGVpZ2h0OjE4cmVtO1xuXHRcdH1cblx0XHQuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6cmdiYSgkcHJpbWFyeS1jb2xvciwwLjUpO1xuXHRcdFx0cGFkZGluZzoxcmVtO1xuXHRcdH1cblx0XHQuY2FydC5jYXJ0X2dyb3VwLmJ1bmRsZV9mb3JtIHtcblx0XHRcdC5idW5kbGVkX3Byb2R1Y3RzLCAuYnVuZGxlZF9wcm9kdWN0IHtcbi8vXHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdHRhYmxlLnZhcmlhdGlvbnMgdGQudmFsdWUge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOjByZW07XG5cdFx0XHRcdFx0PiBzZWxlY3Qge1xuXHRcdFx0XHRcdFx0d2lkdGg6NjUlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ+IGRpdi5yZXNldF9idW5kbGVkX3ZhcmlhdGlvbnMge1xuXHRcdFx0XHRcdFx0d2lkdGg6MzUlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuYnVuZGxlZF9pdGVtX2NhcnRfY29udGVudCAud2MtcGFvLWFkZG9uLWNvbnRhaW5lcjpub3QoLndjLXBhby1yZXF1aXJlZC1hZGRvbikge1xuXHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdH1cblx0XHQud2MtcGFvLWFkZG9uLWNvbnRhaW5lciB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjJyZW07XG5cdFx0XHQud2MtcGFvLWFkZG9uLXdyYXAge1xuXHRcdFx0XHQmOjpiZWZvcmUsICY6OmFmdGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0PiBsYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcdC53Yy1wYW8tYWRkb24tY2hlY2tib3gge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lndvb2NvbW1lcmNlLVByaWNlLWFtb3VudC5hbW91bnQge1xuXHRcdFx0XHRmb250LXNpemU6MXJlbTtcblx0XHRcdFx0bWFyZ2luOjByZW0gMC4yNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0dGFibGUudmFyaWF0aW9ucyB7XG5cdFx0XHR0ZC5sYWJlbCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JGxpZ2h0ZXN0LWdyYXk7XG5cdFx0XHRcdGRpc3BsYXk6dGFibGUtY2VsbDtcblx0XHRcdFx0cGFkZGluZzoxcmVtO1xuXHRcdFx0XHQ+IGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0XHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHR0ZC52YWx1ZSB7XG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6ODAlO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQ+IGEucmVzZXRfdmFyaWF0aW9ucywgPiBkaXYucmVzZXRfYnVuZGxlZF92YXJpYXRpb25zIHtcblx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0XHR3aWR0aDoyMCU7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OjFyZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0ZGwucHJvZHVjdC1hZGRvbi10b3RhbHMge1xuXHRcdFx0bWFyZ2luLXRvcDotMXJlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206MXJlbTtcblx0XHRcdD4gZHQsID4gZGQge1xuXHRcdFx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOnJvdztcblx0XHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR9XG5cdFx0XHQ+IGR0IHtcblx0XHRcdFx0QGV4dGVuZCAuY2FwdGlvbjtcblx0XHRcdH1cblx0XHRcdD4gZGQge1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0XHRsaW5lLWhlaWdodDooNC8zKTtcblx0XHRcdFx0QGV4dGVuZCAuc2hvdy1hcy1oMztcblx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdFx0XHR9XG5cdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRmb250LXdlaWdodDokZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi5mZWF0LXNsaWRlciB7XG5cdC5oYXMtYmctaW1nIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG5cdH1cblx0LnNsaWRlLWhlaWdodCB7XG5cdFx0bWluLWhlaWdodDogMjJyZW07XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGhlaWdodDogMjhyZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGhlaWdodDogMzRyZW07XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRoZWlnaHQ6IDQycmVtO1xuXHRcdH1cblx0XHQuc2xpZGUtdGl0bGUge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdFx0cGFkZGluZzowcmVtIDJyZW07XG5cdFx0fVxuXHR9XG5cdC5zbGlkZS1pbm5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGFsbW9zdC1ibGFjaywgMC40KTtcblxuXHRcdC8vIEJFR0lOIElFIDExIHN1cHBvcnRcblx0XHRoZWlnaHQ6IDIycmVtO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRoZWlnaHQ6IDI4cmVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRoZWlnaHQ6IDM0cmVtO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0aGVpZ2h0OiA0MnJlbTtcblx0XHR9XG5cdFx0Ly8gRU5EIElFIDExIHN1cHBvcnRcblx0fVxufVxuIiwic2VjdGlvbi5jb3B5LXdpdGgtdGl0bGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRmb250LXdlaWdodDokZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHR9XG5cdHAuY29weS10ZXh0LWNvbnRlbnQge1xuXHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHQuY2FwdGlvbi53aXRoLXNwYWNpbmcge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206MXJlbTtcblx0XHR9XG5cdH1cbn1cblxuIiwic2VjdGlvbi5jdGEge1xuXHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKDAuNTgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRmb250LXdlaWdodDokZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHR9XG5cdC5idXR0b24uY3RhLWxpbmsge1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZy1vdmVycmlkZSh0b3AsbWFyZ2luLDEuNSwkc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSk7XG5cdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHR9XG5cdHAuY3RhLXRleHQge1xuXHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHR+IC5idXR0b24uY3RhLWxpbmsge1xuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKHRvcCxtYXJnaW4sMSwkc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSk7XG5cdFx0fVxuXHR9XG5cdFxuXHQmLmFsaWduLWxlZnQge1xuXHRcdHRleHQtYWxpZ246bGVmdDtcblx0fVxuXHQmLmFsaWduLXJpZ2h0IHtcblx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xuXHR9XG5cdCYuYmctd2hpdGUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuXHR9XG59XG5cbiIsImRpdi5wYWdlLXdyYXAge1xuXHQ+IGgxLCA+IGgyLCA+IGgzLCA+IGg0LCA+IGg1LCA+IGg2IHtcblx0XHRtYXJnaW4tbGVmdDphdXRvO1xuXHRcdG1hcmdpbi1yaWdodDphdXRvO1xuXHRcdG1heC13aWR0aDokZ2xvYmFsLXdpZHRoO1xuXHRcdFxuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgpO1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoKTtcblx0XHRwYWRkaW5nLWJvdHRvbTowcmVtICFpbXBvcnRhbnQ7XG5cdFx0XG5cdFx0QGluY2x1ZGUgaGVhZGluZy11bmRlcmxpbmUtcGVsZWUoKTtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0d2lkdGg6MTJyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsImRpdi5wYWdlLXdyYXAgPiBmaWd1cmUge1xuXHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUoYm90dG9tLHBhZGRpbmcpO1xuXHR3aWR0aDoxMDAlO1xuXHRtYXJnaW4tYm90dG9tOjByZW07XG5cdD4gaW1nIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OmF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OmF1dG87XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KDEpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRtYXgtd2lkdGg6JGdsb2JhbC13aWR0aDtcblx0XHR9XG5cdH1cblx0KyBzZWN0aW9uLnByb2ZpbGUge1xuXHRcdHBhZGRpbmctdG9wOjByZW0gIWltcG9ydGFudDtcblx0fVxufVxuXG4iLCJzZWN0aW9uLmltYWdlLWN0YSB7XG5cdHBhZGRpbmctdG9wOjByZW07XG5cdHBhZGRpbmctYm90dG9tOjByZW07XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKDAuNzQpO1xuXHR9XG5cdFxuXHQmLmFsaWduLWxlZnQge1xuXHRcdC50ZXh0LWNlbGwgLnRleHQtY29udGVudCB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUobGVmdCxwYWRkaW5nLDEsJHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLmFsaWduLXJpZ2h0IHtcblx0XHQudGV4dC1jZWxsIC50ZXh0LWNvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKHJpZ2h0LHBhZGRpbmcsMSwkc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuaW1hZ2UtY2VsbCA+IC5jdGEtaW1hZ2Uge1xuXHRcdG9iamVjdC1maXQ6Y292ZXI7XG5cdFx0bWluLXdpZHRoOjEwMCU7XG5cdFx0bWF4LXdpZHRoOm5vbmU7XG5cdFx0aGVpZ2h0OjEwMCU7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGxlZnQsbWFyZ2luLC0xLCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KTtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmctb3ZlcnJpZGUocmlnaHQsbWFyZ2luLC0xLCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KTtcblx0XHRcblx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDIwMCk7XG5cdFx0d2lkdGg6Y2FsYygxMDAlICsgI3sobWFwLWdldCgkc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCxzbWFsbCkvMC41KX0pO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDM1MCk7XG5cdFx0XHR3aWR0aDpjYWxjKDEwMCUgKyAjeyhtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0LG1lZGl1bSkvMC41KX0pO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDQyMCk7XG5cdFx0XHR3aWR0aDpjYWxjKDEwMCUgKyAjeyhtYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0LGxhcmdlKS8wLjUpfSk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OmF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6YXV0bztcblx0XHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoNTkyKTtcblx0XHR9XG5cdH1cblx0LnRleHQtY2VsbCB7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuXHRcdHBhZGRpbmctdG9wOjNyZW07XG5cdFx0cGFkZGluZy1ib3R0b206M3JlbTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRwYWRkaW5nLXRvcDowcmVtO1xuXHRcdFx0cGFkZGluZy1ib3R0b206MHJlbTtcblx0XHR9XG5cdFx0LnRleHQtY29udGVudCB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG4vL1x0XHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdCYuYWxpZ24tbGVmdCB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYuYWxpZ24tcmlnaHQge1xuXHRcdFx0XHRcdHRleHQtYWxpZ246cmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OjEuNTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE2KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQ+IGVtIHtcblx0XHRcdFx0XHRjb2xvcjpyZ2JhKDAsMCwwLDAuOCk7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6KDM3LzI4KTtcblx0XHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMjApO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygyOCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQ+IGRpdjpsYXN0LWNoaWxkIC5idXR0b24uY3RhLWxpbmsge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5idXR0b24uY3RhLWxpbmsge1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1heC13aWR0aDpyZW0tY2FsYygyNzIpO1xuXHRcdH1cblx0fVxuXHRcblx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdGNvbG9yOnJnYmEoMCwwLDAsMC44KTtcblx0XHRcblx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMyKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6MHJlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNjQpO1xuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OicgJztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6MTtcblx0XHRcdHRvcDpyZW0tY2FsYygtNTApO1xuXHRcdFx0bGVmdDoxMCU7XG5cdFx0XHRoZWlnaHQ6NHB4O1xuXHRcdFx0d2lkdGg6ODAlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0aGVpZ2h0OjRweDtcblx0XHRcdFx0bGVmdDowcmVtO1xuXHRcdFx0XHRyaWdodDowcmVtO1xuXHRcdFx0XHR3aWR0aDpjYWxjKDEwMCUgKyA0cmVtKTtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0dG9wOnVuc2V0O1xuXHRcdFx0XHRib3R0b206cmVtLWNhbGMoLTMyKTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRcdHdpZHRoOmNhbGMoMTAwJSArIDhyZW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQ+IGVtIHtcblx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0Zm9udC1zdHlsZTpub3JtYWw7XG5cdFx0fVxuXHR9XG5cdCYuYWxpZ24tbGVmdCB7XG5cdFx0LnRleHQtY2VsbCB7XG5cdFx0fVxuXHRcdC5zZWN0aW9uLXRpdGxlOjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRsZWZ0OmF1dG87XG5cdFx0XHRcdHJpZ2h0OjRyZW07XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG5cdFx0XHRcdHJpZ2h0OjhyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuYWxpZ24tcmlnaHQge1xuXHRcdC50ZXh0LWNlbGwge1xuXHRcdH1cblx0XHQuc2VjdGlvbi10aXRsZTo6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0cmlnaHQ6YXV0bztcblx0XHRcdFx0bGVmdDo0cmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuXHRcdFx0XHRsZWZ0OjhyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQrIHNlY3Rpb24uaW1hZ2UtY3RhIHtcblx0XHRwYWRkaW5nLXRvcDowcmVtO1xuXHR9XG5cdCsgc2VjdGlvbi5pbmZvLWNvcHkge1xuXHRcdHBhZGRpbmctdG9wOjByZW07XG5cdH1cbn1cblxuIiwidWwud3AtYmxvY2stZ2FsbGVyeSB7XG5cdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20oMSk7XG5cdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoMSk7XG5cdG1heC13aWR0aDokZ2xvYmFsLXdpZHRoO1xuXHRtYXJnaW46MHJlbSBhdXRvO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6dmlzaWJsZTtcblx0ZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuXHRhbGlnbi1pdGVtczpzdHJlY3RoO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmbGV4LWRpcmVjdGlvbjpyb3c7XG5cdFx0YWxpZ24taXRlbXM6c3RyZXRjaDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtcblx0fVxuXHRcblx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvci12bGlnaHQ7XG5cdFx0XHRjb250ZW50OicgJztcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRcdGxlZnQ6Y2FsYygjeyRnbG9iYWwtd2lkdGgvMn0gLSA1MHZ3KTtcblx0XHRcdHJpZ2h0OmNhbGMoI3skZ2xvYmFsLXdpZHRoLzJ9IC0gNTB2dyk7XG5cdFx0XHR0b3A6MHJlbTtcblx0XHRcdGJvdHRvbTowcmVtO1xuXHRcdFx0ei1pbmRleDotMTtcblx0XHR9XG5cdH1cblx0XG5cdC5ibG9ja3MtZ2FsbGVyeS1pbWFnZSwgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuXHRcdGZsZXgtZ3JvdzoxO1xuXHRcdGZsZXgtYmFzaXM6MSU7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRtYXJnaW4tbGVmdDphdXRvO1xuXHRcdG1hcmdpbi1yaWdodDphdXRvO1xuXHRcdG1hcmdpbi1ib3R0b206MzJweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MHJlbSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCsgaDIge1xuXHRcdHBhZGRpbmctdG9wOjByZW07XG5cdH1cbn1cblxuIiwic2VjdGlvbi5pbWFnZS1saW5rcyB7XG5cdHBhZGRpbmctdG9wOjByZW07XG5cdC5pbWFnZS1saW5rLWNvbnQge1xuXHRcdC5vdmVybGF5IHtcblx0XHRcdC5pbWFnZS1saW5rLWNvbnRlbnQge1xuXHRcdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6M3B4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6cmVtLWNhbGMoMTkyKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0YS5zaWxlbnQuaW1hZ2UtbGluayB7XG5cdFx0bWFyZ2luLXRvcDoxcmVtO1xuXHRcdG1hcmdpbi1ib3R0b206MXJlbTtcblx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHQuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5pbWFnZS1saW5rLWNvbnRlbnQgLmJ1dHRvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JGRhcmstdGVhbDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiRkYXJrLXRlYWw7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRjb2xvcjpyZ2JhKDAsMCwwLDAuOCk7XG5cdFx0QGluY2x1ZGUgaGVhZGluZy11bmRlcmxpbmUtcGVsZWUoKTtcblx0fVxufVxuXG4iLCJzZWN0aW9uLmluZm8tY29weSB7XG5cdC5xdW90ZS1jb250ZW50IHtcblx0XHRAZXh0ZW5kIC5zaG93LWFzLWgzO1xuXHRcdGZvbnQtZmFtaWx5OiRoZWFkZXItZm9udC1mYW1pbHk7XG5cdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0bGluZS1oZWlnaHQ6KDQvMyk7XG5cdFx0bWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMSk7XG5cdH1cblx0LnF1b3RlLWF1dGhvciB7XG5cdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG5cdFx0bGV0dGVyLXNwYWNpbmc6MC41M3B4O1xuXHRcdGxpbmUtaGVpZ2h0Oig1LzQpO1xuXHRcdG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNDEpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHRcdH1cblx0fVxuXG5cdC5jYXB0aW9uIHtcblx0XHRtYXJnaW4tYm90dG9tOjJyZW07XG5cdH1cblx0LmNvcHktY29udGVudCB7XG5cdFx0Y29sb3I6JG1lZGl1bS1ncmF5O1xuXHRcdGxpbmUtaGVpZ2h0OjEuNTtcblx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHR9XG5cblx0LmNhcHRpb24tbGluZS1jb250IHtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuXHRcdGZsZXgtZGlyZWN0aW9uOnJvdztcblx0XHRtYXJnaW4tYm90dG9tOjJyZW07XG5cdFx0PiBwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MnJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDonICc7XG5cdFx0XHRoZWlnaHQ6NHB4O1xuXHRcdFx0bWluLXdpZHRoOjgwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5yaWdodCB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtcblx0XHRcdD4gcCB7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6MHJlbTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDoycmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHR1bC5pbmZvLWxpc3Qge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTpub25lO1xuXHRcdG1hcmdpbi1sZWZ0OjByZW07XG5cdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdD4gbGkge1xuXHRcdFx0PiBoMyB7XG5cdFx0XHRcdGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE2KTtcblx0XHRcdH1cblx0XHRcdD4gLmNhcHRpb24ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEzKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnNpZGUtbGlzdC1mb290ZXItaW1hZ2Uge1xuXHRcdG1hcmdpbi10b3A6cmVtLWNhbGMoNTIpO1xuXHR9XG59XG5kaXYucGFnZS13cmFwID4gc2VjdGlvbi5pbmZvLWNvcHkge1xuXHQrIGJsb2NrcXVvdGUge1xuXHRcdG1hcmdpbi10b3A6MS41cmVtO1xuXHRcdHBhZGRpbmctdG9wOjNyZW07XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi10b3A6MHJlbTtcblx0XHRcdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZy1vdmVycmlkZSh0b3AscGFkZGluZywxLCRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKTtcblx0XHR9XG5cdH1cbn1cblxuIiwiLmV2ZW50LXNpbmdsZS1jb250ZW50IHtcblx0cGFkZGluZy10b3A6IDA7XG5cdC5jb250ZW50LWNvbCB7XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHR9XG5cdFx0LmVudHJ5LWNvbnRlbnQge1xuXHRcdFx0Y29sb3I6ICRtZWRpdW0tZ3JleTtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblxuXHRcdH1cblx0fVxuXHQuaW5mb3JtYXRpb24tY29sIHtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoJHByaW1hcnktY29sb3IsIDAuMik7XG5cdFx0Y29sb3I6ICRtZWRpdW0tZ3JleTtcblxuXHRcdC5pbmZvcm1hdGlvbi1yb3cge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdFx0LmluZm9ybWF0aW9uLXdyYXBwZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdC5pbmZvcm1hdGlvbi13cmFwcGVyIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdFxuXHRcdFx0XHQuaW5mb3JtYXRpb24tdGl0bGUge1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjcxNDI4NTcxNDM7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRjYXB0aW9uLWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMC44NzVyZW07XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDJweDtcblx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjVyZW07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuaW5mb3JtYXRpb24tZGF5LWxpc3Qge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuYWRkcmVzcy1pbmZvIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwic2VjdGlvbi5sb2NhdGlvbi1jYWxsb3V0IHtcblx0cGFkZGluZy10b3A6MHJlbTtcblx0cGFkZGluZy1ib3R0b206MHJlbTtcblx0LmxvY2F0aW9uLWNlbGwge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuXHRcdGJhY2tncm91bmQtc2l6ZTpjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDtcblx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDMwMCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDUwMCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXtcblx0XHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoNzIwKTtcblx0XHR9XG5cblx0XHRhLnNpbGVudC5pbWFnZS1saW5rIHtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XG5cdFx0XHQuaW1hZ2UtbGluay1jb250IHtcblx0XHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5idXR0b24ub3V0bGluZS5mYWtlLWxpbmsge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0LmJ1dHRvbi5vdXRsaW5lLmZha2UtbGluayB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5vdmVybGF5IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO1xuXHRcdFx0Lm92ZXJsYXktY29udGVudCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOjRyZW07XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOjRyZW07XG5cdFx0XHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoKTtcblx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0bWF4LXdpZHRoOigkZ2xvYmFsLXdpZHRoLzIpO1xuXHRcdFx0XHRtYXJnaW46YXV0bztcblx0XHRcdFx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZy1vdmVycmlkZShib3R0b20sbWFyZ2luLDEuNSwkc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuXHRcdFx0JjpudGgtY2hpbGQoMm4pe1xuXHRcdFx0XHQub3ZlcmxheSB7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OmxlZnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKDJuKzEpe1xuXHRcdFx0XHQub3ZlcmxheSB7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OnJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jYXB0aW9uIHtcblx0XHRjb2xvcjokd2hpdGU7XG5cdH1cbn1cblxuIiwiZGl2LnBhZ2Utd3JhcCB7XG5cdD4gcCB7XG5cdFx0bWFyZ2luLWxlZnQ6YXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6YXV0bztcblx0XHRtYXgtd2lkdGg6JGdsb2JhbC13aWR0aDtcblx0XHRcblx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdFx0Zm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHk7XG5cdFx0XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgpO1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoKTtcblxuXHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG5cdFx0bGluZS1oZWlnaHQ6MS41O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHRcdH1cblxuXHR9XG59XG5cbiIsInNlY3Rpb24ucHJvZmlsZSB7XG5cdC5wcm9maWxlLWdyaWQtY29udGFpbmVyIHtcblx0fVxuXHQuaW1hZ2UtY2VsbCB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgdG9wO1xuXHRcdG1pbi1oZWlnaHQ6MTJyZW07XG5cdFx0LnByb2ZpbGUtaW1hZ2Uge1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDpjb3Zlcjtcblx0XHR9XG5cdH1cblx0LnRleHQtY2VsbCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctbGVmdDoyLjVyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjIuNXJlbTtcblx0XHR9XG5cdH1cblx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzIpO1xuXHRcdG1hcmdpbi10b3A6cmVtLWNhbGMoMzIpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOjByZW07XG5cdFx0fVxuXHR9XG5cdC5qb2ItdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTYpO1xuXHR9XG5cdC5iaW9ncmFwaHkge1xuXHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHRcblx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE2KTtcblx0XHRsaW5lLWhlaWdodDoxLjU7XG5cdH1cbn1cblxuIiwiZGl2LnBhZ2Utd3JhcCA+IGJsb2NrcXVvdGUge1xuXHRib3JkZXI6bm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvci12bGlnaHQ7XG5cdFxuXHRwYWRkaW5nLWxlZnQ6MHJlbTtcblx0cGFkZGluZy1yaWdodDowcmVtO1xuXHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKCk7XG5cdG1hcmdpbi1ib3R0b206MHJlbTtcblx0cGFkZGluZy1ib3R0b206cmVtLWNhbGMoNDEpICFpbXBvcnRhbnQ7XG5cdFxuXHQ+IHAsID4gY2l0ZSB7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgpO1xuXHRcdG1heC13aWR0aDokZ2xvYmFsLXdpZHRoO1xuXHRcdG1hcmdpbi1sZWZ0OmF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OmF1dG87XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKXtcblx0XHRcdG1heC13aWR0aDokZ2xvYmFsLXdpZHRoKigxMC8xMik7XG5cdFx0fVxuXHR9XG5cdFxuXHQ+IHAge1xuXHRcdEBleHRlbmQgLnNob3ctYXMtaDM7XG5cdFx0Zm9udC1mYW1pbHk6JGhlYWRlci1mb250LWZhbWlseTtcblx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRsaW5lLWhlaWdodDooNC8zKTtcblx0XHRtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIxKTtcblx0XHRiciB7XG5cdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQ+IGNpdGUge1xuXHRcdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblx0XHRjb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuXHRcdGxldHRlci1zcGFjaW5nOjAuNTNweDtcblx0XHRsaW5lLWhlaWdodDooNS80KTtcblx0XHRmb250LXN0eWxlOm5vcm1hbDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE2KTtcblx0XHR9XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6Jy0gJztcblx0XHR9XG5cdH1cblx0XG5cdCsgc2VjdGlvbi5pbmZvLWNvcHkge1xuXHRcdHBhZGRpbmctdG9wOjByZW0gIWltcG9ydGFudDtcblx0fVxufVxuXG4iLCJzZWN0aW9uLmZlYXR1cmUtZ2FsbGVyeSB7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0LmNlbGwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3ItdmxpZ2h0O1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoMik7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgyKTtcblx0fVxuXHQuaW1hZ2UtY2VsbCB7XG5cdFx0LmZlYXR1cmUtZ2FsbGVyeS1pbWFnZSB7XG5cdFx0XHRvYmplY3QtZml0OmNvdmVyO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygyMDApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygyNTApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudGV4dC1jZWxsIHtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDpzdHJldGNoO1xuXHRcdC50ZXh0LWNvbnRlbnQge1xuXHRcdFx0ZmxleC1ncm93OjE7XG5cdFx0XHRmbGV4LWJhc2lzOjElO1xuXHRcdFx0LmJsb2NrLWhlYWRpbmcge1xuXHRcdFx0XHRsaW5lLWhlaWdodDooMzgvMjgpO1xuXHRcdFx0XHRjb2xvcjokYmxhY2s7XG5cdFx0XHRcdG1heC13aWR0aDpyZW0tY2FsYygyMjApO1xuXHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDphdXRvO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6YXV0bztcblx0XHRcdH1cblx0XHRcdD4gcCB7XG5cdFx0XHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6KDI0LzE0KTtcblx0XHRcdFx0XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQrIHNlY3Rpb24uZm9ybS1jYWxsb3V0IHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy10b3A6MHJlbSAhaW1wb3J0YW50O1xuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKHRvcCxtYXJnaW4sLTQpO1xuXHRcdH1cblx0fVxufVxuXG4iLCIuaW1hZ2Utc2xpZGVyLWdhbGxlcnkge1xuXHQuaW1hZ2Utc2xpZGVyIHtcblx0XHQmLnNsaWNrLWRvdHRlZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjQwcHg7XG5cdFx0fVxuXHRcdC8vZG90cyBkaXNwbGF5IG9uIG1vYmlsZVxuXHRcdC5zbGljay1kb3RzIHtcblx0XHRcdGJvdHRvbTotMzVweDtcblx0XHRcdD4gbGkge1xuXHRcdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdFx0PiBidXR0b24ge1xuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OicgJztcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6NTAlO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRtZWRpdW0tZ3JheSwwLjMpO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjowLjVzIGVhc2U7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6MTBweDtcblx0XHRcdFx0XHRcdHdpZHRoOjEwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCYuc2xpY2stYWN0aXZlID4gYnV0dG9uOjpiZWZvcmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ly9hcnJvd3MgZGlzcGxheSBvbiB0YWJsZXQgYW5kIGRlc2t0b3Bcblx0XHQuc2xpY2stYXJyb3cge1xuXHRcdFx0ei1pbmRleDoxO1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHR3aWR0aDphdXRvO1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztcblx0XHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDc2KTtcblx0XHRcdH1cblx0XHRcdCYuc2xpY2stcHJldiB7XG5cdFx0XHRcdGxlZnQ6cmVtLWNhbGMoMzIpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRsZWZ0OnJlbS1jYWxjKDQ4KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6J1xcZjEwNCc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuc2xpY2stbmV4dCB7XG5cdFx0XHRcdHJpZ2h0OnJlbS1jYWxjKDMyKTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0cmlnaHQ6cmVtLWNhbGMoNDgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OidcXGYxMDUnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5pbWFnZS1zbGlkZSB7XG5cdFx0b2JqZWN0LWZpdDpjb3Zlcjtcblx0XHRcblx0XHRoZWlnaHQ6cmVtLWNhbGMoMjUwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0aGVpZ2h0OnJlbS1jYWxjKDM1MCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGhlaWdodDpyZW0tY2FsYyg0MjApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0aGVpZ2h0OnJlbS1jYWxjKDU2MCk7XG5cdFx0fVxuXHR9XG59XG5cbiIsInNlY3Rpb24uaG91cnMtd2l0aC1pbWFnZSB7XG5cdC50ZXh0LWNlbGwge1xuXHRcdC50ZXh0LWNvbnRlbnQge1xuXHRcdFx0bWluLWhlaWdodDoxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgxLjIpO1xuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgxLjIpO1xuXHRcdFx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEuNXJlbTtcblx0XHRcdH1cblx0XHRcdC5jYXB0aW9uIHtcblx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjAuNXJlbTtcblx0XHRcdH1cblx0XHRcdHA6bm90KC5jYXB0aW9uKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MS41cmVtO1xuXHRcdFx0XHRsaW5lLWhlaWdodDoxLjU7XG5cdFx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhOm5vdCguYnV0dG9uKSB7XG5cdFx0XHRcdGNvbG9yOnJnYmEoJHdoaXRlLDAuOSk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206MXB4IGRvdHRlZCByZ2JhKCR3aGl0ZSwwLjEpO1xuXHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmltYWdlLWNlbGwge1xuXHRcdC5ob3Vycy1zZWN0aW9uLWltYWdlIHtcblx0XHRcdG9iamVjdC1maXQ6Y292ZXI7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDIwMCk7XG5cdFx0fVxuXHR9XG59XG5cbiIsInNlY3Rpb24udHJhbnNwb3J0LXNjaGVkdWxlLWNhbGxvdXQge1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0cC5kZXRhaWxzIHtcblx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdFx0bWFyZ2luLWJvdHRvbToxLjVyZW07XG5cdFx0XG5cdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE0KTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDE2KTtcblx0XHR9XG5cdH1cblx0LmltYWdlLWNlbGwge1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFxuXHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoMjUwKTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYyg0MDApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYyg0NjQpO1xuXHRcdH1cblx0XHRcblx0XHQmLmhhcy1jb250ZW50IHtcblx0XHRcdC5vdmVybGF5IHtcblx0XHRcdFx0ZGlzcGxheTpmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDpzdHJldGNoO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC45KTtcblx0XHRcdH1cblxuXHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHR6LWluZGV4OjE7XG5cdFx0XHRcdGZsZXgtZ3JvdzoxO1xuXHRcdFx0XHRmbGV4LWJhc2lzOjEwMCU7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRcdHBhZGRpbmc6MS41cmVtO1xuXHRcdFx0fVxuXHRcdFx0YS5zaWxlbnQuaW1hZ2UtbGluayB7XG5cdFx0XHRcdC5pbWFnZS1saW5rLWNvbnQge1xuXHRcdFx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0XHQuaW1hZ2UtbGluay1jb250IC5vdmVybGF5IC5jb250ZW50IC5idXR0b24ge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjokZGFyay10ZWFsO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiRkYXJrLXRlYWw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsInNlY3Rpb24uc3BlY2lhbHR5LXRvdXJzIHtcblx0LnNlY3Rpb24tdGl0bGUge1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSxwYWRkaW5nLDEpO1xuXHR9XG5cdC5pbWFnZS1jZWxsIHtcblx0XHQudG91ci1pbWFnZSB7XG5cdFx0XHRvYmplY3QtZml0OmNvdmVyO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygyMDApO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygzNTApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDQ3Mik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50ZXh0LWNlbGwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaDtcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKDEuMik7XG5cdFx0XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0fVxuXHRcdFxuXHRcdC50ZXh0LWNvbnRlbnQge1xuXHRcdFx0ZmxleC1ncm93OjE7XG5cdFx0XHRmbGV4LWJhc2lzOjEwMCU7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgxLjIpO1xuXHRcdFx0Y29sb3I6JHdoaXRlO1xuXG5cdFx0XHQuc3Vic2VjdGlvbi10aXRsZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206MnJlbTtcblx0XHRcdH1cblx0XHRcdC5jYXB0aW9uIHtcblx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0fVxuXHRcdFx0LmJvb2tpbmctdGl0bGUge1xuXHRcdFx0XHRtYXJnaW4tdG9wOjJyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50b3Vycy1ncmlkOmxhc3QtY2hpbGQge1xuXHRcdC50ZXh0LWNlbGwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdH1cblx0fVxufVxuXG4iLCJzZWN0aW9uLmZhY2lsaXR5LW92ZXJ2aWV3IHtcblx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvci12bGlnaHQ7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHQuc2VjdGlvbi10aXRsZSB7XG5cdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0d2lkdGg6MTAwJTtcblx0fVxuXHRwIHtcblx0XHRjb2xvcjokbWVkaXVtLWdyYXk7XG5cdH1cblx0LmltYWdlLXNsaWRlci1nYWxsZXJ5IHtcblx0XHRtYXJnaW4tdG9wOjJyZW07XG5cdFx0bWFyZ2luLWJvdHRvbToycmVtO1xuXHRcdC5pbWFnZS1zbGlkZSB7XG5cdFx0XHRvYmplY3QtZml0OmNvdmVyO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGhlaWdodDoxMDAlO1xuXHRcdH1cblx0fVxuXHQubGluay1jb250IHtcblx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdFx0PiBwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHR9XG5cdFx0PiBhLmZhY2lsaXR5LWxpbmsge1xuXHRcdFx0cGFkZGluZzowcmVtO1xuXHRcdH1cblx0fVxuXHQuZXh0cmEtcGFkZGluZyB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctbGVmdDoycmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDoycmVtO1xuXHRcdH1cblx0fVxufVxuXG4iLCJzZWN0aW9uLmZvcm0tY2FsbG91dCB7XG5cdC5ncmlkLXguZ3JpZC1wYWRkaW5nLXguZm9ybS1jYWxsb3V0LWdyaWQge1xuXHRcdG1hcmdpbi1sZWZ0OjByZW07XG5cdFx0bWFyZ2luLXJpZ2h0OjByZW07XG5cdH1cblx0LmZvcm0tY2FsbG91dC1jYXJkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdGNvbG9yOiR3aGl0ZTtcblx0XHRcblx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tKDEpO1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoMSk7XG5cdFx0XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOmNlbnRlcjtcblx0XHRcblx0XHRmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246cm93O1xuXHRcdH1cblx0XHRcblx0XHQuc2VjdGlvbi10aXRsZSwgLmxpbmstY29udCB7XG5cdFx0XHR3aWR0aDphdXRvO1xuXHRcdH1cblx0XHQuc2VjdGlvbi10aXRsZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdG1hcmdpbi1ib3R0b206MnJlbTtcblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdH1cblx0XHR9XG5cdFx0LmxpbmstY29udCB7XG5cdFx0XHRkaXNwbGF5OmlubGluZS1mbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XG5cblx0XHRcdGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOnJvdztcblx0XHRcdH1cblx0XHRcdGEge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MHJlbTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOm5vdCguYnV0dG9uKSB7XG5cdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmLmJ1dHRvbiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRcdG1pbi13aWR0aDpyZW0tY2FsYygxOTIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLmZvcm0tbGluayB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkIHJnYmEoJHdoaXRlLCAwLjUpO1xuXHRcdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDoycmVtO1xuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OidGb250QXdlc29tZSc7XG5cdFx0XHRcdFx0XHRjb250ZW50OidcXGYxMDcnO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRyaWdodDotMS41cmVtO1xuXHRcdFx0XHRcdFx0dG9wOjUwJTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdFx0Y29sb3I6cmdiYSgkd2hpdGUsMC41KTtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246Y29sb3IgMC41cyBlYXNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4iLCJzZWN0aW9uLmRlYWwtY2FsbG91dCB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7XG5cdH1cblx0LmltYWdlLWxpbmstY29udCB7XG5cdFx0cGFkZGluZy10b3A6MHJlbTtcblx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDI1MCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoMzI1KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygzNTIpO1xuXHRcdH1cblx0XHQuaW1hZ2UtYmcge1xuXHRcdH1cblx0XHQub3ZlcmxheSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtcblx0XHRcdHBhZGRpbmc6MS41cmVtO1xuXHRcdFx0LmltYWdlLWxpbmstY29udGVudCB7XG5cdFx0XHRcdD4gKiB7XG5cdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjFyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNlY3Rpb24tc3VidGl0bGUge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MnJlbTtcblx0XHRcdFx0XHQ+IGJyIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5idXR0b24uZmFrZS1saW5rIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmltYWdlLWxpbmsge1xuXHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdC5idXR0b24uZmFrZS1saW5rIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZXh0cmEtbGluay1jZWxsIHtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjpyb3c7XG5cdFx0XHRhbGlnbi1pdGVtczpmbGV4LXN0YXJ0O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XG5cdFx0fVxuXHRcdC5kZWFsLWNhbGxvdXQtZXh0cmEtbGluayB7XG5cdFx0XHRib3JkZXItcmFkaXVzOjByZW07XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0ZmxleC1ncm93OjE7XG5cdFx0XHRmbGV4LWJhc2lzOjElO1xuXHRcdFx0bWFyZ2luLXRvcDowLjI1cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowLjI1cmVtO1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6MC41cmVtO1xuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTowcmVtO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0bWFyZ2luOjByZW0gcmVtLWNhbGMoNC41KSAwcmVtIHJlbS1jYWxjKDQuNSk7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6MHJlbTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDowcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OjByZW07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5kZWFsLWNhbGxvdXQtc2xpY2tzbGlkZXIgPiAuc2xpY2stbGlzdCAuc2xpY2stc2xpZGUgPiBkaXYge1xuXHRcdGZvbnQtc2l6ZTowcmVtO1xuXHRcdD4gYSB7XG5cdFx0XHRmb250LXNpemU6MXJlbTtcblx0XHR9XG5cdH1cblxuXHQrIHNlY3Rpb24uYWxsLXByb2R1Y3RzIHtcblx0XHRwYWRkaW5nLXRvcDowcmVtO1xuXHR9XG59XG5cbi5hbGwtcHJvZHVjdHMge1xuXHRwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDEuNXJlbTtcbiAgei1pbmRleDogOTtcbn1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogMS41cmVtO1xuICB6LWluZGV4OiA5O1xufSIsInNlY3Rpb24ubmV3c2xldHRlci1zaWdudXAge1xuXHQuaW1hZ2UtY2VsbCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctbGVmdDowcmVtO1xuXHRcdH1cblx0XHQ+IC5uZXdzbGV0dGVyLXNpZ251cC1pbWFnZSB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0aGVpZ2h0OjEwMCU7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDpjb3Zlcjtcblx0XHRcdG1pbi1oZWlnaHQ6cmVtLWNhbGMoMTUwKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0bWluLWhlaWdodDpyZW0tY2FsYygyMDApO1xuXHRcdFx0XHRtaW4td2lkdGg6MTAwJTtcblx0XHRcdFx0bWF4LXdpZHRoOm5vbmU7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAje21hcC1nZXQoJHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20sIG1lZGl1bSl9KTtcblx0XHRcdFx0bWFyZ2luOmF1dG87XG5cdFx0XHRcdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZy1vdmVycmlkZShyaWdodCxtYXJnaW4sLTEpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlICsgI3ttYXAtZ2V0KCRzZWN0aW9uLXBhZGRpbmctdG9wYm90dG9tLCBsYXJnZSl9KTtcblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAje21hcC1nZXQoJHNlY3Rpb24tcGFkZGluZy10b3Bib3R0b20sIHhsYXJnZSl9KTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDowcmVtO1xuXHRcdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudGV4dC1jZWxsIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZy1yaWdodDowcmVtO1xuXHRcdH1cblx0XHQ+IC50ZXh0LWNlbGwtY29udGVudCB7XG5cdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KDEpO1xuXHRcdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgxKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRjb2xvcjokd2hpdGU7XG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdC5zZWN0aW9uLXRpdGxlLCAuZGVzY3JpcHRpb24ge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOjEuNXJlbTtcblx0XHRcdH1cblx0XHRcdC5mb3JtLWNvbnRlbnQge1xuXHRcdFx0XHRAaW5jbHVkZSBzZWN0aW9uLXBhZGRpbmctbGVmdHJpZ2h0KDEuNDc3Mik7XG5cdFx0XHRcdCNtY19lbWJlZF9zaWdudXAge1xuXHRcdFx0XHRcdCNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIHtcblx0XHRcdFx0XHRcdD4gaDIge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5pbmRpY2F0ZXMtcmVxdWlyZWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpbnB1dDpub3QoW3R5cGU9c3VibWl0XSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHRcdFx0XHRtaW4taGVpZ2h0OnJlbS1jYWxjKDQwKTtcblx0XHRcdFx0XHRwYWRkaW5nOjAuNXJlbSAxcmVtO1xuXHRcdFx0XHRcdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOnJnYmEoJG1lZGl1bS1ncmF5LDAuNik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGVtIHtcblx0XHRcdFx0XHRmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6aXRhbGljO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OigyNC8xNCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0XHRcdFx0XHRAZXh0ZW5kIC5idXR0b24ub3V0bGluZTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOjEuNXJlbTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOjByZW07XG5cdFx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0XHRcdGJvcmRlcjoxcHggc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0Y29sb3I6JHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5tYy1maWVsZC1ncm91cCB7XG5cdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLnNpemUxb2YyIHtcblx0XHRcdFx0XHRcdGxhYmVsIHtcdFxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmRhdGVmaWVsZCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdC5zdWJmaWVsZCB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LnNtYWxsLW1ldGEge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5Om5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cbn1cblxuIiwic2VjdGlvbi5mZWF0dXJlZC1wcm9kdWN0cyB7XG5cdD4gLmdyaWQtY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblx0XHRcdHBhZGRpbmctbGVmdDowcmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDowcmVtO1xuXHRcdH1cblx0fVxuXHRcblx0LmltYWdlLWxpbmstY2VsbCB7XG5cdFx0LmltYWdlLWxpbmsge1xuXHRcdFx0bWluLWhlaWdodDoyMHJlbTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6MzByZW07XG5cdFx0XHR9XG5cdFx0XHQuaW1hZ2UtbGluay1jb250IHtcblx0XHRcdFx0bWluLWhlaWdodDoxMDAlO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6MjUlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5pbWFnZS1saW5rLWNvbnRlbnQge1xuXHRcdFx0XHRcdC5zZWN0aW9uLXRpdGxlIHtcblx0XHRcdFx0XHRcdGNvbG9yOnJnYmEoMCwwLDAsMC44KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdFx0LmZha2UtbGluayB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjokZGFyay10ZWFsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi53b28tcHJvZHVjdC1jb250ZW50IHtcblx0aGVpZ2h0OjEwMCU7XG5cdC5wcm9kdWN0LWNlbGwtbGluayB7XG5cdFx0ZGlzcGxheTpmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOnN0cmV0Y2g7XG5cdFx0anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG5cdFx0ZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuXHRcdHRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTtcblx0XHRib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdEBpbmNsdWRlIHNlY3Rpb24tcGFkZGluZy1sZWZ0cmlnaHQoMik7XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSgyKTtcblx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yLXZsaWdodDtcblx0XHRcdGJvcmRlcjoxcHggc29saWQgJHByaW1hcnktY29sb3I7XG5cdFx0fVxuXHR9XG5cdC5wcm9kdWN0LWltYWdlIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuLy9cdFx0d2lkdGg6MTAwJTtcblx0XHRoZWlnaHQ6YXV0bztcblx0XHRvYmplY3QtZml0OmNvbnRhaW47XG5cdFx0QGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nLW92ZXJyaWRlKGJvdHRvbSxtYXJnaW4sMi4yNSwkc2VjdGlvbi1wYWRkaW5nLXRvcGJvdHRvbSk7XG5cdFx0XG5cdFx0aGVpZ2h0OnJlbS1jYWxjKDE1MCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGhlaWdodDpyZW0tY2FsYygyNTApO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuXHRcdFx0aGVpZ2h0OnJlbS1jYWxjKDQzNyk7XG5cdFx0fVxuXG5cdH1cblx0LnByb2R1Y3QtbWV0YSB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdGNvbG9yOiRibGFjaztcblx0XHQucHJvZHVjdC10aXRsZSB7XG5cdFx0XHRsaW5lLWhlaWdodDooMzgvMjgpO1xuXHRcdH1cblx0XHQucHJvZHVjdC1zaG9ydC1kZXNjIHtcblx0XHRcdGNvbG9yOiRtZWRpdW0tZ3JheTtcblx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG5cdFx0XHRsaW5lLWhlaWdodDoxLjU7XG5cdFx0fVxuXHR9XG59XG5cbiIsInNlY3Rpb24uYWxsLXByb2R1Y3RzIHtcblx0LmZpbHRlci1jZWxsIHtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0YWxpZ24taXRlbXM6Y2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuXHRcdGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcblx0XHRcblx0XHQ+IC5zZWxlY3Qtd3JhcHBlciB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjpyb3c7XG5cdFx0XHRcblx0XHRcdD4gLmNhcHRpb24ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MXJlbTtcblx0XHRcdH1cblx0XHRcdD4gLnNlbGVjdC13cmFwcGVyIHtcblx0XHRcdFx0d2lkdGg6YXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OjFyZW07XG4vL1x0XHRcdFx0bWF4LXdpZHRoOjIwJTtcblx0XHRcdFx0ZmxleC1ncm93OjE7XG5cdFx0XHRcdGZsZXgtYmFzaXM6MjAlO1xuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDowcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblx0LmNsZWFyLWZpbHRlcnMtY2VsbCB7XG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0LmNsZWFyLWZpbHRlcnMtYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdH1cblx0fVxuXHRcblx0LmdyaWQtY29udCB7XG5cdFx0LmdyaWQtaXRlbSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQub25zYWxlZmxhZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1JTtcblx0XHRcdFx0bGVmdDogMjAlO1xuXHRcdFx0XHR3aWR0aDogMjAlO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lndvby1wcm9kdWN0LWNvbnRlbnQge1xuXHRcdFx0XHQucHJvZHVjdC1tZXRhIHtcblx0XHRcdFx0XHQucHJvZHVjdC10aXRsZSB7XG5cdFx0XHRcdFx0XHRAZXh0ZW5kIC5zaG93LWFzLWg1O1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6LTFyZW07XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6LTFyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5wcm9kdWN0LXNob3J0LWRlc2MsIC5wcm9kdWN0LWNhdGVnb3J5IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdC5sb2FkLW1vcmUtY29udCB7XG5cdFx0bWFyZ2luLXRvcDozcmVtO1xuXHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXHRcdC5sb2FkLW1vcmUtYnV0dG9uIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6MHJlbTtcblx0XHR9XG5cdH1cbn1cbiIsImRpdi5wYWdlLXdyYXAgPiAud29vY29tbWVyY2Uge1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRtYXJnaW4tbGVmdDphdXRvO1xuXHRtYXJnaW4tcmlnaHQ6YXV0bztcblx0QGluY2x1ZGUgc2VjdGlvbi1wYWRkaW5nLWxlZnRyaWdodCgxKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRtYXgtd2lkdGg6JGdsb2JhbC13aWR0aDtcblx0fVxufVxuXG4iXX0= */
