@charset "UTF-8";
@font-face {
  font-family: "Sullivan Fill";
  src: url("../fonts/sullivan-fill.otf") format("opentype");
  font-weight: normal;
  font-style: normal; }

/**
 * 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&banner=96.875em&xxxlarge=103.125em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "open-sans", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  -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.1875rem; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0.1875rem; }

.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;
          appearance: none;
  border: 0;
  border-radius: 0.1875rem;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

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

.grid-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 1.5625rem;
      padding-left: 1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    .grid-container {
      padding-right: 1.875rem;
      padding-left: 1.875rem; } }
  .grid-container.fluid {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 1.5625rem;
        padding-left: 1.5625rem; } }
    @media print, screen and (min-width: 64em) {
      .grid-container.fluid {
        padding-right: 1.875rem;
        padding-left: 1.875rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
.accordion .accordion-item .accordion-title,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6,
.accordion .accordion-item .accordion-title, .h6 {
  font-family: "Sullivan Fill";
  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,
  .accordion .accordion-item .accordion-title small, .h6 small {
    line-height: 0;
    color: #a3a3a3; }

h1, .h1 {
  font-size: 2.5rem;
  line-height: 1.075;
  margin-top: 0;
  margin-bottom: 1.25rem; }

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

h3, .h3 {
  font-size: 2rem;
  line-height: 1.09375;
  margin-top: 0;
  margin-bottom: 1.25rem; }

h4, .h4 {
  font-size: 1.75rem;
  line-height: 1.10714;
  margin-top: 0;
  margin-bottom: 0.9375rem; }

h5, .h5 {
  font-size: 1.375rem;
  line-height: 1.27273;
  margin-top: 0;
  margin-bottom: 0.9375rem; }


h6,
.accordion .accordion-item .accordion-title, .h6 {
  font-size: 1.25rem;
  line-height: 1.35;
  margin-top: 0;
  margin-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem;
    line-height: 1.0625;
    margin-bottom: 1.25rem; }
  h2, .h2 {
    font-size: 2.375rem;
    line-height: 1.07895;
    margin-bottom: 1.25rem; }
  h3, .h3 {
    font-size: 2rem;
    line-height: 1.09375;
    margin-bottom: 1.25rem; }
  h4, .h4 {
    font-size: 1.625rem;
    line-height: 1.11538;
    margin-bottom: 0.9375rem; }
  h5, .h5 {
    font-size: 1.375rem;
    line-height: 1.27273;
    margin-bottom: 0.9375rem; }
  
  h6,
  .accordion .accordion-item .accordion-title, .h6 {
    font-size: 1.25rem;
    line-height: 1.35;
    margin-bottom: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.25rem;
    line-height: 1.05769;
    margin-bottom: 1.25rem; }
  h2, .h2 {
    font-size: 2.5rem;
    line-height: 1.075;
    margin-bottom: 1.25rem; }
  h3, .h3 {
    font-size: 2.25rem;
    line-height: 1.08333;
    margin-bottom: 1.25rem; }
  h4, .h4 {
    font-size: 1.8125rem;
    line-height: 1.10345;
    margin-bottom: 0.9375rem; }
  h5, .h5 {
    font-size: 1.5rem;
    line-height: 1.25;
    margin-bottom: 0.9375rem; }
  
  h6,
  .accordion .accordion-item .accordion-title, .h6 {
    font-size: 1.25rem;
    line-height: 1.35;
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 75em) {
  h1, .h1 {
    font-size: 3.6875rem;
    line-height: 1.05085;
    margin-bottom: 1.25rem; }
  h2, .h2 {
    font-size: 2.625rem;
    line-height: 1.07143;
    margin-bottom: 1.25rem; }
  h3, .h3 {
    font-size: 2.3125rem;
    line-height: 1.08108;
    margin-bottom: 1.25rem; }
  h4, .h4 {
    font-size: 2.0625rem;
    line-height: 1.09091;
    margin-bottom: 0.9375rem; }
  h5, .h5 {
    font-size: 1.6875rem;
    line-height: 1.22222;
    margin-bottom: 0.9375rem; }
  
  h6,
  .accordion .accordion-item .accordion-title, .h6 {
    font-size: 1.375rem;
    line-height: 1.31818;
    margin-bottom: 0.9375rem; } }

a {
  line-height: inherit;
  color: #CD2929;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #b02323; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0;
  border-left: none; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #4e4e4e; }

cite {
  display: block;
  font-size: 0.75rem;
  color: #a3a3a3; }
  cite:before {
    content: "— "; }

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #4e4e4e;
    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, .edit-link a.post-edit-link {
  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.1875rem;
  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: #CD2929;
  color: #fff; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .edit-link a.post-edit-link, .edit-link [data-whatinput='mouse'] a.post-edit-link {
    outline: 0; }
  .button:hover, .edit-link a.post-edit-link:hover, .button:focus, .edit-link a.post-edit-link:focus {
    background-color: #CD2929;
    color: #fff; }
  .button.tiny, .edit-link a.tiny.post-edit-link {
    font-size: 0.6rem; }
  .button.small, .edit-link a.small.post-edit-link {
    font-size: 0.75rem; }
  .button.large, .edit-link a.large.post-edit-link {
    font-size: 1.25rem; }
  .button.expanded, .edit-link a.expanded.post-edit-link {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .edit-link a.primary.post-edit-link {
    background-color: #CD2929;
    color: #fff; }
    .button.primary:hover, .edit-link a.primary.post-edit-link:hover, .button.primary:focus, .edit-link a.primary.post-edit-link:focus {
      background-color: #a42121;
      color: #fff; }
  .button.secondary, .edit-link a.secondary.post-edit-link {
    background-color: #e9c893;
    color: #000; }
    .button.secondary:hover, .edit-link a.secondary.post-edit-link:hover, .button.secondary:focus, .edit-link a.secondary.post-edit-link:focus {
      background-color: #dca854;
      color: #000; }
  .button.success, .edit-link a.success.post-edit-link {
    background-color: #3cc47c;
    color: #000; }
    .button.success:hover, .edit-link a.success.post-edit-link:hover, .button.success:focus, .edit-link a.success.post-edit-link:focus {
      background-color: #309d63;
      color: #000; }
  .button.warning, .edit-link a.warning.post-edit-link {
    background-color: #f7b733;
    color: #000; }
    .button.warning:hover, .edit-link a.warning.post-edit-link:hover, .button.warning:focus, .edit-link a.warning.post-edit-link:focus {
      background-color: #e59d09;
      color: #000; }
  .button.alert, .edit-link a.alert.post-edit-link {
    background-color: #fc4a1a;
    color: #000; }
    .button.alert:hover, .edit-link a.alert.post-edit-link:hover, .button.alert:focus, .edit-link a.alert.post-edit-link:focus {
      background-color: #dc3103;
      color: #000; }
  .button.disabled, .edit-link a.disabled.post-edit-link, .button[disabled], .edit-link a.post-edit-link[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .edit-link a.disabled.post-edit-link, .button.disabled:hover, .edit-link a.disabled.post-edit-link:hover, .button.disabled:focus, .edit-link a.disabled.post-edit-link:focus, .button[disabled], .edit-link a.post-edit-link[disabled], .button[disabled]:hover, .edit-link a.post-edit-link[disabled]:hover, .button[disabled]:focus, .edit-link a.post-edit-link[disabled]:focus {
      background-color: #CD2929;
      color: #fff; }
    .button.disabled.primary, .edit-link a.disabled.primary.post-edit-link, .button[disabled].primary, .edit-link a.post-edit-link[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .edit-link a.disabled.primary.post-edit-link, .button.disabled.primary:hover, .edit-link a.disabled.primary.post-edit-link:hover, .button.disabled.primary:focus, .edit-link a.disabled.primary.post-edit-link:focus, .button[disabled].primary, .edit-link a.post-edit-link[disabled].primary, .button[disabled].primary:hover, .edit-link a.post-edit-link[disabled].primary:hover, .button[disabled].primary:focus, .edit-link a.post-edit-link[disabled].primary:focus {
        background-color: #CD2929;
        color: #fff; }
    .button.disabled.secondary, .edit-link a.disabled.secondary.post-edit-link, .button[disabled].secondary, .edit-link a.post-edit-link[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .edit-link a.disabled.secondary.post-edit-link, .button.disabled.secondary:hover, .edit-link a.disabled.secondary.post-edit-link:hover, .button.disabled.secondary:focus, .edit-link a.disabled.secondary.post-edit-link:focus, .button[disabled].secondary, .edit-link a.post-edit-link[disabled].secondary, .button[disabled].secondary:hover, .edit-link a.post-edit-link[disabled].secondary:hover, .button[disabled].secondary:focus, .edit-link a.post-edit-link[disabled].secondary:focus {
        background-color: #e9c893;
        color: #000; }
    .button.disabled.success, .edit-link a.disabled.success.post-edit-link, .button[disabled].success, .edit-link a.post-edit-link[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .edit-link a.disabled.success.post-edit-link, .button.disabled.success:hover, .edit-link a.disabled.success.post-edit-link:hover, .button.disabled.success:focus, .edit-link a.disabled.success.post-edit-link:focus, .button[disabled].success, .edit-link a.post-edit-link[disabled].success, .button[disabled].success:hover, .edit-link a.post-edit-link[disabled].success:hover, .button[disabled].success:focus, .edit-link a.post-edit-link[disabled].success:focus {
        background-color: #3cc47c;
        color: #000; }
    .button.disabled.warning, .edit-link a.disabled.warning.post-edit-link, .button[disabled].warning, .edit-link a.post-edit-link[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .edit-link a.disabled.warning.post-edit-link, .button.disabled.warning:hover, .edit-link a.disabled.warning.post-edit-link:hover, .button.disabled.warning:focus, .edit-link a.disabled.warning.post-edit-link:focus, .button[disabled].warning, .edit-link a.post-edit-link[disabled].warning, .button[disabled].warning:hover, .edit-link a.post-edit-link[disabled].warning:hover, .button[disabled].warning:focus, .edit-link a.post-edit-link[disabled].warning:focus {
        background-color: #f7b733;
        color: #000; }
    .button.disabled.alert, .edit-link a.disabled.alert.post-edit-link, .button[disabled].alert, .edit-link a.post-edit-link[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .edit-link a.disabled.alert.post-edit-link, .button.disabled.alert:hover, .edit-link a.disabled.alert.post-edit-link:hover, .button.disabled.alert:focus, .edit-link a.disabled.alert.post-edit-link:focus, .button[disabled].alert, .edit-link a.post-edit-link[disabled].alert, .button[disabled].alert:hover, .edit-link a.post-edit-link[disabled].alert:hover, .button[disabled].alert:focus, .edit-link a.post-edit-link[disabled].alert:focus {
        background-color: #fc4a1a;
        color: #000; }
  .button.hollow, .edit-link a.hollow.post-edit-link {
    border: 1px solid #CD2929;
    color: #CD2929; }
    .button.hollow, .edit-link a.hollow.post-edit-link, .button.hollow:hover, .edit-link a.hollow.post-edit-link:hover, .button.hollow:focus, .edit-link a.hollow.post-edit-link:focus {
      background-color: transparent; }
    .button.hollow.disabled, .edit-link a.hollow.disabled.post-edit-link, .button.hollow.disabled:hover, .edit-link a.hollow.disabled.post-edit-link:hover, .button.hollow.disabled:focus, .edit-link a.hollow.disabled.post-edit-link:focus, .button.hollow[disabled], .edit-link a.hollow.post-edit-link[disabled], .button.hollow[disabled]:hover, .edit-link a.hollow.post-edit-link[disabled]:hover, .button.hollow[disabled]:focus, .edit-link a.hollow.post-edit-link[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .edit-link a.hollow.post-edit-link:hover, .button.hollow:focus, .edit-link a.hollow.post-edit-link:focus {
      border-color: #671515;
      color: #671515; }
      .button.hollow:hover.disabled, .edit-link a.hollow.post-edit-link:hover.disabled, .button.hollow:hover[disabled], .edit-link a.hollow.post-edit-link:hover[disabled], .button.hollow:focus.disabled, .edit-link a.hollow.post-edit-link:focus.disabled, .button.hollow:focus[disabled], .edit-link a.hollow.post-edit-link:focus[disabled] {
        border: 1px solid #CD2929;
        color: #CD2929; }
    .button.hollow.primary, .edit-link a.hollow.primary.post-edit-link {
      border: 1px solid #CD2929;
      color: #CD2929; }
      .button.hollow.primary:hover, .edit-link a.hollow.primary.post-edit-link:hover, .button.hollow.primary:focus, .edit-link a.hollow.primary.post-edit-link:focus {
        border-color: #671515;
        color: #671515; }
        .button.hollow.primary:hover.disabled, .edit-link a.hollow.primary.post-edit-link:hover.disabled, .button.hollow.primary:hover[disabled], .edit-link a.hollow.primary.post-edit-link:hover[disabled], .button.hollow.primary:focus.disabled, .edit-link a.hollow.primary.post-edit-link:focus.disabled, .button.hollow.primary:focus[disabled], .edit-link a.hollow.primary.post-edit-link:focus[disabled] {
          border: 1px solid #CD2929;
          color: #CD2929; }
    .button.hollow.secondary, .edit-link a.hollow.secondary.post-edit-link {
      border: 1px solid #e9c893;
      color: #e9c893; }
      .button.hollow.secondary:hover, .edit-link a.hollow.secondary.post-edit-link:hover, .button.hollow.secondary:focus, .edit-link a.hollow.secondary.post-edit-link:focus {
        border-color: #9e6e20;
        color: #9e6e20; }
        .button.hollow.secondary:hover.disabled, .edit-link a.hollow.secondary.post-edit-link:hover.disabled, .button.hollow.secondary:hover[disabled], .edit-link a.hollow.secondary.post-edit-link:hover[disabled], .button.hollow.secondary:focus.disabled, .edit-link a.hollow.secondary.post-edit-link:focus.disabled, .button.hollow.secondary:focus[disabled], .edit-link a.hollow.secondary.post-edit-link:focus[disabled] {
          border: 1px solid #e9c893;
          color: #e9c893; }
    .button.hollow.success, .edit-link a.hollow.success.post-edit-link {
      border: 1px solid #3cc47c;
      color: #3cc47c; }
      .button.hollow.success:hover, .edit-link a.hollow.success.post-edit-link:hover, .button.hollow.success:focus, .edit-link a.hollow.success.post-edit-link:focus {
        border-color: #1e623e;
        color: #1e623e; }
        .button.hollow.success:hover.disabled, .edit-link a.hollow.success.post-edit-link:hover.disabled, .button.hollow.success:hover[disabled], .edit-link a.hollow.success.post-edit-link:hover[disabled], .button.hollow.success:focus.disabled, .edit-link a.hollow.success.post-edit-link:focus.disabled, .button.hollow.success:focus[disabled], .edit-link a.hollow.success.post-edit-link:focus[disabled] {
          border: 1px solid #3cc47c;
          color: #3cc47c; }
    .button.hollow.warning, .edit-link a.hollow.warning.post-edit-link {
      border: 1px solid #f7b733;
      color: #f7b733; }
      .button.hollow.warning:hover, .edit-link a.hollow.warning.post-edit-link:hover, .button.hollow.warning:focus, .edit-link a.hollow.warning.post-edit-link:focus {
        border-color: #8f6206;
        color: #8f6206; }
        .button.hollow.warning:hover.disabled, .edit-link a.hollow.warning.post-edit-link:hover.disabled, .button.hollow.warning:hover[disabled], .edit-link a.hollow.warning.post-edit-link:hover[disabled], .button.hollow.warning:focus.disabled, .edit-link a.hollow.warning.post-edit-link:focus.disabled, .button.hollow.warning:focus[disabled], .edit-link a.hollow.warning.post-edit-link:focus[disabled] {
          border: 1px solid #f7b733;
          color: #f7b733; }
    .button.hollow.alert, .edit-link a.hollow.alert.post-edit-link {
      border: 1px solid #fc4a1a;
      color: #fc4a1a; }
      .button.hollow.alert:hover, .edit-link a.hollow.alert.post-edit-link:hover, .button.hollow.alert:focus, .edit-link a.hollow.alert.post-edit-link:focus {
        border-color: #891f02;
        color: #891f02; }
        .button.hollow.alert:hover.disabled, .edit-link a.hollow.alert.post-edit-link:hover.disabled, .button.hollow.alert:hover[disabled], .edit-link a.hollow.alert.post-edit-link:hover[disabled], .button.hollow.alert:focus.disabled, .edit-link a.hollow.alert.post-edit-link:focus.disabled, .button.hollow.alert:focus[disabled], .edit-link a.hollow.alert.post-edit-link:focus[disabled] {
          border: 1px solid #fc4a1a;
          color: #fc4a1a; }
  .button.clear, .edit-link a.clear.post-edit-link {
    border: 1px solid #CD2929;
    color: #CD2929; }
    .button.clear, .edit-link a.clear.post-edit-link, .button.clear:hover, .edit-link a.clear.post-edit-link:hover, .button.clear:focus, .edit-link a.clear.post-edit-link:focus {
      background-color: transparent; }
    .button.clear.disabled, .edit-link a.clear.disabled.post-edit-link, .button.clear.disabled:hover, .edit-link a.clear.disabled.post-edit-link:hover, .button.clear.disabled:focus, .edit-link a.clear.disabled.post-edit-link:focus, .button.clear[disabled], .edit-link a.clear.post-edit-link[disabled], .button.clear[disabled]:hover, .edit-link a.clear.post-edit-link[disabled]:hover, .button.clear[disabled]:focus, .edit-link a.clear.post-edit-link[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .edit-link a.clear.post-edit-link:hover, .button.clear:focus, .edit-link a.clear.post-edit-link:focus {
      border-color: #671515;
      color: #671515; }
      .button.clear:hover.disabled, .edit-link a.clear.post-edit-link:hover.disabled, .button.clear:hover[disabled], .edit-link a.clear.post-edit-link:hover[disabled], .button.clear:focus.disabled, .edit-link a.clear.post-edit-link:focus.disabled, .button.clear:focus[disabled], .edit-link a.clear.post-edit-link:focus[disabled] {
        border: 1px solid #CD2929;
        color: #CD2929; }
    .button.clear, .edit-link a.clear.post-edit-link, .button.clear.disabled, .edit-link a.clear.disabled.post-edit-link, .button.clear[disabled], .edit-link a.clear.post-edit-link[disabled], .button.clear:hover, .edit-link a.clear.post-edit-link:hover, .button.clear:hover.disabled, .edit-link a.clear.post-edit-link:hover.disabled, .button.clear:hover[disabled], .edit-link a.clear.post-edit-link:hover[disabled], .button.clear:focus, .edit-link a.clear.post-edit-link:focus, .button.clear:focus.disabled, .edit-link a.clear.post-edit-link:focus.disabled, .button.clear:focus[disabled], .edit-link a.clear.post-edit-link:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, .edit-link a.clear.primary.post-edit-link {
      border: 1px solid #CD2929;
      color: #CD2929; }
      .button.clear.primary:hover, .edit-link a.clear.primary.post-edit-link:hover, .button.clear.primary:focus, .edit-link a.clear.primary.post-edit-link:focus {
        border-color: #671515;
        color: #671515; }
        .button.clear.primary:hover.disabled, .edit-link a.clear.primary.post-edit-link:hover.disabled, .button.clear.primary:hover[disabled], .edit-link a.clear.primary.post-edit-link:hover[disabled], .button.clear.primary:focus.disabled, .edit-link a.clear.primary.post-edit-link:focus.disabled, .button.clear.primary:focus[disabled], .edit-link a.clear.primary.post-edit-link:focus[disabled] {
          border: 1px solid #CD2929;
          color: #CD2929; }
      .button.clear.primary, .edit-link a.clear.primary.post-edit-link, .button.clear.primary.disabled, .edit-link a.clear.primary.disabled.post-edit-link, .button.clear.primary[disabled], .edit-link a.clear.primary.post-edit-link[disabled], .button.clear.primary:hover, .edit-link a.clear.primary.post-edit-link:hover, .button.clear.primary:hover.disabled, .edit-link a.clear.primary.post-edit-link:hover.disabled, .button.clear.primary:hover[disabled], .edit-link a.clear.primary.post-edit-link:hover[disabled], .button.clear.primary:focus, .edit-link a.clear.primary.post-edit-link:focus, .button.clear.primary:focus.disabled, .edit-link a.clear.primary.post-edit-link:focus.disabled, .button.clear.primary:focus[disabled], .edit-link a.clear.primary.post-edit-link:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, .edit-link a.clear.secondary.post-edit-link {
      border: 1px solid #e9c893;
      color: #e9c893; }
      .button.clear.secondary:hover, .edit-link a.clear.secondary.post-edit-link:hover, .button.clear.secondary:focus, .edit-link a.clear.secondary.post-edit-link:focus {
        border-color: #9e6e20;
        color: #9e6e20; }
        .button.clear.secondary:hover.disabled, .edit-link a.clear.secondary.post-edit-link:hover.disabled, .button.clear.secondary:hover[disabled], .edit-link a.clear.secondary.post-edit-link:hover[disabled], .button.clear.secondary:focus.disabled, .edit-link a.clear.secondary.post-edit-link:focus.disabled, .button.clear.secondary:focus[disabled], .edit-link a.clear.secondary.post-edit-link:focus[disabled] {
          border: 1px solid #e9c893;
          color: #e9c893; }
      .button.clear.secondary, .edit-link a.clear.secondary.post-edit-link, .button.clear.secondary.disabled, .edit-link a.clear.secondary.disabled.post-edit-link, .button.clear.secondary[disabled], .edit-link a.clear.secondary.post-edit-link[disabled], .button.clear.secondary:hover, .edit-link a.clear.secondary.post-edit-link:hover, .button.clear.secondary:hover.disabled, .edit-link a.clear.secondary.post-edit-link:hover.disabled, .button.clear.secondary:hover[disabled], .edit-link a.clear.secondary.post-edit-link:hover[disabled], .button.clear.secondary:focus, .edit-link a.clear.secondary.post-edit-link:focus, .button.clear.secondary:focus.disabled, .edit-link a.clear.secondary.post-edit-link:focus.disabled, .button.clear.secondary:focus[disabled], .edit-link a.clear.secondary.post-edit-link:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, .edit-link a.clear.success.post-edit-link {
      border: 1px solid #3cc47c;
      color: #3cc47c; }
      .button.clear.success:hover, .edit-link a.clear.success.post-edit-link:hover, .button.clear.success:focus, .edit-link a.clear.success.post-edit-link:focus {
        border-color: #1e623e;
        color: #1e623e; }
        .button.clear.success:hover.disabled, .edit-link a.clear.success.post-edit-link:hover.disabled, .button.clear.success:hover[disabled], .edit-link a.clear.success.post-edit-link:hover[disabled], .button.clear.success:focus.disabled, .edit-link a.clear.success.post-edit-link:focus.disabled, .button.clear.success:focus[disabled], .edit-link a.clear.success.post-edit-link:focus[disabled] {
          border: 1px solid #3cc47c;
          color: #3cc47c; }
      .button.clear.success, .edit-link a.clear.success.post-edit-link, .button.clear.success.disabled, .edit-link a.clear.success.disabled.post-edit-link, .button.clear.success[disabled], .edit-link a.clear.success.post-edit-link[disabled], .button.clear.success:hover, .edit-link a.clear.success.post-edit-link:hover, .button.clear.success:hover.disabled, .edit-link a.clear.success.post-edit-link:hover.disabled, .button.clear.success:hover[disabled], .edit-link a.clear.success.post-edit-link:hover[disabled], .button.clear.success:focus, .edit-link a.clear.success.post-edit-link:focus, .button.clear.success:focus.disabled, .edit-link a.clear.success.post-edit-link:focus.disabled, .button.clear.success:focus[disabled], .edit-link a.clear.success.post-edit-link:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, .edit-link a.clear.warning.post-edit-link {
      border: 1px solid #f7b733;
      color: #f7b733; }
      .button.clear.warning:hover, .edit-link a.clear.warning.post-edit-link:hover, .button.clear.warning:focus, .edit-link a.clear.warning.post-edit-link:focus {
        border-color: #8f6206;
        color: #8f6206; }
        .button.clear.warning:hover.disabled, .edit-link a.clear.warning.post-edit-link:hover.disabled, .button.clear.warning:hover[disabled], .edit-link a.clear.warning.post-edit-link:hover[disabled], .button.clear.warning:focus.disabled, .edit-link a.clear.warning.post-edit-link:focus.disabled, .button.clear.warning:focus[disabled], .edit-link a.clear.warning.post-edit-link:focus[disabled] {
          border: 1px solid #f7b733;
          color: #f7b733; }
      .button.clear.warning, .edit-link a.clear.warning.post-edit-link, .button.clear.warning.disabled, .edit-link a.clear.warning.disabled.post-edit-link, .button.clear.warning[disabled], .edit-link a.clear.warning.post-edit-link[disabled], .button.clear.warning:hover, .edit-link a.clear.warning.post-edit-link:hover, .button.clear.warning:hover.disabled, .edit-link a.clear.warning.post-edit-link:hover.disabled, .button.clear.warning:hover[disabled], .edit-link a.clear.warning.post-edit-link:hover[disabled], .button.clear.warning:focus, .edit-link a.clear.warning.post-edit-link:focus, .button.clear.warning:focus.disabled, .edit-link a.clear.warning.post-edit-link:focus.disabled, .button.clear.warning:focus[disabled], .edit-link a.clear.warning.post-edit-link:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, .edit-link a.clear.alert.post-edit-link {
      border: 1px solid #fc4a1a;
      color: #fc4a1a; }
      .button.clear.alert:hover, .edit-link a.clear.alert.post-edit-link:hover, .button.clear.alert:focus, .edit-link a.clear.alert.post-edit-link:focus {
        border-color: #891f02;
        color: #891f02; }
        .button.clear.alert:hover.disabled, .edit-link a.clear.alert.post-edit-link:hover.disabled, .button.clear.alert:hover[disabled], .edit-link a.clear.alert.post-edit-link:hover[disabled], .button.clear.alert:focus.disabled, .edit-link a.clear.alert.post-edit-link:focus.disabled, .button.clear.alert:focus[disabled], .edit-link a.clear.alert.post-edit-link:focus[disabled] {
          border: 1px solid #fc4a1a;
          color: #fc4a1a; }
      .button.clear.alert, .edit-link a.clear.alert.post-edit-link, .button.clear.alert.disabled, .edit-link a.clear.alert.disabled.post-edit-link, .button.clear.alert[disabled], .edit-link a.clear.alert.post-edit-link[disabled], .button.clear.alert:hover, .edit-link a.clear.alert.post-edit-link:hover, .button.clear.alert:hover.disabled, .edit-link a.clear.alert.post-edit-link:hover.disabled, .button.clear.alert:hover[disabled], .edit-link a.clear.alert.post-edit-link:hover[disabled], .button.clear.alert:focus, .edit-link a.clear.alert.post-edit-link:focus, .button.clear.alert:focus.disabled, .edit-link a.clear.alert.post-edit-link:focus.disabled, .button.clear.alert:focus[disabled], .edit-link a.clear.alert.post-edit-link:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, .edit-link a.dropdown.post-edit-link::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .edit-link a.dropdown.hollow.post-edit-link::after {
    border-top-color: #CD2929; }
  .button.dropdown.hollow.primary::after, .edit-link a.dropdown.hollow.primary.post-edit-link::after {
    border-top-color: #CD2929; }
  .button.dropdown.hollow.secondary::after, .edit-link a.dropdown.hollow.secondary.post-edit-link::after {
    border-top-color: #e9c893; }
  .button.dropdown.hollow.success::after, .edit-link a.dropdown.hollow.success.post-edit-link::after {
    border-top-color: #3cc47c; }
  .button.dropdown.hollow.warning::after, .edit-link a.dropdown.hollow.warning.post-edit-link::after {
    border-top-color: #f7b733; }
  .button.dropdown.hollow.alert::after, .edit-link a.dropdown.hollow.alert.post-edit-link::after {
    border-top-color: #fc4a1a; }
  .button.arrow-only::after, .edit-link a.arrow-only.post-edit-link::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #a3a3a3;
  border-radius: 0.1875rem;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #4e4e4e;
    background-color: #fff;
    box-shadow: 0 0 5px #a3a3a3;
    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: #a3a3a3; }

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

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

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

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

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

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

.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.1875rem 0 0 0.1875rem; }
  .input-group > :last-child > * {
    border-radius: 0 0.1875rem 0.1875rem 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 #a3a3a3;
  background: #e6e6e6;
  color: #000;
  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 #a3a3a3; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #a3a3a3;
  border-radius: 0.1875rem;
  background-color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  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%2878, 78, 78%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #4e4e4e;
    background-color: #fff;
    box-shadow: 0 0 5px #a3a3a3;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

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

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

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

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

.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: #CD2929; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0.1875rem 0.1875rem; }
  .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: #fff;
  color: #000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

.accordion-menu a {
  padding: 0; }

.accordion-menu .is-accordion-submenu a {
  padding: 0; }

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

.callout {
  position: relative;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0.1875rem;
  background-color: rgba(255, 255, 255, 0);
  color: #000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: white;
    color: #000; }
  .callout.secondary {
    background-color: white;
    color: #000; }
  .callout.success {
    background-color: white;
    color: #000; }
  .callout.warning {
    background-color: white;
    color: #000; }
  .callout.alert {
    background-color: white;
    color: #000; }
  .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.1875rem;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  color: #000; }
  .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: #4e4e4e;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000; }
  .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,
  .menu .edit-link a.post-edit-link,
  .edit-link .menu a.post-edit-link {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #fff; }
  .menu .active > a {
    background: transparent;
    color: #fff; }
  .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;
    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: #fff;
    box-shadow: 0 7px 0 #fff, 0 14px 0 #fff;
    content: ''; }
  .menu-icon:hover::after {
    background: #a3a3a3;
    box-shadow: 0 7px 0 #a3a3a3, 0 14px 0 #a3a3a3; }

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

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

.drilldown a {
  padding: 0;
  background: #fff; }

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

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

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

.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 #CD2929 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 #CD2929 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: 18.75rem;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #a3a3a3;
  border-radius: 0.1875rem;
  background-color: #fff;
  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 a {
  padding: 0; }
  [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%; }

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

@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-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.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: 9.375rem;
  border: none;
  background: #e9c893; }
  .dropdown .is-dropdown-submenu a {
    padding: 0; }
  .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.1875rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #CD2929;
  color: #fff; }
  .label.primary {
    background: #CD2929;
    color: #fff; }
  .label.secondary {
    background: #e9c893;
    color: #000; }
  .label.success {
    background: #3cc47c;
    color: #000; }
  .label.warning {
    background: #f7b733;
    color: #000; }
  .label.alert {
    background: #fc4a1a;
    color: #000; }

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

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

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

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

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

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #a3a3a3;
  border-radius: 0.1875rem;
  background-color: #fff;
  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: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .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; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0.1875rem; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #fff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: 700; }
  thead {
    background: #f9f9f9;
    color: #000; }
  tfoot {
    background: #f2f2f2;
    color: #000; }
  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: #fff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      background-color: #fff; }

@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 none;
  background: transparent;
  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: #CD2929; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #c32727; }

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

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

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

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

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fff;
  border-radius: 0.1875rem;
  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(205, 41, 41, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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
*/
.top-pad, .top-btm-pad {
  padding-top: 40px; }

.btm-pad, .top-btm-pad {
  padding-bottom: 40px; }

.half-top-pad {
  padding-top: 20px; }

.half-btm-pad {
  padding-bottom: 20px; }

.double-top-pad {
  padding-top: 80px; }

.double-btm-pad {
  padding-bottom: 80px; }

@media print, screen and (min-width: 40em) {
  .top-pad, .top-btm-pad {
    padding-top: 50px; }
  .btm-pad, .top-btm-pad {
    padding-bottom: 50px; }
  .half-top-pad {
    padding-top: 25px; }
  .half-btm-pad {
    padding-bottom: 25px; }
  .double-top-pad {
    padding-top: 100px; }
  .double-btm-pad {
    padding-bottom: 100px; } }

@media print, screen and (min-width: 64em) {
  .top-pad, .top-btm-pad {
    padding-top: 60px; }
  .btm-pad, .top-btm-pad {
    padding-bottom: 60px; }
  .half-top-pad {
    padding-top: 30px; }
  .half-btm-pad {
    padding-bottom: 30px; }
  .double-top-pad {
    padding-top: 120px; }
  .double-btm-pad {
    padding-bottom: 120px; } }

.top-mar, .top-btm-mar {
  margin-top: 40px; }

.btm-mar, .top-btm-mar {
  margin-bottom: 40px; }

.half-top-mar {
  margin-top: 20px; }

.half-btm-mar {
  margin-bottom: 20px; }

@media print, screen and (min-width: 40em) {
  .top-mar, .top-btm-mar {
    margin-top: 50px; }
  .btm-mar, .top-btm-mar {
    margin-bottom: 50px; }
  .half-top-mar {
    margin-top: 25px; }
  .half-btm-mar {
    margin-bottom: 25px; } }

@media print, screen and (min-width: 64em) {
  .top-mar, .top-btm-mar {
    margin-top: 60px; }
  .btm-mar, .top-btm-mar {
    margin-bottom: 60px; }
  .half-top-mar {
    margin-top: 30px; }
  .half-btm-mar {
    margin-bottom: 30px; } }

.button.tiny, .edit-link a.tiny.post-edit-link {
  padding: 0.3125rem 0.5rem 0.25rem 0.5rem; }
  .button.tiny .main-text, .edit-link a.tiny.post-edit-link .main-text {
    font-size: 0.875rem; }
  .button.tiny p, .edit-link a.tiny.post-edit-link p {
    font-size: 0.6875rem;
    margin-bottom: 0.125rem; }

.button.large .main-text, .edit-link a.large.post-edit-link .main-text {
  margin-bottom: 0; }

.button.large p, .edit-link a.large.post-edit-link p {
  margin-bottom: 0; }

.button.large .main-text, .edit-link a.large.post-edit-link .main-text {
  font-size: 1.5rem; }

.button.large p, .edit-link a.large.post-edit-link p {
  font-size: 1rem; }

@media print, screen and (min-width: 40em) {
  .button.large .main-text, .edit-link a.large.post-edit-link .main-text {
    font-size: 2rem; }
  .button.large p, .edit-link a.large.post-edit-link p {
    font-size: 1.3125rem; } }

.button.no-btm-mar, .edit-link a.no-btm-mar.post-edit-link {
  margin-bottom: 0; }

.button.secondary-btn-color, .edit-link a.secondary-btn-color.post-edit-link {
  background-color: #e9c893;
  color: #CD2929; }

.button.success-btn-color, .edit-link a.success-btn-color.post-edit-link {
  background-color: #3cc47c;
  color: #CD2929; }

.button.warning-btn-color, .edit-link a.warning-btn-color.post-edit-link {
  background-color: #f7b733;
  color: #CD2929; }

.button.alert-btn-color, .edit-link a.alert-btn-color.post-edit-link {
  background-color: #fc4a1a;
  color: #fff; }

.button.gray-btn-color, .edit-link a.gray-btn-color.post-edit-link {
  background-color: #a3a3a3;
  color: #fff; }

.button.white-btn-color, .edit-link a.white-btn-color.post-edit-link {
  background-color: #fff;
  color: #000; }

p,
h1,
h2,
h3,
h4,
h5,
h6,
.accordion .accordion-item .accordion-title,
li {
  transition: font-size 0.2s ease-in-out; }

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

.lg-text {
  font-size: 115%; }
  .lg-text h1 {
    font-size: 4.375rem; }

@media print, screen and (min-width: 40em) {
  .lg-text {
    font-size: 150%; }
    .lg-text h1 {
      font-size: 5rem; } }

@media print, screen and (min-width: 64em) {
  .lg-text {
    font-size: 150%; }
    .lg-text h1 {
      font-size: 7.5rem; } }

@media screen and (min-width: 75em) {
  .lg-text {
    font-size: 200%; }
    .lg-text h1 {
      font-size: 10rem; } }

#titlediv #title-prompt-text {
  line-height: 1; }

#adminmenu .wp-has-current-submenu .wp-submenu {
  margin-left: 0; }

#adminmenu .wp-submenu {
  margin-left: 0; }

.theme-preview .button, .theme-preview .edit-link a.post-edit-link, .edit-link .theme-preview a.post-edit-link {
  border: none;
  line-height: 1; }

.theme-preview .owl-carousel {
  display: block;
  overflow: hidden; }
  .theme-preview .owl-carousel .slide {
    float: left;
    position: relative;
    width: 20%;
    margin-right: 30px; }

@media print, screen and (min-width: 40em) {
  .small-content .main-content-wrapper {
    width: calc(83.33333% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
    margin-left: calc(8.33333% + 1.25rem); } }

.full-width-content-section .grid-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0; }
  .full-width-content-section .grid-container.content-break-grid {
    padding-left: 1.875rem;
    padding-right: 1.875rem; }
    @media screen and (min-width: 75em) {
      .full-width-content-section .grid-container.content-break-grid {
        margin: 0 auto; } }

@media screen and (max-width: 39.9375em) {
  .mobile-order-first {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (max-width: 39.9375em) {
  .mobile-order-last {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

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

.img-bg {
  background-size: cover; }
  .img-bg .main-content-wrapper h1, .img-bg .main-content-wrapper h2, .img-bg .main-content-wrapper h3, .img-bg .main-content-wrapper h4, .img-bg .main-content-wrapper h5, .img-bg .main-content-wrapper h6, .img-bg .main-content-wrapper .accordion .accordion-item .accordion-title, .accordion .accordion-item .img-bg .main-content-wrapper .accordion-title {
    text-shadow: 2px 1px 2px rgba(0, 0, 0, 0.9); }
  .img-bg .main-content-wrapper h1,
  .img-bg .main-content-wrapper h2,
  .img-bg .main-content-wrapper h3,
  .img-bg .main-content-wrapper h4,
  .img-bg .main-content-wrapper h5, .img-bg .main-content-wrapper h6, .img-bg .main-content-wrapper .accordion .accordion-item .accordion-title, .accordion .accordion-item .img-bg .main-content-wrapper .accordion-title,
  .img-bg .main-content-wrapper p {
    color: #fff; }
    .img-bg .main-content-wrapper h1.red-text,
    .img-bg .main-content-wrapper h2.red-text,
    .img-bg .main-content-wrapper h3.red-text,
    .img-bg .main-content-wrapper h4.red-text,
    .img-bg .main-content-wrapper h5.red-text,
    .img-bg .main-content-wrapper h6.red-text,
    .img-bg .main-content-wrapper .accordion .accordion-item .red-text.accordion-title,
    .accordion .accordion-item .img-bg .main-content-wrapper .red-text.accordion-title,
    .img-bg .main-content-wrapper p.red-text {
      color: #CD2929; }
  .img-bg.overlay-black {
    position: relative; }
    .img-bg.overlay-black::before, .img-bg.overlay-black::after {
      content: "";
      height: 100%;
      opacity: 0.45;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1; }
    .img-bg.overlay-black .content-band {
      position: relative; }
  .img-bg.overlay-black::before, .img-bg.overlay-black::after {
    background-color: #000; }

img {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%); }

.img-gallery .img-gallery-item a {
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%); }

.band-wrapper.img-bg.banner {
  background-blend-mode: luminosity;
  background-color: #000; }

.lt-gray-bg {
  background-color: #e6e6e6; }

.md-gray-bg {
  background-color: #a3a3a3;
  color: #fff; }

.black-bg {
  background-color: #000;
  color: #fff; }
  .black-bg .button .main-text span, .black-bg .edit-link a.post-edit-link .main-text span, .edit-link .black-bg a.post-edit-link .main-text span, .black-bg input[type="submit"] .main-text span {
    text-decoration: none; }
  .black-bg .button .main-text::before, .black-bg .edit-link a.post-edit-link .main-text::before, .edit-link .black-bg a.post-edit-link .main-text::before, .black-bg input[type="submit"] .main-text::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23fff"/></g></g></svg>'); }
  .black-bg .button.c2a-btn, .black-bg .edit-link a.c2a-btn.post-edit-link, .edit-link .black-bg a.c2a-btn.post-edit-link, .black-bg input[type="submit"].c2a-btn {
    color: #CD2929; }
    .black-bg .button.c2a-btn:hover, .black-bg .edit-link a.c2a-btn.post-edit-link:hover, .edit-link .black-bg a.c2a-btn.post-edit-link:hover, .black-bg .button.c2a-btn:focus, .black-bg .edit-link a.c2a-btn.post-edit-link:focus, .edit-link .black-bg a.c2a-btn.post-edit-link:focus, .black-bg input[type="submit"].c2a-btn:hover, .black-bg input[type="submit"].c2a-btn:focus {
      color: #fff; }

.img-bg .button .main-text::before, .img-bg .edit-link a.post-edit-link .main-text::before, .edit-link .img-bg a.post-edit-link .main-text::before, .img-bg input[type="submit"] .main-text::before {
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23fff"/></g></g></svg>'); }

.img-bg .button.c2a-btn, .img-bg .edit-link a.c2a-btn.post-edit-link, .edit-link .img-bg a.c2a-btn.post-edit-link, .img-bg input[type="submit"].c2a-btn {
  color: #CD2929; }
  .img-bg .button.c2a-btn:hover, .img-bg .edit-link a.c2a-btn.post-edit-link:hover, .edit-link .img-bg a.c2a-btn.post-edit-link:hover, .img-bg .button.c2a-btn:focus, .img-bg .edit-link a.c2a-btn.post-edit-link:focus, .edit-link .img-bg a.c2a-btn.post-edit-link:focus, .img-bg input[type="submit"].c2a-btn:hover, .img-bg input[type="submit"].c2a-btn:focus {
    color: #fff; }

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

.wpforms-error {
  color: #CD2929; }

.wpforms-form {
  font-family: "open-sans", sans-serif;
  margin-top: 1.875rem; }
  .wpforms-form label, .wpforms-form legend {
    font-size: 1.125rem; }
  .wpforms-form .wpforms-field {
    margin-bottom: 0.9375rem; }
  .wpforms-form .wpforms-required-label {
    color: #CD2929; }
  .wpforms-form input,
  .wpforms-form select,
  .wpforms-form textarea {
    border: none;
    background: #e3e3e3;
    box-shadow: none; }
  .wpforms-form textarea {
    min-height: 10.625rem; }
  .wpforms-form .wpforms-submit {
    font-family: "Sullivan Fill";
    margin-bottom: 0;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
    font-size: 1.6875rem;
    color: #CD2929;
    background-color: transparent; }
    .wpforms-form .wpforms-submit:hover {
      text-decoration: underline;
      -webkit-text-decoration-color: #CD2929;
              text-decoration-color: #CD2929;
      color: #000; }
    .wpforms-form .wpforms-submit::before {
      background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23000"/></g></g></svg>');
      background-repeat: no-repeat;
      content: '';
      background-size: contain;
      display: inline-block;
      position: relative;
      height: 0.8125rem;
      width: 0.8125rem;
      top: -0.1875rem;
      margin-right: 0.625rem; }

.forminator-custom-form {
  font-family: "open-sans", sans-serif !important; }
  .forminator-custom-form label, .forminator-custom-form legend {
    font-size: 1.125rem !important;
    font-weight: 400 !important; }
  .forminator-custom-form input,
  .forminator-custom-form select,
  .forminator-custom-form textarea {
    border: none !important;
    background: #e3e3e3;
    box-shadow: none !important; }
    .forminator-custom-form input:focus,
    .forminator-custom-form select:focus,
    .forminator-custom-form textarea:focus {
      border: none !important;
      background: #e3e3e3;
      box-shadow: none !important; }

.forminator-required {
  color: #CD2929; }

.forminator-button-upload {
  background: #e3e3e3 !important;
  box-shadow: none !important; }
  .forminator-button-upload:hover {
    box-shadow: none !important;
    background: #000 !important;
    color: #fff; }

.forminator-button-submit {
  text-align: left !important;
  font-family: "Sullivan Fill" !important;
  margin-bottom: 0 !important;
  text-transform: uppercase !important;
  position: relative !important;
  cursor: pointer !important;
  padding: 0 !important;
  font-size: 1.6875rem !important;
  color: #CD2929 !important;
  background-color: transparent !important; }
  .forminator-button-submit:hover {
    text-decoration: underline !important;
    -webkit-text-decoration-color: #CD2929 !important;
            text-decoration-color: #CD2929 !important;
    color: #000 !important;
    box-shadow: none !important; }
  .forminator-button-submit::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23000"/></g></g></svg>');
    background-repeat: no-repeat;
    content: '';
    background-size: contain;
    display: inline-block;
    position: relative;
    height: 0.8125rem;
    width: 0.8125rem;
    top: -0.1875rem;
    margin-right: 0.625rem; }

.forminator-button-submit[disabled] {
  font-family: "Sullivan Fill";
  margin-bottom: 0;
  text-transform: uppercase;
  position: relative;
  cursor: pointer;
  font-size: 1.6875rem;
  color: #CD2929;
  background-color: transparent; }
  .forminator-button-submit[disabled]:hover {
    text-decoration: underline;
    -webkit-text-decoration-color: #CD2929;
            text-decoration-color: #CD2929;
    color: #000; }
  .forminator-button-submit[disabled]::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23000"/></g></g></svg>');
    background-repeat: no-repeat;
    content: '';
    background-size: contain;
    display: inline-block;
    position: relative;
    height: 0.8125rem;
    width: 0.8125rem;
    top: -0.1875rem;
    margin-right: 0.625rem; }

.forminator-row {
  margin-bottom: 0.625rem !important; }

.forminator-error, .forminator-error-message {
  color: #CD2929; }

p,
.p {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  margin-bottom: 0.9375rem; }

.main-content ul,
.main-content ol {
  font-size: 1.25rem;
  line-height: 1.6875rem; }

h1,
.h1,
.type-size-6,
.type-size-6 p,
.type-size-6 li {
  font-size: 2.5rem;
  line-height: 2.6875rem;
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    h1,
    .h1,
    .type-size-6,
    .type-size-6 p,
    .type-size-6 li {
      font-size: 3rem;
      line-height: 3.1875rem;
      margin-bottom: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    h1,
    .h1,
    .type-size-6,
    .type-size-6 p,
    .type-size-6 li {
      font-size: 3.25rem;
      line-height: 3.4375rem;
      margin-bottom: 1.25rem; } }
  @media screen and (min-width: 75em) {
    h1,
    .h1,
    .type-size-6,
    .type-size-6 p,
    .type-size-6 li {
      font-size: 3.6875rem;
      line-height: 3.875rem;
      margin-bottom: 1.25rem; } }

h2,
.h2,
.type-size-5,
.type-size-5 p,
.type-size-5 li {
  font-size: 2.25rem;
  line-height: 2.4375rem;
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    h2,
    .h2,
    .type-size-5,
    .type-size-5 p,
    .type-size-5 li {
      font-size: 2.375rem;
      line-height: 2.5625rem;
      margin-bottom: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    h2,
    .h2,
    .type-size-5,
    .type-size-5 p,
    .type-size-5 li {
      font-size: 2.5rem;
      line-height: 2.6875rem;
      margin-bottom: 1.25rem; } }
  @media screen and (min-width: 75em) {
    h2,
    .h2,
    .type-size-5,
    .type-size-5 p,
    .type-size-5 li {
      font-size: 2.625rem;
      line-height: 2.8125rem;
      margin-bottom: 1.25rem; } }

h3,
.h3,
.type-size-4,
.type-size-4 p,
.type-size-4 li {
  font-size: 2rem;
  line-height: 2.1875rem;
  margin-bottom: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    h3,
    .h3,
    .type-size-4,
    .type-size-4 p,
    .type-size-4 li {
      font-size: 2rem;
      line-height: 2.1875rem;
      margin-bottom: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    h3,
    .h3,
    .type-size-4,
    .type-size-4 p,
    .type-size-4 li {
      font-size: 2.25rem;
      line-height: 2.4375rem;
      margin-bottom: 1.25rem; } }
  @media screen and (min-width: 75em) {
    h3,
    .h3,
    .type-size-4,
    .type-size-4 p,
    .type-size-4 li {
      font-size: 2.3125rem;
      line-height: 2.5rem;
      margin-bottom: 1.25rem; } }

h4,
.h4,
.type-size-3,
.type-size-3 p,
.type-size-3 li {
  font-size: 1.75rem;
  line-height: 1.9375rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    h4,
    .h4,
    .type-size-3,
    .type-size-3 p,
    .type-size-3 li {
      font-size: 1.625rem;
      line-height: 1.8125rem;
      margin-bottom: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    h4,
    .h4,
    .type-size-3,
    .type-size-3 p,
    .type-size-3 li {
      font-size: 1.8125rem;
      line-height: 2rem;
      margin-bottom: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    h4,
    .h4,
    .type-size-3,
    .type-size-3 p,
    .type-size-3 li {
      font-size: 2.0625rem;
      line-height: 2.25rem;
      margin-bottom: 0.9375rem; } }

h5,
.h5,
.type-size-2,
.type-size-2 p,
.type-size-2 li {
  font-size: 1.375rem;
  line-height: 1.75rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    h5,
    .h5,
    .type-size-2,
    .type-size-2 p,
    .type-size-2 li {
      font-size: 1.375rem;
      line-height: 1.75rem;
      margin-bottom: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    h5,
    .h5,
    .type-size-2,
    .type-size-2 p,
    .type-size-2 li {
      font-size: 1.5rem;
      line-height: 1.875rem;
      margin-bottom: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    h5,
    .h5,
    .type-size-2,
    .type-size-2 p,
    .type-size-2 li {
      font-size: 1.6875rem;
      line-height: 2.0625rem;
      margin-bottom: 0.9375rem; } }


h6,
.accordion .accordion-item .accordion-title,
.h6,
.type-size-1,
.type-size-1 p,
.type-size-1 li {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  margin-bottom: 0.9375rem; }
  @media print, screen and (min-width: 40em) {
    
    h6,
    .accordion .accordion-item .accordion-title,
    .h6,
    .type-size-1,
    .type-size-1 p,
    .type-size-1 li {
      font-size: 1.25rem;
      line-height: 1.6875rem;
      margin-bottom: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    
    h6,
    .accordion .accordion-item .accordion-title,
    .h6,
    .type-size-1,
    .type-size-1 p,
    .type-size-1 li {
      font-size: 1.25rem;
      line-height: 1.6875rem;
      margin-bottom: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    
    h6,
    .accordion .accordion-item .accordion-title,
    .h6,
    .type-size-1,
    .type-size-1 p,
    .type-size-1 li {
      font-size: 1.375rem;
      line-height: 1.8125rem;
      margin-bottom: 0.9375rem; } }

h1, h2, h3, h4, h5,
h6,
.accordion .accordion-item .accordion-title {
  text-transform: uppercase; }

h2, h3, h4, h5,
h6,
.accordion .accordion-item .accordion-title {
  color: #CD2929; }

.red-text {
  color: #CD2929; }

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

.edit-link {
  position: fixed !important;
  top: 0;
  z-index: 1001; }
  .edit-link a.post-edit-link {
    background-image: none;
    background-color: #CD2929;
    border-radius: 0 0 0.1875rem 0 !important;
    color: #fff !important;
    font-size: 0.9375rem !important;
    font-weight: 700;
    margin-bottom: 0;
    padding: 0.25rem 0.625rem !important;
    position: fixed !important;
    top: 0;
    text-transform: uppercase; }
    .edit-link a.post-edit-link:hover {
      background-color: #e9c893;
      background-image: none; }

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

.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -1.25rem;
  margin-left: -1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery {
      margin-right: -1.5625rem;
      margin-left: -1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery {
      margin-right: -1.875rem;
      margin-left: -1.875rem; } }
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(20% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(16.66667% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(14.28571% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(12.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(50% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(11.11111% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery .gallery-icon > a {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #fff;
    border-radius: 0.1875rem;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0;
    transition: box-shadow 200ms ease-out; }
    .gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
      box-shadow: 0 0 6px 1px rgba(205, 41, 41, 0.5); }
    .gallery .gallery-icon > a image {
      box-shadow: none; }
  .gallery .gallery-icon > img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #fff;
    border-radius: 0.1875rem;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0; }

.logo-wrapper {
  position: absolute;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 100;
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.3s ease; }
  @media screen and (max-width: 63.9375em) {
    .logo-wrapper {
      top: 0;
      width: 100%;
      height: 120px;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      background-position: top center;
      background-image: url('data:image/svg+xml,<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 422.83 107.69"><polygon points="0 0 211.42 107.69 422.83 0 0 0" style="fill:%23fff;"/></svg>'); } }
  @media print, screen and (min-width: 64em) {
    .logo-wrapper {
      top: 70px;
      width: 125px;
      height: 150px;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      background-image: url('data:image/svg+xml,<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 289.41 294.83"><polygon points="0 0 0 0 0 294.82 0 294.83 289.41 147.41 0 0" style="fill:%23fff;"/></svg>'); } }
  @media screen and (min-width: 75em) {
    .logo-wrapper {
      width: 135px;
      height: 160px; } }
  @media screen and (min-width: 90em) {
    .logo-wrapper {
      width: 200px;
      height: 225px; } }
  @media screen and (min-width: 96.875em) {
    .logo-wrapper {
      top: 70px;
      width: 300px;
      height: 325px; } }
  @media screen and (max-width: 63.9375em) {
    .logo-wrapper .logo {
      position: relative;
      margin-top: 4px; }
      .logo-wrapper .logo svg {
        max-width: 9.0625rem; } }
  @media print, screen and (min-width: 64em) {
    .logo-wrapper .logo {
      position: relative;
      margin-left: 15px;
      margin-top: -15px; }
      .logo-wrapper .logo svg {
        max-width: 5.625rem; } }
  @media screen and (min-width: 75em) {
    .logo-wrapper .logo svg {
      max-width: 6.25rem; } }
  @media screen and (min-width: 90em) {
    .logo-wrapper .logo svg {
      max-width: 9.375rem; } }
  @media screen and (min-width: 96.875em) {
    .logo-wrapper .logo {
      position: relative;
      margin-left: 30px;
      margin-top: -13px; }
      .logo-wrapper .logo svg {
        max-width: none; } }

#masthead {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 100; }
  @media screen and (max-width: 63.9375em) {
    #masthead {
      top: 110px; }
      #masthead.menu-open {
        top: 0;
        position: fixed; } }

#masthead .grid-container {
  position: relative; }

#masthead .masthead-content {
  position: relative;
  transition: padding 0.3s ease; }

#masthead .masthead-content {
  padding: 1rem 20px; }
  @media screen and (max-width: 63.9375em) {
    #masthead .masthead-content {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media print, screen and (min-width: 64em) {
    #masthead .masthead-content {
      padding: 1rem 30px; } }
  #masthead .masthead-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  #masthead .masthead-content .menu-content {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media screen and (max-width: 63.9375em) {
      #masthead .masthead-content .menu-content {
        display: none; } }

@media screen and (max-width: 63.9375em) {
  #masthead.menu-open .masthead-content {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

#masthead .logo {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center;
  display: block;
  transition: height 0.3s ease, width 0.3s ease;
  height: 3.125rem;
  width: 3.125rem; }
  #masthead .logo svg {
    width: 100%;
    height: 100%; }
  @media print, screen and (min-width: 64em) {
    #masthead .logo {
      -webkit-align-self: flex-start;
          -ms-flex-item-align: start;
              align-self: flex-start;
      height: 4.6875rem;
      width: 4.6875rem; } }
  @media screen and (min-width: 75em) {
    #masthead .logo {
      height: 6.25rem;
      width: 6.25rem; } }

@media screen and (max-width: 63.9375em) {
  #masthead .masthead-content {
    padding: 0.3125rem;
    height: auto; } }

@media print, screen and (min-width: 40em) {
  #masthead .menu-content {
    position: relative;
    width: calc(100% - 500px); }
  #masthead .main-menu-wrapper {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  #masthead .menu-content {
    width: calc(100% - 400px); }
  #masthead .main-menu-wrapper {
    moz-transform-origin: right top;
    -ms-transform-origin: right top;
    -webkit-transform-origin: right top;
    transform-origin: right top;
    transition: height 1s ease, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, height 1s ease;
    transition: transform 0.3s ease, height 1s ease, -webkit-transform 0.3s ease; } }

@media screen and (max-width: 89.9375em) {
  #masthead .menu-content {
    position: relative; } }

#masthead .main-menu-wrapper .menu .menu-item {
  font-family: "Sullivan Fill";
  text-transform: uppercase; }
  #masthead .main-menu-wrapper .menu .menu-item a {
    transition: all 0.2s ease-in-out;
    color: #fff;
    padding: 0.125rem 0;
    text-shadow: 2px 1px 2px rgba(0, 0, 0, 0.9);
    border-bottom: 2px solid transparent; }
    #masthead .main-menu-wrapper .menu .menu-item a:hover, #masthead .main-menu-wrapper .menu .menu-item a:focus {
      border-bottom: 2px solid #fff;
      color: #CD2929; }

#masthead .main-menu-wrapper .menu .menu-item {
  display: inline-block; }

@media print, screen and (min-width: 40em) {
  #masthead .menu {
    position: relative; }
    #masthead .menu .grid-container .menu-item {
      font-size: 1rem;
      margin-left: 1.25rem;
      position: relative;
      text-transform: uppercase; }
      #masthead .menu .grid-container .menu-item .submenu .menu-item {
        font-size: 1rem;
        font-weight: 400; }
    #masthead .menu .grid-container > .menu-item {
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      #masthead .menu .grid-container > .menu-item a {
        padding: 0.5rem 0; } }

@media print, screen and (min-width: 64em) {
  #masthead .menu .menu-item {
    font-size: 1.3125rem;
    margin-left: 1.25rem; } }

#masthead .main-menu-wrapper .menu .submenu,
#masthead .main-menu-wrapper .menu .submenu .menu-item {
  margin-left: 0; }
  #masthead .main-menu-wrapper .menu .submenu a,
  #masthead .main-menu-wrapper .menu .submenu .menu-item a {
    color: #fff;
    transition: all 0.2s ease-in-out;
    border-bottom: none; }
    #masthead .main-menu-wrapper .menu .submenu a:hover, #masthead .main-menu-wrapper .menu .submenu a:focus,
    #masthead .main-menu-wrapper .menu .submenu .menu-item a:hover,
    #masthead .main-menu-wrapper .menu .submenu .menu-item a:focus {
      color: #CD2929;
      border-bottom: none; }

.is-dropdown-submenu-parent .menu-item-has-children {
  position: relative; }
  .is-dropdown-submenu-parent .menu-item-has-children::after {
    content: "\00BB";
    position: absolute;
    color: #fff;
    top: 0.5rem;
    right: 0.9375rem; }

.is-dropdown-submenu-parent .is-dropdown-submenu {
  background-color: transparent;
  min-width: 15.625rem;
  -webkit-animation: revealDown 0.4s ease-in-out forwards;
          animation: revealDown 0.4s ease-in-out forwards;
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center; }

@-webkit-keyframes revealDown {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0); }
  80% {
    -webkit-transform: scaleY(1.05);
            transform: scaleY(1.05); }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

@keyframes revealDown {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0); }
  80% {
    -webkit-transform: scaleY(1.05);
            transform: scaleY(1.05); }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 125%; }

@media print, screen and (min-width: 40em) {
  #masthead .menu .menu-item .submenu > .menu-item {
    display: block; }
    #masthead .menu .menu-item .submenu > .menu-item a {
      font-size: 1.125rem;
      padding: 0.25rem 0.625rem;
      position: relative; }
      #masthead .menu .menu-item .submenu > .menu-item a:hover::before, #masthead .menu .menu-item .submenu > .menu-item a:focus::before {
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23fff"/></g></g></svg>');
        background-repeat: no-repeat;
        content: '';
        background-size: contain;
        display: inline-block;
        position: absolute;
        top: 50%;
        left: -0.1875rem;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%);
        margin-top: -0.0625rem;
        height: 0.375rem;
        width: 0.375rem; } }

#modal-menu {
  height: 100%;
  padding: 40px; }
  #modal-menu #modal-menu-wrap {
    height: calc(100% - 40px);
    margin: 1.33333rem;
    overflow-x: hidden;
    overflow-y: scroll;
    position: relative; }
  #modal-menu .main-menu .menu-item {
    margin-bottom: 40px; }
    #modal-menu .main-menu .menu-item .submenu {
      margin: 40px 0 0 0; }
      #modal-menu .main-menu .menu-item .submenu .menu-item {
        margin-bottom: 20px; }
        #modal-menu .main-menu .menu-item .submenu .menu-item:last-child {
          margin-bottom: 0; }

#modal-menu {
  text-align: center; }
  #modal-menu .menu-item {
    font-size: 1.5rem;
    list-style: none; }
    #modal-menu .menu-item .submenu .menu-item {
      font-size: 1rem;
      font-weight: 400; }
  #modal-menu .mCSB_container {
    /* OLD - iOS 6-, Safari 3.1-6 */
    /* OLD - Firefox 19- */
    display: -ms-flexbox;
    /* TWEENER - IE 10 */
    display: -webkit-flex;
    /* NEW - Chrome */
    display: flex;
    /* NEW, Opera 12.1, Firefox 20+ */
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 100%; }
    #modal-menu .mCSB_container .menu {
      width: 100%; }

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

#masthead .mobile-menu-toggle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  height: 100%;
  z-index: 10;
  transition: all 0.2s ease; }
  #masthead .mobile-menu-toggle div {
    padding: 1rem;
    transition: all 0.2s ease; }
    #masthead .mobile-menu-toggle div::before, #masthead .mobile-menu-toggle div::after,
    #masthead .mobile-menu-toggle div span {
      background-color: #fff;
      content: "";
      display: block;
      height: 0.1875rem;
      margin: 0.25rem 0;
      width: 100%;
      moz-transform-origin: center center;
      -ms-transform-origin: center center;
      -webkit-transform-origin: center center;
      transform-origin: center center;
      transition: all 0.2s ease; }
  #masthead .mobile-menu-toggle:hover div::before, #masthead .mobile-menu-toggle:hover div::after,
  #masthead .mobile-menu-toggle:hover div span {
    background-color: #fff; }

#masthead.menu-open .mobile-menu-toggle div::before, #masthead.menu-open .mobile-menu-toggle div::after,
#masthead.menu-open .mobile-menu-toggle div span {
  background-color: #fff; }

#masthead.menu-open .mobile-menu-toggle div::before {
  -ms-transform: translateY(0.4375rem) rotate(135deg);
  -webkit-transform: translateY(0.4375rem) rotate(135deg);
  transform: translateY(0.4375rem) rotate(135deg); }

#masthead.menu-open .mobile-menu-toggle div::after {
  -ms-transform: translateY(-0.4375rem) rotate(-135deg);
  -webkit-transform: translateY(-0.4375rem) rotate(-135deg);
  transform: translateY(-0.4375rem) rotate(-135deg); }

#masthead.menu-open .mobile-menu-toggle div span {
  -ms-transform: scale(0);
  -webkit-transform: scale(0);
  transform: scale(0); }

#masthead .mobile-menu-toggle div {
  padding: 0.625rem;
  width: 3.125rem; }

@media print, screen and (min-width: 40em) {
  #masthead .mobile-menu-toggle div {
    padding: 0.625rem;
    width: 3.125rem; } }

@media print, screen and (min-width: 64em) {
  #masthead.minimize .mobile-menu-toggle div {
    padding: 1.25rem;
    width: 4.4375rem; } }

@media print, screen and (min-width: 64em) {
  #masthead .mobile-menu-toggle {
    -ms-transform: translateY(-200%);
    -webkit-transform: translateY(-200%);
    transform: translateY(-200%); } }

#collapsible-menu-container {
  height: 0;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  z-index: 2;
  box-shadow: -0.9375rem 0 0.9375rem -0.9375rem rgba(0, 0, 0, 0.5);
  transition: height 0.5s ease 0.2s, opacity 0.3s ease, width 0.5s ease 0.2s;
  width: 0; }
  #collapsible-menu-container.menu-open {
    background: #000;
    top: 0;
    height: 100vh;
    opacity: 1;
    transition: height 0.5s ease, opacity 0.3s ease 0.1s, width 0.5s ease; }
  #collapsible-menu-container .menu-frame {
    transition: padding 0.3s ease; }
  #collapsible-menu-container {
    padding-top: 3.75rem; }
  #collapsible-menu-container.menu-open {
    width: 100%; }
  #collapsible-menu-container .menu-frame {
    max-height: calc(100vh - 66px);
    padding: 0.625rem 0.9375rem 1.25rem 1.25rem; }
  #collapsible-menu-container.minimize .menu-frame {
    padding: 0 0.9375rem 1.25rem 1.375rem; }
  @media print, screen and (min-width: 40em) {
    #collapsible-menu-container {
      padding-top: 4.125rem; }
      #collapsible-menu-container, #collapsible-menu-container.minimize {
        padding-top: 0; }
      #collapsible-menu-container .menu-frame {
        max-height: calc(100vh - 106px);
        padding: 1.25rem 2.625rem; }
      #collapsible-menu-container.menu-open {
        width: 100%; }
      #collapsible-menu-container.minimize.menu-open {
        width: 100%; }
      #collapsible-menu-container.minimize .menu-frame {
        padding: 1.25rem 1rem 1.25rem 2rem; } }
  @media print, screen and (min-width: 64em) {
    #collapsible-menu-container {
      top: 5.875rem; }
      #collapsible-menu-container.menu-open, #collapsible-menu-container.minimize.menu-open {
        width: 29.375rem; }
      #collapsible-menu-container .menu-frame {
        max-height: calc(100vh - 116px); } }
  @media screen and (min-width: 75em) {
    #collapsible-menu-container .menu-frame {
      max-height: calc(100vh - 111px); }
    #collapsible-menu-container.menu-open, #collapsible-menu-container.minimize.menu-open {
      width: 30.625rem; } }

#collapsible-menu-container .menu-item {
  font-family: "Sullivan Fill";
  text-transform: uppercase;
  margin: 0.9375rem 0;
  font-size: 1.75rem; }
  #collapsible-menu-container .menu-item a {
    color: #fff; }
  #collapsible-menu-container .menu-item.has-submenu > a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  #collapsible-menu-container .menu-item.has-submenu .submenu {
    margin: 0 0 0 1.25rem; }
    #collapsible-menu-container .menu-item.has-submenu .submenu .menu-item {
      margin: 0.625rem 0;
      font-size: 1.4375rem; }
      #collapsible-menu-container .menu-item.has-submenu .submenu .menu-item:first-child {
        margin-top: 1.875rem; }
      #collapsible-menu-container .menu-item.has-submenu .submenu .menu-item:last-child {
        margin-bottom: 0; }

#collapsible-menu-container a {
  background: transparent;
  color: #fff;
  transition: color 0.1s ease; }

#collapsible-menu-container .menu-item[aria-expanded="true"] > a,
#collapsible-menu-container a:hover {
  color: #fff; }

.main-wrap {
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  overflow: hidden; }
  .main-wrap .main-content {
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .main-wrap .main-content .banner .grid-container .main-content-wrapper {
        width: calc(83.33333% - 3.75rem);
        margin-right: 1.875rem;
        margin-left: 1.875rem;
        margin-left: calc(8.33333% + 1.25rem); } }
    .main-wrap .main-content .content-band {
      position: relative;
      z-index: 2; }

img, img::before {
  display: inline-block; }

img::before {
  background-color: rgba(0, 0, 0, 0.05);
  border: 0.125rem dashed rgba(0, 0, 0, 0.05);
  content: "Image not found";
  font-size: 0.8125rem;
  font-style: italic;
  padding: 1rem;
  text-align: center;
  white-space: pre; }

.main-content ul,
.main-content ol {
  margin-bottom: 0; }
  .main-content ul li,
  .main-content ol li {
    margin-bottom: 1rem; }

@media print, screen and (min-width: 40em) {
  .main-content img {
    max-height: none; } }

#site-footer .footer-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  margin: 0 auto;
  max-width: 60rem; }
  @media print, screen and (min-width: 40em) {
    #site-footer .footer-container {
      padding-right: 1.5625rem;
      padding-left: 1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    #site-footer .footer-container {
      padding-right: 1.875rem;
      padding-left: 1.875rem; } }
  #site-footer .footer-container .footer-grid {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    padding-top: 1.875rem;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    #site-footer .footer-container .footer-grid .footer-contact-details p {
      font-size: 1rem;
      margin-bottom: 0;
      line-height: 1.4; }
      #site-footer .footer-container .footer-grid .footer-contact-details p a {
        color: #fff;
        line-height: 1.4; }
        #site-footer .footer-container .footer-grid .footer-contact-details p a:hover {
          color: #000; }
    #site-footer .footer-container .footer-grid .footer-contact-details .privacy-links-block {
      display: block;
      margin: 1.25rem 0; }
      #site-footer .footer-container .footer-grid .footer-contact-details .privacy-links-block p {
        margin: 0; }
    @media screen and (max-width: 63.9375em) {
      #site-footer .footer-container .footer-grid .footer-contact-details {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: calc(50% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      #site-footer .footer-container .footer-grid .footer-contact-details {
        width: calc(25% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media screen and (max-width: 63.9375em) {
      #site-footer .footer-container .footer-grid .footer-links-column-first {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; } }
    @media screen and (max-width: 63.9375em) {
      #site-footer .footer-container .footer-grid .footer-links-column-second {
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4; } }
    @media screen and (max-width: 63.9375em) {
      #site-footer .footer-container .footer-grid .footer-links-column-third {
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; } }
    @media screen and (max-width: 63.9375em) {
      #site-footer .footer-container .footer-grid .footer-links-column-first,
      #site-footer .footer-container .footer-grid .footer-links-column-second,
      #site-footer .footer-container .footer-grid .footer-links-column-third {
        width: calc(50% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      #site-footer .footer-container .footer-grid .footer-links-column-first,
      #site-footer .footer-container .footer-grid .footer-links-column-second,
      #site-footer .footer-container .footer-grid .footer-links-column-third {
        width: calc(25% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    #site-footer .footer-container .footer-grid .footer-links-column-first a,
    #site-footer .footer-container .footer-grid .footer-links-column-second a,
    #site-footer .footer-container .footer-grid .footer-links-column-third a {
      color: #fff;
      line-height: 1.4;
      display: inline-block;
      padding-left: 0.5625rem;
      margin-bottom: 0.375rem; }
      #site-footer .footer-container .footer-grid .footer-links-column-first a:hover,
      #site-footer .footer-container .footer-grid .footer-links-column-second a:hover,
      #site-footer .footer-container .footer-grid .footer-links-column-third a:hover {
        color: #000; }
    #site-footer .footer-container .footer-grid .footer-links-column-first .footer-link-highlight a,
    #site-footer .footer-container .footer-grid .footer-links-column-second .footer-link-highlight a,
    #site-footer .footer-container .footer-grid .footer-links-column-third .footer-link-highlight a {
      padding-left: 0;
      font-weight: 700; }

#site-footer {
  background-image: url(../svgs/footer-bg.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  color: #fff;
  margin-top: 3.125rem;
  padding: 7.5rem 0 5rem 0;
  font-size: 1rem; }
  @media screen and (max-width: 63.9375em) {
    #site-footer {
      background-size: cover;
      background-position: center; } }
  @media print, screen and (min-width: 64em) {
    #site-footer {
      background-size: 100%; } }

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

/*
== malihu jquery custom scrollbar plugin ==
Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller
*/
/*
CONTENTS: 
	1. BASIC STYLE - Plugin's basic/essential CSS properties (normally, should not be edited). 
	2. VERTICAL SCROLLBAR - Positioning and dimensions of vertical scrollbar. 
	3. HORIZONTAL SCROLLBAR - Positioning and dimensions of horizontal scrollbar.
	4. VERTICAL AND HORIZONTAL SCROLLBARS - Positioning and dimensions of 2-axis scrollbars. 
	5. TRANSITIONS - CSS3 transitions for hover events, auto-expanded and auto-hidden scrollbars. 
	6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS 
		6.1 THEMES - Scrollbar colors, opacity, dimensions, backgrounds etc. via ready-to-use themes.
*/
/* 
------------------------------------------------------------------------------------------------------------------------
1. BASIC STYLE  
------------------------------------------------------------------------------------------------------------------------
*/
.mCustomScrollbar {
  -ms-touch-action: pinch-zoom;
  touch-action: pinch-zoom;
  /* direct pointer events to js */ }

.mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action {
  -ms-touch-action: auto;
  touch-action: auto; }

.mCustomScrollBox {
  /* contains plugin's markup */
  position: relative;
  overflow: hidden;
  height: 100%;
  max-width: 100%;
  outline: none;
  direction: ltr; }

.mCSB_container {
  /* contains the original content */
  overflow: hidden;
  width: auto;
  height: auto; }

/* 
------------------------------------------------------------------------------------------------------------------------
2. VERTICAL SCROLLBAR 
y-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_inside > .mCSB_container {
  margin-right: 30px; }

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0; }

/* non-visible scrollbar */
.mCS-dir-rtl > .mCSB_inside > .mCSB_container {
  /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-left: 0; }

/* RTL direction/left-side scrollbar */
.mCSB_scrollTools {
  /* contains scrollbar markup (draggable element, dragger rail, buttons etc.) */
  position: absolute;
  width: 16px;
  height: auto;
  left: auto;
  top: 0;
  right: 0;
  bottom: 0; }

.mCSB_outside + .mCSB_scrollTools {
  right: -26px; }

/* scrollbar position: outside */
.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools,
.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  /* RTL direction/left-side scrollbar */
  right: auto;
  left: 0; }

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  left: -26px; }

/* RTL direction/left-side scrollbar (scrollbar position: outside) */
.mCSB_scrollTools .mCSB_draggerContainer {
  /* contains the draggable element and dragger rail markup */
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto; }

.mCSB_scrollTools a + .mCSB_draggerContainer {
  margin: 20px 0; }

.mCSB_scrollTools .mCSB_draggerRail {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px; }

.mCSB_scrollTools .mCSB_dragger {
  /* the draggable element */
  cursor: pointer;
  width: 100%;
  height: 30px;
  /* minimum dragger height */
  z-index: 1; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  /* the dragger element */
  position: relative;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
  text-align: center; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 12px;
  /* auto-expanded scrollbar */ }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 8px;
  /* auto-expanded scrollbar */ }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown {
  display: block;
  position: absolute;
  height: 20px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer; }

.mCSB_scrollTools .mCSB_buttonDown {
  bottom: 0; }

/* 
------------------------------------------------------------------------------------------------------------------------
3. HORIZONTAL SCROLLBAR 
x-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_horizontal.mCSB_inside > .mCSB_container {
  margin-right: 0;
  margin-bottom: 30px; }

.mCSB_horizontal.mCSB_outside > .mCSB_container {
  min-height: 100%; }

.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0; }

/* non-visible scrollbar */
.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  width: auto;
  height: 16px;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0; }

.mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -26px; }

/* scrollbar position: outside */
.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {
  margin: 0 20px; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 2px;
  margin: 7px 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 30px;
  /* minimum dragger width */
  height: 100%;
  left: 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto; }

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  /* auto-expanded scrollbar */
  margin: 2px auto; }

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 8px;
  /* auto-expanded scrollbar */
  margin: 4px 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,
.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  display: block;
  position: absolute;
  width: 20px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {
  left: 0; }

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  right: 0; }

/* 
------------------------------------------------------------------------------------------------------------------------
4. VERTICAL AND HORIZONTAL SCROLLBARS 
yx-axis 
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_container_wrapper {
  position: absolute;
  height: auto;
  width: auto;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-right: 30px;
  margin-bottom: 30px; }

.mCSB_container_wrapper > .mCSB_container {
  padding-right: 30px;
  padding-bottom: 30px;
  box-sizing: border-box; }

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 20px; }

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 20px; }

/* non-visible horizontal scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 0; }

/* non-visible vertical scrollbar/RTL direction/left-side scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 0; }

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 20px; }

/* non-visible scrollbar/RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 0; }

.mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper {
  /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px; }

.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container {
  padding-right: 0; }

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container {
  padding-bottom: 0; }

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
  /* non-visible scrollbar */
  margin-left: 0; }

/* non-visible horizontal scrollbar */
.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0; }

/* 
------------------------------------------------------------------------------------------------------------------------
5. TRANSITIONS  
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_scrollTools,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  transition: opacity .2s ease-in-out, background-color .2s ease-in-out; }

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail {
  transition: width .2s ease-out .2s, height .2s ease-out .2s,  margin-left .2s ease-out .2s, margin-right .2s ease-out .2s,  margin-top .2s ease-out .2s, margin-bottom .2s ease-out .2s, opacity .2s ease-in-out, background-color .2s ease-in-out; }

/* 
------------------------------------------------------------------------------------------------------------------------
6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS  
------------------------------------------------------------------------------------------------------------------------
*/
/* 
	----------------------------------------
	6.1 THEMES 
	----------------------------------------
	*/
/* default theme ("light") */
.mCSB_scrollTools {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)"; }

.mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollBox:hover > .mCSB_scrollTools,
.mCustomScrollBox:hover ~ .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)"; }

.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
  filter: "alpha(opacity=85)";
  -ms-filter: "alpha(opacity=85)"; }

.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"; }

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  background-image: url(mCSB_buttons.png);
  /* css sprites */
  background-repeat: no-repeat;
  opacity: 0.4;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)"; }

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 0;
  /* 
		sprites locations 
		light: 0 0, -16px 0, -32px 0, -48px 0, 0 -72px, -16px -72px, -32px -72px
		dark: -80px 0, -96px 0, -112px 0, -128px 0, -80px -72px, -96px -72px, -112px -72px
		*/ }

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -20px;
  /* 
		sprites locations
		light: 0 -20px, -16px -20px, -32px -20px, -48px -20px, 0 -92px, -16px -92px, -32px -92px
		dark: -80px -20px, -96px -20px, -112px -20px, -128px -20px, -80px -92px, -96px -92px, -112 -92px
		*/ }

.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -40px;
  /* 
		sprites locations 
		light: 0 -40px, -20px -40px, -40px -40px, -60px -40px, 0 -112px, -20px -112px, -40px -112px
		dark: -80px -40px, -100px -40px, -120px -40px, -140px -40px, -80px -112px, -100px -112px, -120px -112px
		*/ }

.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -56px;
  /* 
		sprites locations 
		light: 0 -56px, -20px -56px, -40px -56px, -60px -56px, 0 -128px, -20px -128px, -40px -128px
		dark: -80px -56px, -100px -56px, -120px -56px, -140px -56px, -80px -128px, -100px -128px, -120px -128px
		*/ }

.mCSB_scrollTools .mCSB_buttonUp:hover,
.mCSB_scrollTools .mCSB_buttonDown:hover,
.mCSB_scrollTools .mCSB_buttonLeft:hover,
.mCSB_scrollTools .mCSB_buttonRight:hover {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)"; }

.mCSB_scrollTools .mCSB_buttonUp:active,
.mCSB_scrollTools .mCSB_buttonDown:active,
.mCSB_scrollTools .mCSB_buttonLeft:active,
.mCSB_scrollTools .mCSB_buttonRight:active {
  opacity: 0.9;
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)"; }

/* theme: "dark" */
.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px; }

.mCS-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px; }

/* ---------------------------------------- */
/* theme: "light-2", "dark-2" */
.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 1px; }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 1px; }

.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto; }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px 0; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -20px; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -40px; }

.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -56px; }

/* theme: "dark-2" */
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 1px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 1px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px 0; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -20px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -40px; }

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -56px; }

/* ---------------------------------------- */
/* theme: "light-thick", "dark-thick" */
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 2px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 2px; }

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px 0; }

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 6px;
  margin: 5px auto; }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px 0; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -20px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -40px; }

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -56px; }

/* theme: "dark-thick" */
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 2px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 2px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px 0; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -20px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -40px; }

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -56px; }

/* ---------------------------------------- */
/* theme: "light-thin", "dark-thin" */
.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1); }

.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px; }

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%; }

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 2px;
  margin: 7px auto; }

/* theme "dark-thin" */
.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px; }

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px; }

/* ---------------------------------------- */
/* theme "rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark" */
.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.15); }

.mCS-rounded.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger {
  height: 14px; }

.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 14px;
  margin: 0 1px; }

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 14px; }

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 14px;
  margin: 1px 0; }

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 16px;
  /* auto-expanded scrollbar */
  height: 16px;
  margin: -1px 0; }

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 4px;
  /* auto-expanded scrollbar */ }

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 16px;
  /* auto-expanded scrollbar */
  width: 16px;
  margin: 0 -1px; }

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 4px;
  /* auto-expanded scrollbar */
  margin: 6px 0; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 -72px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -92px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -112px; }

.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -128px; }

/* theme "rounded-dark", "rounded-dots-dark" */
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.15); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px -72px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -92px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -112px; }

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -128px; }

/* theme "rounded-dots", "rounded-dots-dark" */
.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail {
  width: 4px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  background-color: transparent;
  background-position: center; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");
  background-repeat: repeat-y;
  opacity: 0.3;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
  background-repeat: repeat-x; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px -72px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -92px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -112px; }

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -128px; }

/* theme "rounded-dots-dark" */
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII="); }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px -72px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -92px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -112px; }

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -128px; }

/* ---------------------------------------- */
/* theme "3d", "3d-dark", "3d-thick", "3d-thick-dark" */
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-y;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%); }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-x;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%); }

/* theme "3d", "3d-dark" */
.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 70px; }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 70px; }

.mCS-3d.mCSB_scrollTools,
.mCS-3d-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 16px; }

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 8px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.5), inset -1px 0 1px rgba(255, 255, 255, 0.2); }

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555; }

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px; }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 4px 0;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.5), inset 0 -1px 1px rgba(255, 255, 255, 0.2); }

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 8px;
  margin: 4px auto; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-3d.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "3d-dark" */
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1); }

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1); }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme: "3d-thick", "3d-thick-dark" */
.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)"; }

.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools,
.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  border-radius: 7px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 5px; }

.mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical,
.mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  right: 1px; }

.mCS-3d-thick.mCSB_scrollTools_vertical,
.mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5); }

.mCS-3d-thick.mCSB_scrollTools_horizontal,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  bottom: 1px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.5); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4);
  width: 12px;
  margin: 2px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555; }

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  width: auto; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1); }

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme: "3d-thick-dark" */
.mCS-3d-thick-dark.mCSB_scrollTools {
  box-shadow: inset 0 0 14px rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 14px rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(0, 0, 0, 0.2); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #777; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #fff;
  background-color: rgba(0, 0, 0, 0.05);
  box-shadow: inset 1px 1px 16px rgba(0, 0, 0, 0.1); }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme: "minimal", "minimal-dark" */
.mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  right: 0;
  margin: 12px 0; }

.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: 0;
  margin: 0 12px; }

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  left: 0;
  right: auto; }

.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent; }

.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 50px; }

.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 50px; }

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"; }

.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"; }

/* theme: "minimal-dark" */
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)"; }

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)"; }

/* ---------------------------------------- */
/* theme "light-3", "dark-3" */
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2); }

.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px; }

.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 6px;
  margin: 5px 0; }

.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 12px; }

.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 12px;
  margin: 2px 0; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "dark-3" */
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1); }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* ---------------------------------------- */
/* theme "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark" */
.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 12px;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.2); }

.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  margin: 3px 5px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 6px;
  margin: 5px 3px;
  position: absolute;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 12px;
  margin: 2px 0; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px; }

.mCS-inset.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px; }

/* theme "inset-dark", "inset-2-dark", "inset-3-dark" */
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.1); }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px; }

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px; }

/* theme "inset-2", "inset-2-dark" */
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  box-sizing: border-box; }

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  border-color: #000;
  border-color: rgba(0, 0, 0, 0.2); }

/* theme "inset-3", "inset-3-dark" */
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.85); }

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.9); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85); }

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9); }

/* ---------------------------------------- */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #000;
  opacity: 0.9; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before, .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #fff;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #fff;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #fff;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #fff;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  transition: opacity 0.3s ease-in-out; }

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1; }

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8; }

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0; }

.button, .edit-link a.post-edit-link,
input[type="submit"] {
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  text-align: left;
  padding: 0.5rem 1rem;
  transition: opacity 0.2s ease-in-out; }
  .button, .edit-link a.post-edit-link,
  .button p,
  .edit-link a.post-edit-link p,
  input[type="submit"],
  input[type="submit"] p {
    line-height: 1.4; }
  .button:hover, .edit-link a.post-edit-link:hover, .button:active, .edit-link a.post-edit-link:active,
  input[type="submit"]:hover,
  input[type="submit"]:active {
    opacity: 0.5; }
  .button .main-text, .edit-link a.post-edit-link .main-text,
  input[type="submit"] .main-text {
    font-family: "Sullivan Fill";
    margin-bottom: 0;
    text-transform: uppercase;
    position: relative; }
    .button .main-text span, .edit-link a.post-edit-link .main-text span,
    input[type="submit"] .main-text span {
      margin-left: 1.5625rem;
      display: block;
      text-decoration: none; }
    .button .main-text::before, .edit-link a.post-edit-link .main-text::before,
    input[type="submit"] .main-text::before {
      background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23000"/></g></g></svg>');
      background-repeat: no-repeat;
      content: '';
      background-size: contain;
      display: inline-block;
      position: absolute;
      height: 0.8125rem;
      width: 0.8125rem;
      top: 0.4375rem;
      margin-top: 0; }
  
  .button p,
  .edit-link a.post-edit-link p,
  input[type="submit"] p {
    margin-bottom: 0.25rem; }
  .button .main-text, .edit-link a.post-edit-link .main-text,
  input[type="submit"] .main-text {
    font-size: 1.625rem;
    line-height: 1.1; }
  @media print, screen and (min-width: 40em) {
    .button .main-text, .edit-link a.post-edit-link .main-text,
    input[type="submit"] .main-text {
      font-size: 1.625rem; } }
  .button.c2a-btn, .edit-link a.c2a-btn.post-edit-link,
  input[type="submit"].c2a-btn {
    padding: 0.625rem 0;
    color: #CD2929;
    background-color: transparent;
    transition: all 0.4s ease-in-out; }
    .button.c2a-btn:hover, .edit-link a.c2a-btn.post-edit-link:hover, .button.c2a-btn:focus, .edit-link a.c2a-btn.post-edit-link:focus,
    input[type="submit"].c2a-btn:hover,
    input[type="submit"].c2a-btn:focus {
      opacity: 1;
      color: #000; }
      .button.c2a-btn:hover .main-text span, .edit-link a.c2a-btn.post-edit-link:hover .main-text span, .button.c2a-btn:focus .main-text span, .edit-link a.c2a-btn.post-edit-link:focus .main-text span,
      input[type="submit"].c2a-btn:hover .main-text span,
      input[type="submit"].c2a-btn:focus .main-text span {
        text-decoration: underline;
        -webkit-text-decoration-color: #CD2929;
                text-decoration-color: #CD2929; }

.btn-group .button, .btn-group .edit-link a.post-edit-link, .edit-link .btn-group a.post-edit-link {
  margin-right: 1rem; }
  .btn-group .button:last-child, .btn-group .edit-link a.post-edit-link:last-child, .edit-link .btn-group a.post-edit-link:last-child {
    margin-right: 0; }

.fw-content .image-callouts, .tc-sb-content .main-content-wrapper .image-callouts {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.fw-content .image-callouts.callout-cols-1 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-1 .callout {
  width: calc(100% - 2.5rem); }

.fw-content .image-callouts.callout-cols-2 .callout, .fw-content .image-callouts.callout-cols-3 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout {
  width: calc(100% - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  width: 100%; }
  .fw-content .image-callouts.callout-cols-2 .callout:first-child, .fw-content .image-callouts.callout-cols-3 .callout:first-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout:first-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout:first-child {
    margin-top: 0; }
  .fw-content .image-callouts.callout-cols-2 .callout:last-child, .fw-content .image-callouts.callout-cols-3 .callout:last-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout:last-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout:last-child {
    margin-bottom: 0; }

.fw-content .image-callouts .callout .callout-frame, .tc-sb-content .main-content-wrapper .image-callouts .callout .callout-frame {
  padding-bottom: 37.5%; }

@media print, screen and (min-width: 40em) {
  .fw-content .image-callouts, .tc-sb-content .main-content-wrapper .image-callouts {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    .fw-content .image-callouts.callout-cols-1 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-1 .callout {
      width: calc(66.66667% - 3.125rem);
      margin-right: 1.5625rem;
      margin-left: 1.5625rem;
      margin-left: calc(16.66667% + 1.25rem); }
    .fw-content .image-callouts.callout-cols-2 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout {
      width: calc(50% - 3.125rem);
      margin-right: 1.5625rem;
      margin-left: 1.5625rem;
      margin-bottom: 0;
      margin-top: 0; }
    .fw-content .image-callouts.callout-cols-3 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      margin-bottom: 0;
      margin-top: 0; }
    .fw-content .image-callouts .callout .callout-frame, .tc-sb-content .main-content-wrapper .image-callouts .callout .callout-frame {
      padding-bottom: 66.7%; } }

.tc-sb-content .sidebar-content-wrapper .image-callouts {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.tc-sb-content .sidebar-content-wrapper.callout-cols-1 .callout {
  width: calc(100% - 2.5rem); }

.tc-sb-content .sidebar-content-wrapper.callout-cols-2 .callout, .tc-sb-content .sidebar-content-wrapper.callout-cols-3 .callout {
  width: calc(100% - 2.5rem);
  margin-bottom: 1.25rem; }
  .tc-sb-content .sidebar-content-wrapper.callout-cols-2 .callout:last-child, .tc-sb-content .sidebar-content-wrapper.callout-cols-3 .callout:last-child {
    margin-bottom: 0; }

.callout-blocks {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .callout-blocks .callout-block {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .callout-blocks .callout-block {
        width: calc(33.33333% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    .callout-blocks .callout-block .callout-block-interior {
      position: relative; }
      .callout-blocks .callout-block .callout-block-interior::before {
        position: absolute;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        content: url(../svgs/bottom-white-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        top: -0.5rem; }
      .callout-blocks .callout-block .callout-block-interior::after {
        position: absolute;
        content: url(../svgs/bottom-white-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        bottom: -0.5rem; }
      .callout-blocks .callout-block .callout-block-interior a {
        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;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        width: 100%;
        height: 100%;
        cursor: pointer;
        color: #fff; }
        .callout-blocks .callout-block .callout-block-interior a:hover .callout-image-holder {
          background: #CD2929; }
          .callout-blocks .callout-block .callout-block-interior a:hover .callout-image-holder img {
            mix-blend-mode: overlay; }
      .callout-blocks .callout-block .callout-block-interior .callout-image-holder {
        position: relative; }
        .callout-blocks .callout-block .callout-block-interior .callout-image-holder .callout-heading {
          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;
          text-align: center;
          padding: 1.5625rem;
          position: absolute;
          top: 0;
          height: 100%;
          width: 100%; }
          .callout-blocks .callout-block .callout-block-interior .callout-image-holder .callout-heading p {
            margin: 0;
            font-size: 2.0625rem;
            line-height: 1.1;
            font-family: "Sullivan Fill";
            text-transform: uppercase;
            text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.7); }

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

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

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

.job-listings-block {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .job-listings-block .single-job-listing-card {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    .job-listings-block .single-job-listing-card .job-listing-card-interior {
      background: #f3f3f3;
      padding: 1.875rem; }
      .job-listings-block .single-job-listing-card .job-listing-card-interior .accordion .accordion-item .accordion-title {
        border-bottom: none;
        color: #000; }
      .job-listings-block .single-job-listing-card .job-listing-card-interior .accordion .accordion-item .accordion-content {
        border: none;
        background-color: transparent; }
      .job-listings-block .single-job-listing-card .job-listing-card-interior .button, .job-listings-block .single-job-listing-card .job-listing-card-interior .edit-link a.post-edit-link, .edit-link .job-listings-block .single-job-listing-card .job-listing-card-interior a.post-edit-link {
        margin-bottom: 0;
        margin-top: 0.9375rem;
        padding: 0; }
      .job-listings-block .single-job-listing-card .job-listing-card-interior .location-and-job-status {
        font-weight: 700; }
      .job-listings-block .single-job-listing-card .job-listing-card-interior h3 {
        font-family: "Sullivan Fill";
        text-transform: uppercase;
        margin-bottom: 0.3125rem; }

.reveal .modal-content.apply-for-work-modal {
  padding: 1.25rem; }

.accordion .accordion-item {
  margin-bottom: 0; }
  .accordion .accordion-item .accordion-title {
    background-color: #e6e6e6;
    border-bottom: 0.0625rem solid rgba(163, 163, 163, 0.25);
    color: #4e4e4e;
    margin: 0;
    padding: 10px 1rem; }
    .accordion .accordion-item .accordion-title::before {
      border-bottom: 0.3125rem solid #4e4e4e;
      border-left: 0.3125rem solid transparent;
      border-right: 0.3125rem solid transparent;
      content: "";
      height: 0;
      margin-top: -0.1875rem;
      width: 0;
      transition: -webkit-transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }
  .accordion .accordion-item.is-active .accordion-title::before {
    -ms-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg); }
  .accordion .accordion-item .accordion-content {
    border-bottom: 0.0625rem solid rgba(163, 163, 163, 0.5);
    border-top: 0;
    margin-top: -0.1875rem;
    padding-top: 1.1875rem; }

.lt-gray-bg .accordion .accordion-item .accordion-title,
.lt-gray-bg .accordion .accordion-item .accordion-content {
  border-color: rgba(78, 78, 78, 0.25);
  border-bottom-color: rgba(78, 78, 78, 0.75); }

.lt-gray-bg .accordion .accordion-item .accordion-title {
  background-color: #a3a3a3;
  color: #fff; }
  .lt-gray-bg .accordion .accordion-item .accordion-title::before {
    border-bottom: 0.3125rem solid #fff;
    border-left: 0.3125rem solid transparent;
    border-right: 0.3125rem solid transparent; }

blockquote {
  font-weight: 700; }
  blockquote .quote-text {
    color: #000;
    line-height: 1.4; }
    blockquote .quote-text:before, blockquote .quote-text:after {
      color: #e9c893;
      display: inline-block;
      font-weight: 700;
      line-height: 0;
      vertical-align: middle; }
    blockquote .quote-text:before {
      content: '\201C'; }
    blockquote .quote-text:after {
      content: '\201D'; }

blockquote {
  padding: 0 0 0 1.875rem; }
  blockquote .quote-text:before, blockquote .quote-text:after {
    font-size: 2.625rem;
    margin-top: 0.75rem; }
  blockquote .quote-text:before {
    margin-left: -1.875rem; }

@media print, screen and (min-width: 40em) {
  blockquote {
    padding: 0 0 0 1.875rem; }
    blockquote .quote-text {
      font-size: 1.125rem; }
      blockquote .quote-text:before, blockquote .quote-text:after {
        font-size: 3rem;
        margin-top: 0.875rem; }
      blockquote .quote-text:before {
        margin-left: -1.875rem; } }

@media print, screen and (min-width: 64em) {
  blockquote {
    padding: 0 0 0 1.875rem; }
    blockquote .quote-text {
      font-size: 1.5rem; }
      blockquote .quote-text:before, blockquote .quote-text:after {
        font-size: 3.75rem;
        margin-top: 1.125rem; }
      blockquote .quote-text:before {
        margin-left: -1.875rem; } }

.md-gray-bg blockquote .quote-text {
  color: #000; }
  .md-gray-bg blockquote .quote-text:before, .md-gray-bg blockquote .quote-text:after {
    color: #fff; }

.md-gray-bg blockquote cite {
  color: #fff; }

.black-bg blockquote .quote-text {
  color: #e6e6e6; }

.staff-members {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .staff-members .staff-position {
    font-weight: 700; }
  .staff-members .staff-member-card {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .staff-members .staff-member-card {
        width: calc(50% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media screen and (min-width: 75em) {
      .staff-members .staff-member-card {
        width: calc(33.33333% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    .staff-members .staff-member-card .staff-member-card-text-content {
      background: #f3f3f3;
      padding: 1.875rem 1.25rem; }
      .staff-members .staff-member-card .staff-member-card-text-content .button, .staff-members .staff-member-card .staff-member-card-text-content .edit-link a.post-edit-link, .edit-link .staff-members .staff-member-card .staff-member-card-text-content a.post-edit-link {
        margin-bottom: 0;
        margin-top: 0.625rem;
        padding: 0; }
      .staff-members .staff-member-card .staff-member-card-text-content h4 {
        margin-bottom: 0.3125rem; }
    .staff-members .staff-member-card .staff-member-card-interior {
      position: relative; }
      .staff-members .staff-member-card .staff-member-card-interior::before {
        position: absolute;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        content: url(../svgs/bottom-white-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        top: -0.5rem; }
      .staff-members .staff-member-card .staff-member-card-interior::after {
        position: absolute;
        content: url(../svgs/bottom-gray-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        bottom: -0.5rem; }
      .staff-members .staff-member-card .staff-member-card-interior .staff-member-card-image-holder {
        position: relative; }
        .staff-members .staff-member-card .staff-member-card-interior .staff-member-card-image-holder img {
          width: 100%; }

.reveal .modal-content.staff-bio-details {
  padding: 1.25rem; }
  .reveal .modal-content.staff-bio-details .staff-position {
    font-weight: 700; }
  .reveal .modal-content.staff-bio-details img {
    max-height: 350px; }

.project-listings-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .project-listings-grid .single-project-card {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 40em) {
      .project-listings-grid .single-project-card {
        width: calc(50% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .project-listings-grid .single-project-card {
        width: calc(33.33333% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    .project-listings-grid .single-project-card a p {
      color: #000; }
    .project-listings-grid .single-project-card a:hover h3 {
      text-decoration: underline; }
    .project-listings-grid .single-project-card .single-project-card-interior {
      position: relative; }
      .project-listings-grid .single-project-card .single-project-card-interior::before {
        position: absolute;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        content: url(../svgs/bottom-white-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        top: -0.5rem; }
      .project-listings-grid .single-project-card .single-project-card-interior::after {
        position: absolute;
        content: url(../svgs/bottom-gray-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        bottom: -0.5rem; }
      .project-listings-grid .single-project-card .single-project-card-interior .single-project-card-image-holder {
        position: relative; }
        .project-listings-grid .single-project-card .single-project-card-interior .single-project-card-image-holder img {
          width: 100%; }
    .project-listings-grid .single-project-card .single-project-card-text-content {
      background: #f3f3f3;
      padding: 1.875rem 1.25rem; }
      .project-listings-grid .single-project-card .single-project-card-text-content h3 {
        margin-bottom: 0.3125rem; }
      .project-listings-grid .single-project-card .single-project-card-text-content p {
        margin: 0; }

.service-cards-block {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .service-cards-block .single-service-card {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem; }
    @media print, screen and (min-width: 64em) {
      .service-cards-block .single-service-card {
        width: calc(33.33333% - 1.875rem);
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    .service-cards-block .single-service-card .service-card-text-content {
      background: #f3f3f3;
      padding: 1.875rem 1.25rem; }
      .service-cards-block .single-service-card .service-card-text-content h5 {
        color: #000;
        text-align: center; }
    .service-cards-block .single-service-card .service-card-interior {
      position: relative; }
      .service-cards-block .single-service-card .service-card-interior::before {
        position: absolute;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        content: url(../svgs/bottom-white-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        top: -0.5rem; }
      .service-cards-block .single-service-card .service-card-interior::after {
        position: absolute;
        content: url(../svgs/bottom-gray-notch-shape.svg);
        width: 100%;
        height: auto;
        z-index: 10;
        bottom: -0.5rem; }
      .service-cards-block .single-service-card .service-card-interior .service-card-image-holder {
        position: relative; }
        .service-cards-block .single-service-card .service-card-interior .service-card-image-holder img {
          width: 100%; }
        .service-cards-block .single-service-card .service-card-interior .service-card-image-holder .service-card-heading {
          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;
          text-align: center;
          padding: 1.5625rem;
          position: absolute;
          top: 0;
          height: 100%;
          width: 100%; }
          .service-cards-block .single-service-card .service-card-interior .service-card-image-holder .service-card-heading p {
            margin: 0;
            color: #fff;
            font-size: 2.0625rem;
            line-height: 1.1;
            font-family: "Sullivan Fill";
            text-transform: uppercase;
            text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.7); }

.social-media-links-block {
  display: block;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }
  .social-media-links-block a {
    margin-right: 0.9375rem;
    display: inline-block;
    width: 2rem;
    height: 2rem; }
    @media print, screen and (min-width: 64em) {
      .social-media-links-block a {
        width: 2.8125rem;
        height: 2.8125rem; } }
    .social-media-links-block a svg {
      height: 100%;
      width: 100%; }
    .social-media-links-block a.facebook, .social-media-links-block a.instagram, .social-media-links-block a.youtube, .social-media-links-block a.twitter, .social-media-links-block a.linkedin {
      fill: #000; }
      .social-media-links-block a.facebook:hover > svg,
      .social-media-links-block a.facebook:focus > svg, .social-media-links-block a.instagram:hover > svg,
      .social-media-links-block a.instagram:focus > svg, .social-media-links-block a.youtube:hover > svg,
      .social-media-links-block a.youtube:focus > svg, .social-media-links-block a.twitter:hover > svg,
      .social-media-links-block a.twitter:focus > svg, .social-media-links-block a.linkedin:hover > svg,
      .social-media-links-block a.linkedin:focus > svg {
        fill: #CD2929; }

.img-gallery-item a {
  background-position: center center;
  background-size: cover;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%; }

.img-gallery-logo-block {
  margin-bottom: 0.625rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .img-gallery-logo-block a {
    display: block;
    position: relative; }
    .img-gallery-logo-block a:hover img {
      opacity: 0.5; }

.std-block-grid .img-gallery-item a {
  padding-bottom: 100%; }
  .std-block-grid .img-gallery-item a img {
    position: absolute;
    visibility: hidden; }

.img-gallery-item {
  margin-bottom: 40px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.large-up-5 .img-gallery-item, .large-up-6 .img-gallery-item {
  margin-bottom: 0.625rem; }

@media print, screen and (min-width: 40em) {
  .std-block-grid .img-gallery-item a {
    padding-bottom: 100%; }
  .img-gallery-item {
    margin-bottom: 50px; }
  .large-up-5 .img-gallery-item, .large-up-6 .img-gallery-item {
    margin-bottom: 0.625rem; } }

@media print, screen and (min-width: 64em) {
  .img-gallery-item {
    margin-bottom: 50px; }
  .large-up-5 .img-gallery-item, .large-up-6 .img-gallery-item {
    margin-bottom: 0.625rem; } }

.std-block-grid .img-gallery-item img.landscape-img {
  height: 100%;
  left: 50%;
  max-width: none;
  width: auto;
  -ms-transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0); }

.std-block-grid .img-gallery-item img.portrait-img {
  height: auto;
  top: 50%;
  width: 100%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.callout-modal.reveal {
  padding: 3.125rem; }
  .callout-modal.reveal p:last-child, .callout-modal.reveal ul:last-child, .callout-modal.reveal ol:last-child {
    margin-bottom: 0; }
  .callout-modal.reveal .caption {
    font-weight: 700; }

.callout .scaled-image img {
  max-height: 21.875rem; }

.callout .designations {
  font-size: 0.6875rem; }

.callout .title-text, .callout .designations {
  display: inline-block; }

.callout .callout-text {
  padding-top: 10px; }
  .callout .callout-text .main-text {
    font-size: 1.75rem;
    font-weight: 700; }
    .callout .callout-text .main-text::after {
      content: none; }

.modal-callouts .callout .caption, .callout-modal .caption {
  font-style: italic; }

.callout-modal .designations {
  font-size: 0.8125rem; }

@media print, screen and (min-width: 40em) {
  .callout .scaled-image img {
    max-height: none; }
  .callout .designations {
    font-size: 0.8125rem; }
  .callout .callout-text {
    padding: 12.5px 0; }
    .callout .callout-text .main-text {
      font-size: 1.375rem; }
  .callout-modal .designations {
    font-size: 0.875rem; } }

@media print, screen and (min-width: 64em) {
  .callout-modal .designations {
    font-size: 1.125rem; } }

.modal-callouts .callout a.scaled-image {
  background: transparent;
  display: block;
  line-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out; }
  .modal-callouts .callout a.scaled-image:hover {
    opacity: 0.5; }

.modal-callouts .callout .scaled-image .img-wrap {
  background-color: #e06363;
  display: inline-block; }

.modal-callouts .callout .scaled-image .img-wrap, .modal-callouts .callout .scaled-image img {
  max-width: 100%; }

.modal-callouts .callout a.main-text {
  background-position: left bottom;
  background-size: 0% 100%;
  transition: background-size 0.3s ease; }
  .modal-callouts .callout a.main-text:hover {
    background-size: 100% 100%; }

.modal-callouts .callout .caption, .modal-callouts .callout .sm-btns {
  display: inline-block;
  vertical-align: baseline; }

.modal-callouts .callout .caption {
  margin-right: 0.25rem; }

.reveal .close-button {
  font-weight: 700;
  transition: color 0.3s ease-in-out; }

.single-project-top-section {
  background-color: #000;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  .single-project-top-section h2, .single-project-top-section h3, .single-project-top-section h4, .single-project-top-section h5, .single-project-top-section h6, .single-project-top-section .accordion .accordion-item .accordion-title, .accordion .accordion-item .single-project-top-section .accordion-title {
    color: #CD2929; }
  .single-project-top-section p, .single-project-top-section ul, .single-project-top-section ol {
    color: #fff; }

.single-project-bottom-section {
  padding-bottom: 3.4375rem; }

.single-project-contact-callout-section {
  padding: 3.4375rem 0;
  text-align: center; }

.single-project-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  margin: 0 auto;
  position: relative;
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .single-project-container {
      padding-right: 1.5625rem;
      padding-left: 1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    .single-project-container {
      padding-right: 1.875rem;
      padding-left: 1.875rem; } }
  .single-project-container .single-project-grid {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    .single-project-container .single-project-grid .single-project-callout-block {
      width: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; }
      .single-project-container .single-project-grid .single-project-callout-block .button, .single-project-container .single-project-grid .single-project-callout-block .edit-link a.post-edit-link, .edit-link .single-project-container .single-project-grid .single-project-callout-block a.post-edit-link {
        margin: 0;
        padding: 0; }
    .single-project-container .single-project-grid .single-project-bottom-half-column {
      width: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; }
      .single-project-container .single-project-grid .single-project-bottom-half-column .single-project-bottom-details-card {
        background: #f3f3f3;
        padding: 1.875rem 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .single-project-container .single-project-grid .single-project-bottom-half-column {
          width: calc(50% - 1.875rem);
          margin-top: 0.9375rem;
          margin-right: 0.9375rem;
          margin-bottom: 0.9375rem;
          margin-left: 0.9375rem; } }
    .single-project-container .single-project-grid .single-project-details {
      width: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .single-project-container .single-project-grid .single-project-details {
          width: calc(41.66667% - 1.875rem);
          margin-top: 0.9375rem;
          margin-right: 0.9375rem;
          margin-bottom: 0.9375rem;
          margin-left: 0.9375rem; } }
    .single-project-container .single-project-grid .single-project-carousel-block {
      width: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-right: 0.9375rem;
      margin-bottom: 0.9375rem;
      margin-left: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .single-project-container .single-project-grid .single-project-carousel-block {
          width: calc(58.33333% - 1.875rem);
          margin-top: 0.9375rem;
          margin-right: 0.9375rem;
          margin-bottom: 0.9375rem;
          margin-left: 0.9375rem; } }

.tabs,
.doc-filters {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .tabs .tabs-title,
  .tabs .res-filter,
  .doc-filters .tabs-title,
  .doc-filters .res-filter {
    overflow: hidden;
    text-align: center;
    text-transform: uppercase; }
    .tabs .tabs-title a,
    .tabs .res-filter a,
    .doc-filters .tabs-title a,
    .doc-filters .res-filter a {
      border-radius: 0.875rem;
      transition: background-color 0.1s ease; }
    .tabs .tabs-title:not(.is-active) a,
    .tabs .res-filter:not(.is-active) a,
    .doc-filters .tabs-title:not(.is-active) a,
    .doc-filters .res-filter:not(.is-active) a {
      background-color: rgba(0, 0, 0, 0.1); }
      .tabs .tabs-title:not(.is-active) a:hover,
      .tabs .res-filter:not(.is-active) a:hover,
      .doc-filters .tabs-title:not(.is-active) a:hover,
      .doc-filters .res-filter:not(.is-active) a:hover {
        background-color: rgba(0, 0, 0, 0.2); }
    .tabs .tabs-title.is-active a,
    .tabs .res-filter.is-active a,
    .doc-filters .tabs-title.is-active a,
    .doc-filters .res-filter.is-active a {
      cursor: default; }
  @media screen and (max-width: 63.9375em) {
    .tabs .tabs-title,
    .doc-filters .tabs-title {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      .tabs .tabs-title a,
      .doc-filters .tabs-title a {
        font-size: 0.75rem; } }
  @media screen and (max-width: 25em) {
    .tabs .tabs-title a,
    .doc-filters .tabs-title a {
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 64em) {
    .tabs .tabs-title,
    .doc-filters .tabs-title {
      margin: 0 1rem; } }

.sb-align-left .sidebar-content-wrapper {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.sb-align-left .main-content-wrapper {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.sb-align-right .sidebar-content-wrapper {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.sb-align-right .main-content-wrapper {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.content-band.btm-mar-collapse .fw-content .main-content-wrapper p:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper ul:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper ol:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h1:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h2:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h3:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h4:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h5:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h6:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .fw-content .main-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper button:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .button:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .fw-content .main-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper blockquote:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper p:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper ul:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper ol:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h1:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h2:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h3:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h4:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h5:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h6:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper button:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .button:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper blockquote:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper p:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper ul:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper ol:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h1:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h2:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h3:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h4:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h5:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h6:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper button:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .button:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper blockquote:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper p:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper ul:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper ol:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h1:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h2:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h3:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h4:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h5:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h6:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper button:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .button:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper blockquote:last-child {
  margin-bottom: 0; }

.fw-content .main-content-wrapper.btm-mar-collapse p:last-child, .fw-content .main-content-wrapper.btm-mar-collapse ul:last-child, .fw-content .main-content-wrapper.btm-mar-collapse ol:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h1:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h2:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h3:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h4:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h5:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h6:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .fw-content .main-content-wrapper.btm-mar-collapse .accordion-title:last-child, .fw-content .main-content-wrapper.btm-mar-collapse button:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .button:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .fw-content .main-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .fw-content .main-content-wrapper.btm-mar-collapse blockquote:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse p:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse ul:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse ol:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h1:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h2:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h3:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h4:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h5:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h6:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .tc-sb-content .main-content-wrapper.btm-mar-collapse .accordion-title:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse button:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .button:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .tc-sb-content .main-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse blockquote:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse p:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse ul:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse ol:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h1:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h2:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h3:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h4:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h5:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h6:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .accordion-title:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse button:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .button:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse blockquote:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse p:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse ul:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse ol:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h1:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h2:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h3:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h4:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h5:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h6:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .tc-even-content .col-content-wrapper.btm-mar-collapse .accordion-title:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse button:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .button:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .tc-even-content .col-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse blockquote:last-child {
  margin-bottom: 0; }

.banner {
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; }
  .banner::after {
    position: absolute;
    content: url(../svgs/banner-bottom-notch.svg);
    width: 100%;
    height: auto; }
    @media screen and (max-width: 39.9375em) {
      .banner::after {
        scale: 2.5;
        bottom: -0.75rem; } }
    @media print, screen and (min-width: 40em) {
      .banner::after {
        bottom: -1.5rem; } }
    @media print, screen and (min-width: 64em) {
      .banner::after {
        bottom: -1.625rem; } }
    @media screen and (min-width: 75em) {
      .banner::after {
        bottom: -2rem; } }
    @media screen and (min-width: 90em) {
      .banner::after {
        bottom: -2.5rem; } }
  @media screen and (max-width: 39.9375em) {
    .banner .button, .banner .edit-link a.post-edit-link, .edit-link .banner a.post-edit-link, .banner input[type="submit"] {
      margin-bottom: 25px; } }
  .banner .button .main-text, .banner .edit-link a.post-edit-link .main-text, .edit-link .banner a.post-edit-link .main-text, .banner input[type="submit"] .main-text {
    font-size: 2rem;
    line-height: 1.1;
    text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.7); }
    .banner .button .main-text span, .banner .edit-link a.post-edit-link .main-text span, .edit-link .banner a.post-edit-link .main-text span, .banner input[type="submit"] .main-text span {
      text-decoration: none; }
    .banner .button .main-text::before, .banner .edit-link a.post-edit-link .main-text::before, .edit-link .banner a.post-edit-link .main-text::before, .banner input[type="submit"] .main-text::before {
      top: 0.625rem;
      background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12.492" height="12.726" viewBox="0 0 12.492 12.726"><g id="Group_39" data-name="Group 39" transform="translate(-507.435 216.157)"><g id="Group_27" data-name="Group 27" transform="translate(507.435 -216.158)"><path id="Path_28" data-name="Path 28" d="M77.222,0V12.726L89.714,6.363Z" transform="translate(-77.222)" fill="%23fff"/></g></g></svg>'); }
  .banner .button.c2a-btn, .banner .edit-link a.c2a-btn.post-edit-link, .edit-link .banner a.c2a-btn.post-edit-link, .banner input[type="submit"].c2a-btn {
    color: #CD2929; }
    .banner .button.c2a-btn:hover, .banner .edit-link a.c2a-btn.post-edit-link:hover, .edit-link .banner a.c2a-btn.post-edit-link:hover, .banner .button.c2a-btn:focus, .banner .edit-link a.c2a-btn.post-edit-link:focus, .edit-link .banner a.c2a-btn.post-edit-link:focus, .banner input[type="submit"].c2a-btn:hover, .banner input[type="submit"].c2a-btn:focus {
      color: #fff; }
  @media screen and (max-width: 63.9375em) {
    .banner.interior-page-banner h1 {
      margin-bottom: 2.5rem; } }

.banner {
  min-height: 15.625rem; }

@media print, screen and (min-width: 40em) {
  .banner {
    min-height: 18.75rem; } }

@media screen and (max-width: 63.9375em) {
  .banner {
    padding-top: 9.375rem; } }

@media print, screen and (min-width: 64em) {
  .banner {
    min-height: 40.625rem; } }

@media screen and (min-width: 75em) {
  .banner {
    min-height: 40.625rem; } }

@media screen and (min-width: 90em) {
  .banner {
    min-height: 40.625rem; } }

.banner {
  transition: margin 0.2s ease-in-out, min-height 0.2s ease-in-out; }

.banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 64em) {
    .banner {
      padding-top: 3.75rem; } }
  @media screen and (min-width: 90em) {
    .banner {
      padding-top: 5.9375rem; } }
  @media screen and (min-width: 96.875em) {
    .banner {
      padding-top: 9.0625rem; } }
  .banner .content-band {
    width: 100%; }
    .banner .content-band.align-content-top {
      -webkit-align-self: flex-start;
          -ms-flex-item-align: start;
              align-self: flex-start; }
    .banner .content-band.align-content-bottom {
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end; }

.banner .text-shadow-light {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.35); }

.banner .text-shadow-dark {
  text-shadow: 0 0 10px black; }

.banner h1,
.banner h2,
.banner h3,
.banner h4,
.banner h5,
.banner h6,
.banner .accordion .accordion-item .accordion-title,
.accordion .accordion-item .banner .accordion-title,
.banner p {
  color: #fff; }
  .banner h1.banner-subtext,
  .banner h2.banner-subtext,
  .banner h3.banner-subtext,
  .banner h4.banner-subtext,
  .banner h5.banner-subtext,
  .banner h6.banner-subtext,
  .banner .accordion .accordion-item .banner-subtext.accordion-title,
  .accordion .accordion-item .banner .banner-subtext.accordion-title,
  .banner p.banner-subtext {
    color: #CD2929;
    margin-bottom: 0.3125rem; }

.banner p {
  font-weight: 700; }

.black-intro-block {
  position: relative;
  padding-top: 2.8125rem;
  padding-bottom: 3.75rem; }
  @media screen and (min-width: 103.125em) {
    .black-intro-block {
      padding-bottom: 6.25rem; } }
  .black-intro-block::after {
    position: absolute;
    content: url(../svgs/bottom-white-notch-shape.svg);
    width: 100%;
    height: auto;
    bottom: -0.5625rem; }
    @media screen and (max-width: 39.9375em) {
      .black-intro-block::after {
        scale: 2.5; } }

.notches-with-background-image {
  position: relative;
  padding: 3.75rem 0; }
  @media screen and (min-width: 103.125em) {
    .notches-with-background-image {
      padding: 6.25rem 0; } }
  .notches-with-background-image::before {
    position: absolute;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
    content: url(../svgs/bottom-white-notch-shape.svg);
    width: 100%;
    height: auto;
    top: -0.5625rem; }
    @media screen and (max-width: 39.9375em) {
      .notches-with-background-image::before {
        scale: 2.5; } }
  .notches-with-background-image::after {
    position: absolute;
    content: url(../svgs/bottom-white-notch-shape.svg);
    width: 100%;
    height: auto;
    bottom: -0.5625rem; }
    @media screen and (max-width: 39.9375em) {
      .notches-with-background-image::after {
        scale: 2.5; } }

.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.25rem;
    padding-left: 1.25rem;
    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: 1.5625rem;
        padding-left: 1.5625rem; } }
    @media print, screen and (min-width: 64em) {
      .front-hero .marketing {
        padding-right: 1.875rem;
        padding-left: 1.875rem; } }
  @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% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .watch {
        width: calc(100% - 3.125rem);
        margin-right: 1.5625rem;
        margin-left: 1.5625rem; } }
    .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% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .tagline {
        width: calc(41.66667% - 3.125rem);
        margin-right: 1.5625rem;
        margin-left: 1.5625rem;
        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.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  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: 1.5625rem;
      padding-left: 1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    .intro {
      padding-right: 1.875rem;
      padding-left: 1.875rem; } }
  .intro .fp-intro {
    width: calc(100% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .intro .fp-intro {
        width: calc(83.33333% - 3.125rem);
        margin-right: 1.5625rem;
        margin-left: 1.5625rem;
        margin-left: calc(8.33333% + 1.25rem); }
        .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.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  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: 1.5625rem;
      padding-left: 1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    .section-divider {
      padding-right: 1.875rem;
      padding-left: 1.875rem; } }
  .section-divider hr {
    width: calc(100% - 3.75rem);
    margin-right: 1.875rem;
    margin-left: 1.875rem;
    box-sizing: border-box; }

.benefits {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 75rem;
  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: 1.5625rem;
      padding-left: 1.5625rem; } }
  @media print, screen and (min-width: 64em) {
    .benefits {
      padding-right: 1.875rem;
      padding-left: 1.875rem; } }
  .benefits header {
    width: calc(100% - 3.75rem);
    margin-right: 1.875rem;
    margin-left: 1.875rem; }
    .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% - 2.5rem);
    margin-right: 1.25rem;
    margin-left: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .benefits .semantic,
      .benefits .responsive,
      .benefits .customizable,
      .benefits .professional {
        width: calc(25% - 3.125rem);
        margin-right: 1.5625rem;
        margin-left: 1.5625rem; } }
    .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% - 3.75rem);
    margin-right: 1.875rem;
    margin-left: 1.875rem;
    margin-top: 4rem; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

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

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

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

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

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

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
      -ms-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-nav [class*='owl-'] {
    color: #FFF;
    font-size: 14px;
    margin: 5px;
    padding: 4px 7px;
    background: #D6D6D6;
    display: inline-block;
    cursor: pointer;
    border-radius: 3px; }
    .owl-theme .owl-nav [class*='owl-']:hover {
      background: #869791;
      color: #FFF;
      text-decoration: none; }
  .owl-theme .owl-nav .disabled {
    opacity: 0.5;
    cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }
  .owl-theme .owl-dots .owl-dot {
    display: inline-block;
    zoom: 1;
    *display: inline; }
    .owl-theme .owl-dots .owl-dot span {
      width: 10px;
      height: 10px;
      margin: 5px 7px;
      background: #D6D6D6;
      display: block;
      -webkit-backface-visibility: visible;
      transition: opacity 200ms ease;
      border-radius: 30px; }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
      background: #869791; }

.owl-carousel.project-carousel .owl-stage-outer {
  margin-bottom: 1.875rem; }

.owl-carousel.project-carousel .owl-dots {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  position: absolute;
  bottom: -1.875rem;
  -webkit-transform: translateX(50%);
      -ms-transform: translateX(50%);
          transform: translateX(50%);
  right: 50%; }

.owl-carousel.project-carousel button.owl-dot {
  margin: 0 0.3125rem; }
  .owl-carousel.project-carousel button.owl-dot span {
    border-radius: 50%;
    display: inline-block;
    height: 0.5rem;
    width: 0.5rem; }
    @media print, screen and (min-width: 64em) {
      .owl-carousel.project-carousel button.owl-dot span {
        height: 0.625rem;
        width: 0.625rem; } }

.owl-carousel button.owl-dot span {
  background-color: #fff;
  border: none; }

.owl-carousel button.owl-dot.active span {
  background-color: #CD2929; }

.owl-carousel.photo-collage-carousel-move-right, .owl-carousel.photo-collage-carousel-move-left {
  margin-top: 10px;
  margin-bottom: 10px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJhcHAuc2NzcyIsImN1c3RvbS1jbGFzc2VzL19wYWRkaW5nLW1hcmdpbnMuc2NzcyIsImN1c3RvbS1jbGFzc2VzL19idXR0b24tY2xhc3Nlcy5zY3NzIiwiY3VzdG9tLWNsYXNzZXMvX21pc2Mtc3R5bGVzLnNjc3MiLCJnbG9iYWwvX21peGlucy5zY3NzIiwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJnbG9iYWwvX2JhY2tncm91bmRzLnNjc3MiLCJnbG9iYWwvX2NvbG9ycy5zY3NzIiwiZ2xvYmFsL19mb3Jtcy5zY3NzIiwiZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJnbG9iYWwvX3dwLWFkbWluLnNjc3MiLCJnbG9iYWwvX3dwLW92ZXJyaWRlcy5zY3NzIiwibW9kdWxlcy9fbWFzdGhlYWQuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2NvbGxhcHNpYmxlLW1lbnUuc2NzcyIsIm1vZHVsZXMvX2NvbnRlbnQuc2NzcyIsIm1vZHVsZXMvX2Zvb3Rlci5zY3NzIiwibW9kdWxlcy9fZWRpdG9yLXN0eWxlLnNjc3MiLCJtb2R1bGVzL19tQ3VzdG9tU2Nyb2xsYmFycy5zY3NzIiwibW9kdWxlcy9fbWFnbmlmaWMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhbGxvdXRzLnNjc3MiLCJjb21wb25lbnRzL19jYWxsb3V0LWJsb2Nrcy5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQtaW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2RpdmlkZXJzLnNjc3MiLCJjb21wb25lbnRzL19saW5rcy5zY3NzIiwiY29tcG9uZW50cy9fam9iLWxpc3RpbmdzLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImNvbXBvbmVudHMvX3F1b3Rlcy5zY3NzIiwiY29tcG9uZW50cy9fc3RhZmYtZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fcHJvamVjdC1ncmlkLnNjc3MiLCJjb21wb25lbnRzL19zZXJ2aWNlLWNhcmRzLnNjc3MiLCJjb21wb25lbnRzL19zb2NpYWwtbWVkaWEtbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX2ltZy1nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC1jYWxsb3V0cy5zY3NzIiwiY29tcG9uZW50cy9fc2luZ2xlLXByb2plY3Quc2NzcyIsImNvbXBvbmVudHMvX3RhYnMuc2NzcyIsImRjYi9fY29udGVudC1iYW5kcy5zY3NzIiwiZGNiL19iYW5uZXIuc2NzcyIsInRlbXBsYXRlcy9fZnJvbnQuc2NzcyIsIm93bC1jYXJvdXNlbC9fY29yZS5zY3NzIiwib3dsLWNhcm91c2VsL19hbmltYXRlLnNjc3MiLCJvd2wtY2Fyb3VzZWwvX2F1dG9oZWlnaHQuc2NzcyIsIm93bC1jYXJvdXNlbC9fbGF6eWxvYWQuc2NzcyIsIm93bC1jYXJvdXNlbC9fdmlkZW8uc2NzcyIsIm93bC1jYXJvdXNlbC9fdGhlbWUuZGVmYXVsdC5zY3NzIiwib3dsLWNhcm91c2VsL190aGVtZS5zY3NzIiwib3dsLWNhcm91c2VsL190aGVtZS1jdXN0b21pemF0aW9ucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ29FakI7RUFDRSw2QkFBNEI7RUFDNUIsMERBQXlEO0VBQ3pELG9CQUFtQjtFQUNuQixtQkFBa0IsRUFBQTs7QUN4RXBCOzs7OztHQUtHO0FDOEpHO0VDdkhKO0lBQ0UsWUFBVztJQUNYLFdBQVU7SUFDVixlQUFjLEVBQ2YsRUFBQTs7QUNIRCxpRUFBaUU7QUFHL0Q7b0ZBQ2dGO0FBRWhGOzs7OztPQUtHO0FBRUg7RUFDRSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VFOUVGLGVBWHVDO0VGb0dqQyxpQkFBZ0IsRUFFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHdCQUF1QjtF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N0JBLGdDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSwyQkFEZ0gsRUhnQy9HO0VSOENDO0lRNURKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQWRIO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBO0VSOENDO0lRNURKO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGdDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQWRIO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGdDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQWRIO01HekJFLFlBQW1CLEVIMkJwQjtJQUVEO01HekJFLFlBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGdDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsMkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRyxFQUFBOztBQThDSDtFQ25JTSx1QkFBNEI7RUFBNUIsc0JBQTRCLEVEd0kvQjtFUkxDO0lRQUo7TUNuSU0seUJBQTRCO01BQTVCLHdCQUE0QixFRHdJL0IsRUFBQTtFUkxDO0lRQUo7TUNuSU0sd0JBQTRCO01BQTVCLHVCQUE0QixFRHdJL0IsRUFBQTs7QUFJRDtFQzVJSSx1QkFBNEI7RUFBNUIsc0JBQTRCLEVEOEkvQjtFUlhDO0lRU0Y7TUM1SUkseUJBQTRCO01BQTVCLHdCQUE0QixFRDhJL0IsRUFBQTtFUlhDO0lRU0Y7TUM1SUksd0JBQTRCO01BQTVCLHVCQUE0QixFRDhJL0IsRUFBQTs7QUFYSDtFQ25JTSx1QkFBNEI7RUFBNUIsc0JBQTRCLEVEbUovQjtFUmhCQztJUUFKO01DbklNLHlCQUE0QjtNQUE1Qix3QkFBNEIsRURtSi9CLEVBQUE7RVJoQkM7SVFBSjtNQ25JTSx3QkFBNEI7TUFBNUIsdUJBQTRCLEVEbUovQixFQUFBOztBSXRKSDtFRHlERSxZQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsV0FEb0QsRUN0RHJEOztBQUZEO0VEeURFLGlCQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsV0FEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGlCQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsYUFEb0QsRUN0RHJEOztBWm9JRztFWXRJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QVpvSUc7RVl0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMEJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsZ0NBRGdILEVDdERqSDs7QUFGRDtFRHlERSw0QkFEZ0gsRUN0RGpIOztBWm9JRztFWXRJSjtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDZCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSw0QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsa0NBRGdILEVDdERqSDtFQUZEO0lEeURFLGtDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpILEVBQUE7O0Fab0lHO0VZdElKO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSw2QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDRCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUs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RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QWJ1SFA7RWFoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWI4R1A7RWFoSE07SUZtQ1IsZ0JBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QWI4R1A7RVFrRUE7SUt0S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMd0szQjtJS3JLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QWI2RkQ7RVE0REE7SUt2TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMeU0zQjtJS3RNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBYm9JRDtFYXpITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBYnVIUDtFYXpITTtJRjRDUixnQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLGlCQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixpQkFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsaUJBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBYnVIUDtFYWhITTtJRm1DUixnQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGlCQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixpQkFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsaUJBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBYjhHUDtFUWtFQTtJS3RLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUx3SzNCO0lLcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTDZLRDtFTTFORixnQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGdDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsc0JBQTZCLEVONE4xQjs7QUFFRDtFTTlORixzQ0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsdUNBQTZCLEVOZ08xQjs7QUFORDtFTTFORixpQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGlDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORix1Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsdUNBQTZCLEVOZ08xQjs7QUFORDtFTTFORixpQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGlDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORix1Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsdUNBQTZCLEVOZ08xQjs7QUFORDtFTTFORixpQkFBNkIsRU40TjFCOztBQUVEO0VNOU5GLGlDQUE2QixFTmdPMUI7O0FBTkQ7RU0xTkYsdUJBQTZCLEVONE4xQjs7QUFFRDtFTTlORix1Q0FBNkIsRU5nTzFCOztBQU5EO0VNMU5GLHVCQUE2QixFTjROMUI7O0FBRUQ7RU05TkYsdUNBQTZCLEVOZ08xQjs7QVJ0RkQ7RVFnRkE7SU0xTkYsZ0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLGtDQUE2QixFTmdPMUI7RUFORDtJTTFORixzQkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsaUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLG1DQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYseUNBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLHVCQUE2QixFTjROMUI7RUFFRDtJTTlORix5Q0FBNkIsRU5nTzFCLEVBQUE7O0FSdEZEO0VRZ0ZBO0lNMU5GLGdCQUE2QixFTjROMUI7RUFFRDtJTTlORixpQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsc0JBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHVDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40TjFCO0VBRUQ7SU05TkYsd0NBQTZCLEVOZ08xQjtFQU5EO0lNMU5GLGlCQUE2QixFTjROMUI7RUFFRDtJTTlORixrQ0FBNkIsRU5nTzFCO0VBTkQ7SU0xTkYsdUJBQTZCLEVONE4xQjtFQUVEO0lNOU5GLHdDQUE2QixFTmdPMUI7RUFORDtJTTFORix1QkFBNkIsRU40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QjtFUnRLRDtJUTZKRjtNQ2hTSSx1QkFBNEI7TUFBNUIsMEJBQTRCLEVEeVM3QixFQUFBO0VSdEtEO0lRNkpGO01DaFNJLHNCQUE0QjtNQUE1Qix5QkFBNEIsRUR5UzdCLEVBQUE7O0FBMU1MO0VDL0ZNLHFCQUE0QjtFQUE1Qix3QkFBNEIsRUQ4SGpDO0VSS0c7SVFwQ0o7TUMvRk0sdUJBQTRCO01BQTVCLDBCQUE0QixFRDhIakMsRUFBQTtFUktHO0lRcENKO01DL0ZNLHNCQUE0QjtNQUE1Qix5QkFBNEIsRUQ4SGpDLEVBQUE7RUEvQkQ7SUdwREUsNEJBRDRFO0lGakMxRSxvQkFBNEI7SUFBNUIsdUJBQTRCLEVENEY3QjtFUjhCQztJUXBDSjtNR3BERSw4QkFENEU7TUZqQzFFLHNCQUE0QjtNQUE1Qix5QkFBNEIsRURtR3pCLEVBQUE7RVJ1Qkg7SVFwQ0o7TUdwREUsNkJBRDRFO01GakMxRSxxQkFBNEI7TUFBNUIsd0JBQTRCLEVEbUd6QixFQUFBO0VBckNQO0lHekJFLGFBQW1CLEVIMkJwQjtFQUVEO0lHekJFLGFBQW1CLEVIMkJwQjtFQU1DO0lHN0JBLGdDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsMkJBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsMkJBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsMkJBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSxpQ0FEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsNEJBRGdILEVIZ0MvRztFUjhDQztJUTVESjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0c7SUFkSDtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDZCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsbUNBRGdILEVIZ0MvRztJQUZEO01HN0JBLDhCQURnSCxFSGdDL0csRUFBQTtFUjhDQztJUTVESjtNR3pCRSxhQUFtQixFSDJCcEI7SUFFRDtNR3pCRSxhQUFtQixFSDJCcEI7SUFNQztNRzdCQSxpQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDRCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDRCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdILEVIZ0MvRztJQUZEO01HN0JBLDRCQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsa0NBRGdI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Q0o7TUMvRk0sc0JBQTRCO01BQTVCLHlCQUE0QixFRDhIakMsRUFBQTtFQS9CRDtJR3BERSw0QkFENEU7SUZqQzFFLG9CQUE0QjtJQUE1Qix1QkFBNEIsRUQ0RjdCO0VSOEJDO0lRcENKO01HcERFLDhCQUQ0RTtNRmpDMUUsc0JBQTRCO01BQTVCLHlCQUE0QixFRG1HekIsRUFBQTtFUnVCSDtJUXBDSjtNR3BERSw2QkFENEU7TUZqQzFFLHFCQUE0QjtNQUE1Qix3QkFBNEIsRURtR3pCLEVBQUE7RUFyQ1A7SUd6QkUsYUFBbUIsRUgyQnBCO0VBRUQ7SUd6QkUsYUFBbUIsRUgyQnBCO0VBTUM7SUc3QkEsZ0NBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSwyQkFEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSwyQkFEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSwyQkFEZ0gsRUhnQy9HO0VBRkQ7SUc3QkEsaUNBRGdILEVIZ0MvRztFQUZEO0lHN0JBLGlDQURnSCxFSGdDL0c7RUFGRDtJRzdCQSw0QkFEZ0gsRUhnQy9HO0VSOENDO0lRNURKO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRztJQWRIO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQUZEO01HN0JBLG1DQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxtQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsOEJBRGdILEVIZ0MvRyxFQUFBO0VSOENDO0lRNURKO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQWRIO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRztJQWRIO01HekJFLGFBQW1CLEVIMkJwQjtJQUVEO01HekJFLGFBQW1CLEVIMkJwQjtJQU1DO01HN0JBLGlDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNEJBRGdILEVIZ0MvRztJQUZEO01HN0JBLGtDQURnSCxFSGdDL0c7SUFGRDtNRzdCQSxrQ0FEZ0gsRUhnQy9HO0lBRkQ7TUc3QkEsNkJBRGdILEVIZ0MvRyxFQUFBOztBQXlTRDtFTzNYSSw2QkFBbUMsRVA2WHRDO0VSN1BDO0lRMlBGO01PM1hJLCtCQUFtQyxFUDZYdEMsRUFBQTtFUjdQQztJUTJQRjtNTzNYSSw4QkFBbUMsRVA2WHRDLEVBQUE7O0FSN1BDO0VRK1BBO0lPL1hFLCtCQUFtQyxFUGlZcEMsRUFBQTs7QVJqUUQ7RVErUEE7SU8vWEUsOEJBQW1DLEVQaVlwQyxFQUFBOztBUXJLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CbEJZMEI7RWtCVjFCLG1CQUFrQjtFQUNsQixpQmxCUXNCO0VrQlB0QixtQ2xCU3lDLEVrQlIxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGlCbEI5TG9CO0VrQitMcEIscUJBQW9CLEVBQ3JCOztBZGdEQztFYzVDQSxlbEJkaUI7RWtCZWpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7OztFQU1FLDZCbEIvTzJCO0VrQmdQM0IsbUJsQmxLc0I7RWtCbUt0QixpQmxCbE5zQjtFa0JtTnRCLGVsQmxLa0I7RWtCbUtsQixtQ2xCOUJzQyxFa0JvQ3ZDO0VBaEJEOzs7Ozs7O0lBYUksZUFBYztJQUNkLGVsQm5PZSxFa0JvT2hCOztBQVFHO0VBSUksa0JWdlA2QztFVStQN0MsbUJsQnJMVztFa0JpTVgsY0FBYTtFQUdiLHVCVjlRNkMsRVVvUmhEOztBQWpDRDtFQUlJLG1CVnZQNkM7RVUrUDdDLHFCbEJoTFc7RWtCNExYLGNBQWE7RUFHYix1QlY5UTZDLEVVb1JoRDs7QUFqQ0Q7RUFJSSxnQlZ2UDZDO0VVK1A3QyxxQmxCM0tXO0VrQnVMWCxjQUFhO0VBR2IsdUJWOVE2QyxFVW9SaEQ7O0FBakNEO0VBSUksbUJWdlA2QztFVStQN0MscUJsQnRLVztFa0JrTFgsY0FBYTtFQUdiLHlCVjlRNkMsRVVvUmhEOztBQWpDRDtFQUlJLG9CVnZQNkM7RVUrUDdDLHFCbEJqS1c7RWtCNktYLGNBQWE7RUFHYix5QlY5UTZDLEVVb1JoRDs7O0FBakdQOztFQW9FVSxtQlZ2UDZDO0VVK1A3QyxrQmxCNUpXO0VrQndLWCxjQUFhO0VBR2IseUJWOVE2QyxFVW9SaEQ7O0FoQnpNSDtFZ0J3S0U7SUFJSSxnQlZ2UDZDO0lVK1A3QyxvQmxCckpXO0lrQm9LWCx1QlY5UTZDLEVVb1JoRDtFQWpDRDtJQUlJLG9CVnZQNkM7SVUrUDdDLHFCbEJoSlc7SWtCK0pYLHVCVjlRNkMsRVVvUmhEO0VBakNEO0lBSUksZ0JWdlA2QztJVStQN0MscUJsQjNJVztJa0IwSlgsdUJWOVE2QyxFVW9SaEQ7RUFqQ0Q7SUFJSSxvQlZ2UDZDO0lVK1A3QyxxQmxCdElXO0lrQnFKWCx5QlY5UTZDLEVVb1JoRDtFQWpDRDtJQUlJLG9CVnZQNkM7SVUrUDdDLHFCbEJqSVc7SWtCZ0pYLHlCVjlRNkMsRVVvUmhEOztFQWpHUDs7SUFvRVUsbUJWdlA2QztJVStQN0Msa0JsQjVIVztJa0IySVgseUJWOVE2QyxFVW9SaEQsRUFBQTs7QWhCek1IO0VnQndLRTtJQUlJLG1CVnZQNkM7SVUrUDdDLHFCbEJySFc7SWtCb0lYLHVCVjlRNkMsRVVvUmhEO0VBakNEO0lBSUksa0JWdlA2QztJVStQN0MsbUJsQmhIVztJa0IrSFgsdUJWOVE2QyxFVW9SaEQ7RUFqQ0Q7SUFJSSxtQlZ2UDZDO0lVK1A3QyxxQmxCM0dXO0lrQjBIWCx1QlY5UTZDLEVVb1JoRDtFQWpDRDtJQUlJLHFCVnZQNkM7SVUrUDdDLHFCbEJ0R1c7SWtCcUhYLHlCVjlRNkMsRVVvUmhEO0VBakNEO0lBSUksa0JWdlA2QztJVStQN0Msa0JsQmpHVztJa0JnSFgseUJWOVE2QyxFVW9SaEQ7O0VBakdQOztJQW9FVSxtQlZ2UDZDO0lVK1A3QyxrQmxCNUZXO0lrQjJHWCx5QlY5UTZDLEVVb1JoRCxFQUFBOztBaEJwTUg7RWdCbUtFO0lBSUkscUJWdlA2QztJVStQN0MscUJsQnJGVztJa0JvR1gsdUJWOVE2QyxFVW9SaEQ7RUFqQ0Q7SUFJSSxvQlZ2UDZDO0lVK1A3QyxxQmxCaEZXO0lrQitGWCx1QlY5UTZDLEVVb1JoRDtFQWpDRDtJQUlJLHFCVnZQNkM7SVUrUDdDLHFCbEIzRVc7SWtCMEZYLHVCVjlRNkMsRVVvUmhEO0VBakNEO0lBSUkscUJWdlA2QztJVStQN0MscUJsQnRFVztJa0JxRlgseUJWOVE2QyxFVW9SaEQ7RUFqQ0Q7SUFJSSxxQlZ2UDZDO0lVK1A3QyxxQmxCakVXO0lrQmdGWCx5QlY5UTZDLEVVb1JoRDs7RUFqR1A7O0lBb0VVLG9CVnZQNkM7SVUrUDdDLHFCbEI1RFc7SWtCMkVYLHlCVjlRNkMsRVVvUmhELEVBQUE7O0FkbkdMO0VjMEdBLHFCQUFvQjtFQUNwQixlbEJqU2lCO0VrQmtTakIsc0JsQnZFeUI7RWtCeUV6QixnQkFBZSxFQWFoQjtFQWxCRDtJQVNJLGVsQjlFMkQsRWtCa0Y1RDtFQWJIO0lBZ0JJLFVBQVMsRUFDVjs7QWR2S0Q7RWM0S0EsWUFBVztFQUVYLGlCVmxUcUQ7RVVtVHJELFVBQVM7RUFDVCxxQmxCMUZ5QjtFa0I0RnpCLGNBQWE7RUFDYixnQkFBZTtFQUNmLGlDbEJqVGlCO0VrQmtUakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQmxCcEgwQjtFa0JxSDFCLDZCbEJuR3lCO0VrQm9HekIsaUJsQnZIc0IsRWtCd0h2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCbEI3R3NCO0VrQjhHdEIsc0JsQmhIa0IsRWtCaUhuQjs7QUFHRDtFQUNFLHFCbEJuSHNCLEVrQm9IdkI7O0FBR0Q7RUFFSSxxQmxCeEgyQjtFa0J5SDNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CbEI5SHlCLEVrQm9JMUI7RUFQRDtJQUlJLHNCbEIvSDhCO0lrQmdJOUIsaUJsQmhWa0IsRWtCaVZuQjs7QUFJSDtFQUNFLGlCbEI3SjBCO0VrQjhKMUIsV2xCcklrQjtFa0JzSWxCLGtCbEJySW9CLEVrQjJJckI7RUFURDtJQU1JLGlCbEJuS29CO0lrQm9LcEIsZWxCdldhLEVrQndXZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxtQlZ0WHFEO0VVdVhyRCxlbEJoWGlCLEVrQnFYbEI7RUFSRDtJQU1JLGNsQmpKNkIsRUFBQTs7QWtCc0pqQztFQUNFLCtCbEJ2WFE7RWtCd1hSLGFBQVk7RUFDWixzQkFBcUIsRUFDdEI7O0FkN1FDO0VjaVJBLFVBQVMsRUFDVjs7QUFHRDtFQUNFLHNDVjVZcUQ7RVU4WXJELDBCbEJ2WWlCO0VrQndZakIsMEJsQnpZZ0I7RWtCMlloQiw2RGxCL1VtRTtFa0JnVm5FLGlCbEJoWXNCO0VrQmlZdEIsWWxCMVlRLEVrQjJZVDs7QUFHRDtFQUNFLFVBQVM7RUFDVCw0QlZwWlM7RVVzWlQsMEJsQnJaZ0I7RWtCdVpoQiw2RGxCM1ZtRTtFa0I0Vm5FLFlsQnJaUTtFa0J3Wk4seUJWamFtRCxFVW1hdEQ7O0FDNWNEO0VBQ0UsbUJuQmlTeUI7RW1CaFN6QixzQm5CaVM0QjtFbUIvUjVCLGlCbkJ1RHNCO0VtQnREdEIsaUJuQjBSc0I7RW1CelJ0QixlbkIyQ2UsRW1CMUNoQjs7QUFHRDtFQUNFLGdCbkJrUnFDO0VtQmpSckMsaUJuQmtSaUIsRW1CalJsQjs7QUFHRDtFQUNFLGtCbkJtUm1CO0VtQmxSbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBR0g7RUFHSSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDL0RLO0VBQ0UsaUJBUmUsRUFTaEI7O0FBRkQ7RUFDRSxrQkFSc0IsRUFTdkI7O0FBRkQ7RUFDRSxtQkFSOEIsRUFTL0I7O0FBRkQ7RUFDRSxvQkFSdUMsRUFTeEM7O0FsQm1KTDtFa0IxSkk7SUFDRSxpQkFIZSxFQUloQjtFQUZEO0lBQ0Usa0JBSHNCLEVBSXZCO0VBRkQ7SUFDRSxtQkFIOEIsRUFJL0I7RUFGRDtJQUNFLG9CQUh1QyxFQUl4QyxFQUFBOztBbEJ3Skw7RWtCMUpJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhzQixFQUl2QjtFQUZEO0lBQ0UsbUJBSDhCLEVBSS9CO0VBRkQ7SUFDRSxvQkFIdUMsRUFJeEMsRUFBQTs7QUNFVDtFQUFrQix5QkFBd0IsRUFBSTs7QUFFOUM7RUFDRTtJQUVJLG1DQUFrQztJQUdwQyw0QkFBMkI7SUFFM0Isd0JBQXVCO0lBQ3ZCLDZCQUE0QixFQUM3QjtFQVpIO0lBY29CLDBCQUF5QixFQUFJO0VBQy9DO0lBQWtCLHlCQUF3QixFQUFJO0VBRTlDO0lBQXVCLDBCQUF5QixFQUFJO0VBQ3BEO0lBQXVCLHVDQUFzQyxFQUFJO0VBQ2pFO0lBQXVCLG9DQUFtQyxFQUFJO0VBQzlEO0lBQW9CLDhCQUE2QixFQUFJO0VBQ3JEO0lBQW9CLCtCQUE4QixFQUFJO0VBQ3REO0lBQW9CLCtCQUE4QixFQUFJO0VBR3REOztJQUNZLDJCQUEwQixFQUFHO0VBRXZDO0lBQWdCLDZCQUE0QixFQUFJO0VBSWxEOzs7SUFFcUIsWUFBVyxFQUFJO0VBR3BDO0lBQW9CLDhCQUE2QixFQUFJO0VBR3JEOztJQUVFLDBCckJ5Q2E7SXFCeENiLHlCQUF3QixFQUN6QjtFQUdEO0lBQVEsNEJBQTJCLEVBQUk7RUFFdkM7O0lBQ00seUJBQXdCLEVBQUk7RWpCZ1ZsQztJaUI5VU0sMkJBQTBCLEVBQUk7RUFFcEM7SUFBUSxjQUFhLEVBQUE7RUFFckI7OztJQUdFLFdBQVU7SUFDVixVQUFTLEVBQ1Y7RUFHRDs7SUFDSyx3QkFBdUIsRUFBSTtFQUdoQztJQUNFLHdCQUF1QixFQUN4QixFQUFBOztBQ2tMSDtFQWhMQSxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLG1CdEJzVWtDO0VzQnJVbEMscUJ0Qm1VMEI7RXNCelR4QixvQnRCMFR1QjtFc0J2VHpCLHlCQUF3QjtFQUN4Qiw4QkFBNkI7RUFDN0IseUJkZnVEO0VjZ0J2RCxrRXRCdVV1RTtFc0JyVXZFLGtCdEI4VGU7RXNCN1RmLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFxQ2YsMEJ0Qi9EbUI7RXNCZ0VuQixZdEJqRFUsRXNCdVJUO0V2QmlxRUQ7SVVoMUVFLFdBQVUsRUFDWDtFYXRERDtJQUNFLDBCdEJuRWlCO0lzQm9FakIsWXRCckRRLEVzQnNEVDtFQTZHRDtJQU1NLGtCdEIySk0sRXNCMUpQO0VBUEw7SUFNTSxtQnRCNEpRLEVzQjNKVDtFQVBMO0lBTU0sbUJ0QjhKUSxFc0I3SlQ7RUFQTDtJQWpKRSxlQUFjO0lBQ2QsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFQXdKeUI7RUFWekM7SUFuSEEsMEJ0Qi9EbUI7SXNCZ0VuQixZdEJqRFUsRXNCb0xIO0lBaklQO01BQ0UsMEJBUG9GO01BUXBGLFl0QnJEUSxFc0JzRFQ7RUE2R0Q7SUFuSEEsMEJ0QnpEa0I7SXNCMERsQixZdEJsRFUsRXNCcUxIO0lBaklQO01BQ0UsMEJBUG9GO01BUXBGLFl0QnREUSxFc0J1RFQ7RUE2R0Q7SUFuSEEsMEJ0QnhEZ0I7SXNCeURoQixZdEJsRFUsRXNCcUxIO0lBaklQO01BQ0UsMEJBUG9GO01BUXBGLFl0QnREUSxFc0J1RFQ7RUE2R0Q7SUFuSEEsMEJ0QnZEZ0I7SXNCd0RoQixZdEJsRFUsRXNCcUxIO0lBaklQO01BQ0UsMEJBUG9GO01BUXBGLFl0QnREUSxFc0J1RFQ7RUE2R0Q7SUFuSEEsMEJ0QnREYztJc0J1RGQsWXRCbERVLEVzQnFMSDtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixZdEJ0RFEsRXNCdURUO0VBNkdEO0lBMURBLGN0QmlPNEI7SXNCaE81QixvQkFBbUIsRUFpR2hCO0lBL0ZIO01BQ0UsMEJ0QjVIaUI7TXNCNkhqQixZdEI5R1EsRXNCK0dUO0lBb0REO01BMURBLGN0QmlPNEI7TXNCaE81QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnRCNUhpQjtRc0I2SGpCLFl0QjlHUSxFc0IrR1Q7SUFvREQ7TUExREEsY3RCaU80QjtNc0JoTzVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCdEJ0SGdCO1FzQnVIaEIsWXRCL0dRLEVzQmdIVDtJQW9ERDtNQTFEQSxjdEJpTzRCO01zQmhPNUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ0QnJIYztRc0JzSGQsWXRCL0dRLEVzQmdIVDtJQW9ERDtNQTFEQSxjdEJpTzRCO01zQmhPNUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ0QnBIYztRc0JxSGQsWXRCL0dRLEVzQmdIVDtJQW9ERDtNQTFEQSxjdEJpTzRCO01zQmhPNUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ0Qm5IWTtRc0JvSFosWXRCL0dRLEVzQmdIVDtFQW9ERDtJQW5GQSwwQnRCL0ZtQjtJc0JnR25CLGV0QmhHbUIsRXNCdU9kO0lBN0pMO01BRUUsOEJBQTZCLEVBQzlCO0lBSUM7TUFFRSw4QkFBNkIsRUFDOUI7SUFjSDtNQUNFLHNCQU42RDtNQU83RCxlQVA2RCxFQWE5RDtNQUxDO1FBRUUsMEJ0QnZHZTtRc0J3R2YsZXRCeEdlLEVzQnlHaEI7SUF5RUg7TUFuRkEsMEJ0Qi9GbUI7TXNCZ0duQixldEJoR21CLEVzQnFPVjtNQW5JVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJ0QnZHZTtVc0J3R2YsZXRCeEdlLEVzQnlHaEI7SUF5RUg7TUFuRkEsMEJ0QnpGa0I7TXNCMEZsQixldEIxRmtCLEVzQitOVDtNQW5JVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJ0QmpHYztVc0JrR2QsZXRCbEdjLEVzQm1HZjtJQXlFSDtNQW5GQSwwQnRCeEZnQjtNc0J5RmhCLGV0QnpGZ0IsRXNCOE5QO01BbklUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQnRCaEdZO1VzQmlHWixldEJqR1ksRXNCa0diO0lBeUVIO01BbkZBLDBCdEJ2RmdCO01zQndGaEIsZXRCeEZnQixFc0I2TlA7TUFuSVQ7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCdEIvRlk7VXNCZ0daLGV0QmhHWSxFc0JpR2I7SUF5RUg7TUFuRkEsMEJ0QnRGYztNc0J1RmQsZXRCdkZjLEVzQjROTDtNQW5JVDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJ0QjlGVTtVc0IrRlYsZXRCL0ZVLEVzQmdHWDtFQXlFSDtJQW5GQSwwQnRCL0ZtQjtJc0JnR25CLGV0QmhHbUIsRXNCb1FkO0lBMUxMO01BRUUsOEJBQTZCLEVBQzlCO0lBSUM7TUFFRSw4QkFBNkIsRUFDOUI7SUFjSDtNQUNFLHNCQU42RDtNQU83RCxlQVA2RCxFQWE5RDtNQUxDO1FBRUUsMEJ0QnZHZTtRc0J3R2YsZXRCeEdlLEVzQnlHaEI7SUF5RUg7TUFnRVUsMEJBQXlCLEVBQzFCO0lBakVUO01BbkZBLDBCdEIvRm1CO01zQmdHbkIsZXRCaEdtQixFc0JrUVY7TUFoS1Q7UUFDRSxzQkFONkQ7UUFPN0QsZUFQNkQsRUFhOUQ7UUFMQztVQUVFLDBCdEJ2R2U7VXNCd0dmLGV0QnhHZSxFc0J5R2hCO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQnRCekZrQjtNc0IwRmxCLGV0QjFGa0IsRXNCNFBUO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQnRCakdjO1VzQmtHZCxldEJsR2MsRXNCbUdmO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQnRCeEZnQjtNc0J5RmhCLGV0QnpGZ0IsRXNCMlBQO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQnRCaEdZO1VzQmlHWixldEJqR1ksRXNCa0diO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQnRCdkZnQjtNc0J3RmhCLGV0QnhGZ0IsRXNCMFBQO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQnRCL0ZZO1VzQmdHWixldEJoR1ksRXNCaUdiO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtJQTlFYjtNQW5GQSwwQnRCdEZjO01zQnVGZCxldEJ2RmMsRXNCeVBMO01BaEtUO1FBQ0Usc0JBTjZEO1FBTzdELGVBUDZELEVBYTlEO1FBTEM7VUFFRSwwQnRCOUZVO1VzQitGVixldEIvRlUsRXNCZ0dYO01BeUVIO1FBNkVjLDBCQUF5QixFQUMxQjtFQXRIYjtJYm5MQSxlQUFjO0lBQ2QsU0FBUTtJQUNSLFVBQVM7SUFFVCxvQmEyS1k7SWJ6S1osWUFBVztJQUdULHVCQUFzQjtJQUN0Qix3QkFBdUI7SUFDdkIsMkNBQXFEO0lhMEtyRCxtQkFBa0I7SUFDbEIsV0FBVTtJQUVWLHNCQUFxQjtJQUNyQixhQUFPO0lBQ1AsaUJ0QndMdUIsRXNCdkx4QjtFQWdDRDtJQWlHUSwwQnRCblJXLEVzQm9SWjtFQWxHUDtJQXVHWSwwQnRCelJPLEVzQjBSUjtFQXhHWDtJQXVHWSwwQnRCblJNLEVzQm9SUDtFQXhHWDtJQXVHWSwwQnRCbFJJLEVzQm1STDtFQXhHWDtJQXVHWSwwQnRCalJJLEVzQmtSTDtFQXhHWDtJQXVHWSwwQnRCaFJFLEVzQmlSSDtFQXhHWDtJQWdISSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWdDLEVBQ2pDOztBQUVIO0VBR0ksc0JBQXFCLEVBQ3RCOztBdkJnNUVMOztFd0J2ckZFLGVBQWM7RUFDZCx1QkFBc0I7RUFDdEIsWUFBVztFQUNYLGtCQUxzSjtFQU10SixpQmZIdUQ7RWVJdkQsZ0J2QitkK0I7RXVCN2QvQiwwQnZCQ21CO0V1QkFuQix5QmZQdUQ7RWVRdkQsdUJ2QkVVO0V1QkRWLCtDdkJBVTtFdUJFVixxQnZCK2N5QjtFdUI5Y3pCLGdCZlp1RDtFZWF2RCxpQnZCS3dCO0V1Qkp4QixpQnZCdEJxQjtFdUJ1QnJCLFl2Qk5VO0V1QlNSLDREdkJxZDhEO0V1QmhjOUQseUJBQWdCO1VBQWhCLGlCQUFnQixFQUNqQjtFeEJpcUZEOztJd0JsckZFLGNBQWE7SUFDYiwwQnZCaEJlO0l1QmlCZix1QnZCZlE7SXVCZ0JSLDRCdkJuQmlCO0l1QnNCZiw0RHZCMGM0RCxFdUJ4Yy9EOztBbkJxZEM7RW1CeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZXZCaERlLEV1QmlEaEI7O0FBTEg7O0VBSUksZXZCaERlLEV1QmlEaEI7O0FBTEg7O0VBSUksZXZCaERlLEV1QmlEaEI7O0FBTEg7OztFQVVJLDBCdkJ2RGM7RXVCd0RkLG9CdkJ3YTZCLEV1QnZhOUI7O0F4QmlxRkw7O0V3QjNwRkkseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQix5QmZ0RXFELEVldUV0RDs7QUFHRDtFQUNFLHVCQUFzQixFQUN2Qjs7QXhCNHBGSDs7O0V5QnB6RkksaUJoQjRFcUQsRWdCM0V0RDs7QXpCd3pGSDs7RXlCbnpGSSxzQkFBcUI7RUFDckIseUJBQXdCO0VBRXhCLG9CQUFrRDtFQUNsRCxtQmhCa0VxRDtFZ0JqRXJELGlCQUFnQixFQUtqQjtFekJnekZEOztJeUJsekZJLGdCQUFlLEVBQ2hCOztBQUlIOztFQUVFLHFCQUFtRCxFQUNwRDs7QXpCa3pGSDtFeUI5eUZJLFlBQVcsRUFDWjs7QUNHRDtFQWpCQSxlQUFjO0VBQ2QsVUFBUztFQUVULG9CakI0RHVEO0VpQjNEdkQsaUJ6QjZFd0I7RXlCNUV4QixpQnpCOGdCMEI7RXlCN2dCMUIsWXpCa0VVLEV5QmpEVDtFQU5EO0lBTEEsaUJqQm1EdUQ7SWlCbER2RCxxQkFBOEQsRUFTM0Q7O0FDMUJIO0VBR0Usb0JBRnVDO0VBR3ZDLHFCbEIrRHFEO0VrQjlEckQsbUIxQjBnQndCO0UwQnpnQnhCLFkxQnNFUSxFMEJyRVQ7O0FDRkQ7RUFDRSxzQkFBaUM7RUFBakMscUJBQWlDO0VBQWpDLGNBQWlDO0VBQ2pDLFlBQVc7RUFDWCxvQm5CMkRxRDtFbUJ4RG5ELDZCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CLEVBWXZCO0VBbEJEO0lBVUksdUNuQm9EbUQsRW1CbkRwRDtFQVhIO0lBZU0sdUNBQWlILEVBQ2xIOztBQUlMOzs7O0VBQ0UsVUFBUztFQUNULG9CQUFtQixFQU1wQjs7QUFFRDtFQUVFLGdCM0I4ZXVCO0UyQjdldkIsMEIzQm9DaUI7RTJCbkNqQixvQjNCa0NnQjtFMkJoQ2hCLFkzQm1DUTtFMkJsQ1IsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUdqQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjO0VBQ2QsNEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUIsRUFnQnRCO0VBN0JEO0lBc0JNLGdCQUFpQyxFQUNsQztFQXZCTDtJQTBCTSxlQUFnQyxFQUNqQzs7QUFJTDtFQUVFLGlCQUFnQjtFQUdkLHNCQUFhO01BQWIsa0JBQWE7VUFBYixjQUFhO0VBQ2IsYUFBWTtFQUNaLGFBQVksRUFLZjs7QUFFRDtFQUVFLGVBQWM7RUFDZCxrQkFBaUI7RUFDakIsbUJBQWtCO0VBR2hCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWMsRUF3QmpCO0VBaENEOzs7O0lBc0JNLGFBQVk7SUFDWiw0QkFBbUI7UUFBbkIsNkJBQW1CO2dCQUFuQiw0QkFBbUI7WUFBbkIsb0JBQW1CO0lBS3JCLGVBQWM7SUFDZCxrQkFBaUI7SUFDakIsZ0JuQjNDbUQsRW1CNENwRDs7QXZCb2FEO0V3QmpnQkEsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0F4QjJnQkM7RXdCeGdCQSxnQkFBZTtFQUNmLHNCQUFrQyxFQUNuQzs7QUFFRDtFQXhCQSxtQnBCb0VXO0VvQm5FWCxpQnBCOER1RDtFb0I3RHZELDBCNUJvRW1CLEU0QjVDbEI7RUF0QkQ7SUFFRSxVQUFTO0lBQ1Qsd0JwQndEcUQ7SW9CdkRyRCxxQnBCdURxRCxFb0J0RHREOztBckI2SkQ7RXNCeEtBLGtCQUZzSjtFQUd0SixpQnJCZ0V1RDtFcUIvRHZELGdCN0JraUIrQjtFNkJoaUIvQix5QkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLDBCN0JtRW1CO0U2QmxFbkIseUJyQjJEdUQ7RXFCMUR2RCx1QjdCb0VVO0U2QmxFVixxQjdCa2hCeUI7RTZCamhCekIsZ0JyQnVEdUQ7RXFCdER2RCxpQjdCd0V3QjtFNkJ2RXhCLGlCN0I2Q3FCO0U2QjVDckIsWTdCNkRVO0VTcURWLHNPQUF5TjtFb0I5R3ZOLCtCQUE4QjtFQUM5Qix3Q0FBMEQ7RUFDMUQsNkJBQTRCO0VBQzVCLHlCQUF3QjtFQUV4QixzQkFBdUQ7RUFJdkQsNEQ3QjhnQjhELEU2QjNlL0Q7RXBCb0VEO0lGdUNBO01FcENJLHdXQUF1VyxFb0J2RTFXLEVBQUE7RUEvQkQ7SUFDRSxjQUFhO0lBQ2IsMEI3QnlDZTtJNkJ4Q2YsdUI3QjBDUTtJNkJ6Q1IsNEI3QnNDaUI7STZCbkNmLDREN0JtZ0I0RCxFNkJqZ0IvRDtFQUdEO0lBQ0UsMEI3QjRCZ0I7STZCM0JoQixvQjdCMmYrQixFNkIxZmhDO0VBR0Q7SUFDRSxjQUFhLEVBQ2Q7RUFFRDtJQUNFLGFBQVk7SUFDWix1QkFBc0IsRUFDdkI7O0FDbENEO0VBQ0Usc0I5QitDWTtFOEI5Q1osMEJBQStELEVBSWhFO0VBSEM7SUFDRSxlOUI0Q1UsRThCM0NYO0VBRkQ7SUFDRSxlOUI0Q1UsRThCM0NYO0VBRkQ7SUFDRSxlOUI0Q1UsRThCM0NYOztBQXlCRDtFQUNFLGU5QmlCVSxFOEJoQlg7O0FBSUg7RUF6QkEsY0FBYTtFQUNiLG9CQUFnQztFQUNoQyxvQnRCK0J1RDtFc0I3QnZELG1CdEI2QnVEO0VzQjVCdkQsaUI5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O01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBakRxREQ7RWlEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBakRxREQ7RWlEdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJ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QjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsaUNBRnlCO01BRXpCLDZCQUZ5QjtVQUV6Qix5QkFGeUI7RUN2QnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEscUNBRnlCO01BRXpCLGlDQUZ5QjtVQUV6Qiw2QkFGeUIsRUhoQnhCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0ZoQ2tDO0VJQWxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRmhDcUMsRURjcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixF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Q3JCLG1CQUFrQjtJQUVsQixrQmhFbkY2QztJZ0VvRjdDLGlCaEVwRjZDO0lnRXNGN0MsZ0JoRXRGNkM7SWdFdUY3Qyx1QmhFdkY2QyxFZ0V3RmhEOztBQUdUO0VBQ0UsbUNBQXNDLEVBQ3ZDOztBQUVEO0VBQ0UsZXhFckdtQixFd0VzR3BCOztBQ3hMRDs7RUFFRSxtQmpFcUZ1RDtFaUVwRnZELHVCakVvRnVEO0VpRW5GdkQseUJqRW1GdUQsRWlFaEZ4RDs7QUFFRDs7RUFHSSxtQmpFMkVxRDtFaUUxRXJELHVCakUwRXFELEVpRXpFdEQ7O0FBS0g7Ozs7O0VBS0Usa0JqRStEdUQ7RWlFOUR2RCx1QmpFOER1RDtFaUU3RHZELHVCakU2RHVELEVpRWpDeEQ7RXZFNEdLO0l1RS9JTjs7Ozs7TUFXSSxnQmpFeURxRDtNaUV4RHJELHVCakV3RHFEO01pRXJEckQsdUJqRXFEcUQsRWlFakN4RCxFQUFBO0V2RTRHSztJdUUvSU47Ozs7O01Bb0JJLG1CakVnRHFEO01pRS9DckQsdUJqRStDcUQ7TWlFOUNyRCx1QmpFOENxRCxFaUVqQ3hELEVBQUE7RXZFaUhLO0l1RXBKTjs7Ozs7TUEyQkkscUJqRXlDcUQ7TWlFeENyRCxzQmpFd0NxRDtNaUVyQ3JELHVCakVxQ3FELEVpRWpDeEQsRUFBQTs7QUFDRDs7Ozs7RUFLRSxtQmpFMkJ1RDtFaUUxQnZELHVCakUwQnVEO0VpRXpCdkQsdUJqRXlCdUQsRWlFR3hEO0V2RXdFSztJdUUzR047Ozs7O01BV0ksb0JqRXFCcUQ7TWlFcEJyRCx1QmpFb0JxRDtNaUVqQnJELHVCakVpQnFELEVpRUd4RCxFQUFBO0V2RXdFSztJdUUzR047Ozs7O01Bb0JJLGtCakVZcUQ7TWlFWHJELHVCakVXcUQ7TWlFVnJELHVCakVVcUQsRWlFR3hELEVBQUE7RXZFNkVLO0l1RWhITjs7Ozs7TUEyQkksb0JqRUtxRDtNaUVKckQsdUJqRUlxRDtNaUVEckQsdUJqRUNxRCxFaUVHeEQsRUFBQTs7QUFDRDs7Ozs7RUFLRSxnQmpFVHVEO0VpRVV2RCx1QmpFVnVEO0VpRVd2RCx1QmpFWHVELEVpRXVDeEQ7RXZFb0NLO0l1RXZFTjs7Ozs7TUFXSSxnQmpFZnFEO01pRWdCckQsdUJqRWhCcUQ7TWlFbUJyRCx1QmpFbkJxRCxFaUV1Q3hELEVBQUE7RXZFb0NLO0l1RXZFTjs7Ozs7TUFvQkksbUJqRXhCcUQ7TWlFeUJyRCx1QmpFekJxRDtNaUUwQnJELHVCakUxQnFELEVpRXVDeEQsRUFBQTtFdkV5Q0s7SXVFNUVOOzs7OztNQTJCSSxxQmpFL0JxRDtNaUVnQ3JELG9CakVoQ3FEO01pRW1DckQsdUJqRW5DcUQsRWlFdUN4RCxFQUFBOztBQUNEOzs7OztFQUtFLG1CakU3Q3VEO0VpRThDdkQsdUJqRTlDdUQ7RWlFK0N2RCx5QmpFL0N1RCxFaUUyRXhEO0V2RUFLO0l1RW5DTjs7Ozs7TUFXSSxvQmpFbkRxRDtNaUVvRHJELHVCakVwRHFEO01pRXVEckQseUJqRXZEcUQsRWlFMkV4RCxFQUFBO0V2RUFLO0l1RW5DTjs7Ozs7TUFvQkkscUJqRTVEcUQ7TWlFNkRyRCxrQmpFN0RxRDtNaUU4RHJELHlCakU5RHFELEVpRTJFeEQsRUFBQTtFdkVLSztJdUV4Q047Ozs7O01BMkJJLHFCakVuRXFEO01pRW9FckQscUJqRXBFcUQ7TWlFdUVyRCx5QmpFdkVxRCxFaUUyRXhELEVBQUE7O0FBQ0Q7Ozs7O0VBS0Usb0JqRWpGdUQ7RWlFa0Z2RCxxQmpFbEZ1RDtFaUVtRnZELHlCakVuRnVELEVpRStHeEQ7RXZFcENLO0l1RUNOOzs7OztNQVdJLG9CakV2RnFEO01pRXdGckQscUJqRXhGcUQ7TWlFMkZyRCx5QmpFM0ZxRCxFaUUrR3hELEVBQUE7RXZFcENLO0l1RUNOOzs7OztNQW9CSSxrQmpFaEdxRDtNaUVpR3JELHNCakVqR3FEO01pRWtHckQseUJqRWxHcUQsRWlFK0d4RCxFQUFBO0V2RS9CSztJdUVKTjs7Ozs7TUEyQkkscUJqRXZHcUQ7TWlFd0dyRCx1QmpFeEdxRDtNaUUyR3JELHlCakUzR3FELEVpRStHeEQsRUFBQTs7O0F2RG9FQzs7Ozs7O0V1RDlEQSxtQmpFckh1RDtFaUVzSHZELHVCakV0SHVEO0VpRXVIdkQs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a0IsRUFPbEI7SUF0Qkg7TUFrQkksb0JEZmtCO01DZ0JsQixZRGZnQjtNQ2dCaEIsc0JBQXFCLEVBQ3JCO0VBckJKO0lBd0JHLGFEUHdCO0lDUXhCLGdCQUFlLEVBQ2Y7O0FBMUJIO0VBK0JFLGlCQUFnQixFQUNoQjs7QUFoQ0Y7RUFtQ0UsbUJBQWtCO0VBQ2xCLHlDQUF3QyxFQXlCeEM7RUE3REY7SUF1Q0csc0JBQXFCO0lBQ3JCLFFBQU87S0FDUCxnQkFBZ0IsRUFtQmhCO0lBNURIO01BNENJLFlEdkJlO01Dd0JmLGFEdkJlO01Dd0JmLGdCRHRCbUI7TUN1Qm5CLG9CRDFDa0I7TUMyQ2xCLGVBQWM7TUFDZCxxQ0FBb0M7TUFDcEMsK0JBQThCO01BQzlCLG9CRDVCZ0IsRUM2QmhCO0lBcERKO01BeURLLG9CRHREaUIsRUN1RGpCOztBQzNETDtFQUlNLHdCdkdvRm1ELEV1R25GcEQ7O0FBTEw7RUFPTSxzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDRCQUFtQjtNQUFuQix3QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLG1CQUFrQjtFQUVsQixrQnZHNkVtRDtFdUc1RW5ELG1DQUEwQjtNQUExQiwrQkFBMEI7VUFBMUIsMkJBQTBCO0VBQzFCLFdBQVUsRUFDWDs7QUFkTDtFQWdCTSxvQnZHd0VtRCxFdUd6RHBEO0VBL0JMO0lBbUJRLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFHbkIsZXZHaUUrQztJdUdoRS9DLGN2R2dFK0MsRXVHMURsRDtJN0dxSUQ7TTZHbktOO1FBMkJVLGlCdkc2RCtDO1F1RzVEL0MsZ0J2RzREK0MsRXVHMURsRCxFQUFBOztBQUtQO0VBR00sdUIvRzRETTtFK0czRE4sYUFBWSxFQUNiOztBQUxMO0VBT00sMEIvR3lDZSxFK0d4Q2hCOztBQUtMO0VBR0ksaUJBQWdCO0VBQ2hCLG9CQUFtQixFQUNwQiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1bGxpdmFuIEZpbGxcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdWxsaXZhbi1maWxsLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbSZiYW5uZXI9OTYuODc1ZW0meHh4bGFyZ2U9MTAzLjEyNWVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMi41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDIuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDMuNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMy43NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41NjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNTYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41NjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS44NzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuODc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS44NzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS44NzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjU2MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0xLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMS44NzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMS41NjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTEuODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEuODc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDIuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAyLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy43NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi41cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4xMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDMuNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDMuNzVyZW0pOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiU3VsbGl2YW4gRmlsbFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLFxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjYTNhM2EzOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDc1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA4MzMzO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA5Mzc1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjEwNzE0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI3MjczO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuXG5oNixcbi5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDYyNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDc4OTU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDkzNzU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExNTM4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3MjczO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBcbiAgaDYsXG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNTc2OTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3NTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wODMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEwMzQ1O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgXG4gIGg2LFxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA1MDg1O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNzE0MztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4zMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA4MTA4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAyLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDkwOTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIyMjIyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBcbiAgaDYsXG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMTgxODtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjQ0QyOTI5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2IwMjMyMzsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhM2EzYTM7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM0ZTRlNGU7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjYTNhM2EzOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhM2EzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM0ZTRlNGU7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzRlNGU0ZTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDRDI5Mjk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBhLnBvc3QtZWRpdC1saW5rIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QyOTI5O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24udGlueSwgLmVkaXQtbGluayBhLnRpbnkucG9zdC1lZGl0LWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwsIC5lZGl0LWxpbmsgYS5zbWFsbC5wb3N0LWVkaXQtbGluayB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2UsIC5lZGl0LWxpbmsgYS5sYXJnZS5wb3N0LWVkaXQtbGluayB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQsIC5lZGl0LWxpbmsgYS5leHBhbmRlZC5wb3N0LWVkaXQtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSwgLmVkaXQtbGluayBhLnByaW1hcnkucG9zdC1lZGl0LWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDRDI5Mjk7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5lZGl0LWxpbmsgYS5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNDIxMjE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmVkaXQtbGluayBhLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5Yzg5MztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuZWRpdC1saW5rIGEuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmVkaXQtbGluayBhLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNhODU0O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzLCAuZWRpdC1saW5rIGEuc3VjY2Vzcy5wb3N0LWVkaXQtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNjYzQ3YztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmVkaXQtbGluayBhLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cywgLmVkaXQtbGluayBhLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMwOWQ2MztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2FybmluZywgLmVkaXQtbGluayBhLndhcm5pbmcucG9zdC1lZGl0LWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2I3MzM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5lZGl0LWxpbmsgYS53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5lZGl0LWxpbmsgYS53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTlkMDk7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuZWRpdC1saW5rIGEuYWxlcnQucG9zdC1lZGl0LWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYzRhMWE7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuZWRpdC1saW5rIGEuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMzMTAzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5wb3N0LWVkaXQtbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QyOTI5O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5wcmltYXJ5LnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmVkaXQtbGluayBhLmRpc2FibGVkLnByaW1hcnkucG9zdC1lZGl0LWxpbmssIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmVkaXQtbGluayBhLmRpc2FibGVkLnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmVkaXQtbGluayBhLmRpc2FibGVkLnByaW1hcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QyOTI5O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZWRpdC1saW5rIGEuZGlzYWJsZWQuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmVkaXQtbGluayBhLmRpc2FibGVkLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluaywgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5Yzg5MztcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5zdWNjZXNzLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmVkaXQtbGluayBhLmRpc2FibGVkLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbmssIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmVkaXQtbGluayBhLmRpc2FibGVkLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmVkaXQtbGluayBhLmRpc2FibGVkLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2NjNDdjO1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmVkaXQtbGluayBhLmRpc2FibGVkLndhcm5pbmcucG9zdC1lZGl0LWxpbmssIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQud2FybmluZy5wb3N0LWVkaXQtbGluaywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQud2FybmluZy5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQud2FybmluZy5wb3N0LWVkaXQtbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2I3MzM7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmVkaXQtbGluayBhLmRpc2FibGVkLmFsZXJ0LnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmVkaXQtbGluayBhLmRpc2FibGVkLmFsZXJ0LnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYzRhMWE7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uaG9sbG93LCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0QyOTI5O1xuICAgIGNvbG9yOiAjQ0QyOTI5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5lZGl0LWxpbmsgYS5ob2xsb3cucG9zdC1lZGl0LWxpbmssIC5idXR0b24uaG9sbG93OmhvdmVyLCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy5kaXNhYmxlZC5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5ob2xsb3cuZGlzYWJsZWQucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5lZGl0LWxpbmsgYS5ob2xsb3cucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjcxNTE1O1xuICAgICAgY29sb3I6ICM2NzE1MTU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRDI5Mjk7XG4gICAgICAgIGNvbG9yOiAjQ0QyOTI5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmVkaXQtbGluayBhLmhvbGxvdy5wcmltYXJ5LnBvc3QtZWRpdC1saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRDI5Mjk7XG4gICAgICBjb2xvcjogI0NEMjkyOTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEuaG9sbG93LnByaW1hcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzE1MTU7XG4gICAgICAgIGNvbG9yOiAjNjcxNTE1OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRDI5Mjk7XG4gICAgICAgICAgY29sb3I6ICNDRDI5Mjk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5ob2xsb3cuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOWM4OTM7XG4gICAgICBjb2xvcjogI2U5Yzg5MzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuZWRpdC1saW5rIGEuaG9sbG93LnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEuaG9sbG93LnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzllNmUyMDtcbiAgICAgICAgY29sb3I6ICM5ZTZlMjA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93LnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOWM4OTM7XG4gICAgICAgICAgY29sb3I6ICNlOWM4OTM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuZWRpdC1saW5rIGEuaG9sbG93LnN1Y2Nlc3MucG9zdC1lZGl0LWxpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNjYzQ3YztcbiAgICAgIGNvbG9yOiAjM2NjNDdjOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuZWRpdC1saW5rIGEuaG9sbG93LnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMsIC5lZGl0LWxpbmsgYS5ob2xsb3cuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzFlNjIzZTtcbiAgICAgICAgY29sb3I6ICMxZTYyM2U7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNjYzQ3YztcbiAgICAgICAgICBjb2xvcjogIzNjYzQ3YzsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5lZGl0LWxpbmsgYS5ob2xsb3cud2FybmluZy5wb3N0LWVkaXQtbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjdiNzMzO1xuICAgICAgY29sb3I6ICNmN2I3MzM7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5lZGl0LWxpbmsgYS5ob2xsb3cud2FybmluZy5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cywgLmVkaXQtbGluayBhLmhvbGxvdy53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOGY2MjA2O1xuICAgICAgICBjb2xvcjogIzhmNjIwNjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjdiNzMzO1xuICAgICAgICAgIGNvbG9yOiAjZjdiNzMzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5lZGl0LWxpbmsgYS5ob2xsb3cuYWxlcnQucG9zdC1lZGl0LWxpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZjNGExYTtcbiAgICAgIGNvbG9yOiAjZmM0YTFhOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5ob2xsb3cuYWxlcnQucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4OTFmMDI7XG4gICAgICAgIGNvbG9yOiAjODkxZjAyOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LmFsZXJ0LnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93LmFsZXJ0LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZjNGExYTtcbiAgICAgICAgICBjb2xvcjogI2ZjNGExYTsgfVxuICAuYnV0dG9uLmNsZWFyLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRDI5Mjk7XG4gICAgY29sb3I6ICNDRDI5Mjk7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXI6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuZWRpdC1saW5rIGEuY2xlYXIuZGlzYWJsZWQucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5kaXNhYmxlZC5wb3N0LWVkaXQtbGluazpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY3MTUxNTtcbiAgICAgIGNvbG9yOiAjNjcxNTE1OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NEMjkyOTtcbiAgICAgICAgY29sb3I6ICNDRDI5Mjk7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5kaXNhYmxlZC5wb3N0LWVkaXQtbGluaywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRDI5Mjk7XG4gICAgICBjb2xvcjogI0NEMjkyOTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MTUxNTtcbiAgICAgICAgY29sb3I6ICM2NzE1MTU7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRDI5Mjk7XG4gICAgICAgICAgY29sb3I6ICNDRDI5Mjk7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U5Yzg5MztcbiAgICAgIGNvbG9yOiAjZTljODkzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM5ZTZlMjA7XG4gICAgICAgIGNvbG9yOiAjOWU2ZTIwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U5Yzg5MztcbiAgICAgICAgICBjb2xvcjogI2U5Yzg5MzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzY2M0N2M7XG4gICAgICBjb2xvcjogIzNjYzQ3YzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzFlNjIzZTtcbiAgICAgICAgY29sb3I6ICMxZTYyM2U7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzY2M0N2M7XG4gICAgICAgICAgY29sb3I6ICMzY2M0N2M7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmVkaXQtbGluayBhLmNsZWFyLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjdiNzMzO1xuICAgICAgY29sb3I6ICNmN2I3MzM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ZjYyMDY7XG4gICAgICAgIGNvbG9yOiAjOGY2MjA2OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjdiNzMzO1xuICAgICAgICAgIGNvbG9yOiAjZjdiNzMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGluazpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmM0YTFhO1xuICAgICAgY29sb3I6ICNmYzRhMWE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODkxZjAyO1xuICAgICAgICBjb2xvcjogIzg5MWYwMjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmM0YTFhO1xuICAgICAgICAgIGNvbG9yOiAjZmM0YTFhOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbmssIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5kaXNhYmxlZC5wb3N0LWVkaXQtbGluaywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLmVkaXQtbGluayBhLmRyb3Bkb3duLnBvc3QtZWRpdC1saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmVkaXQtbGluayBhLmRyb3Bkb3duLmhvbGxvdy5wb3N0LWVkaXQtbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNDRDI5Mjk7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5lZGl0LWxpbmsgYS5kcm9wZG93bi5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNDRDI5Mjk7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmVkaXQtbGluayBhLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZTljODkzOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuZWRpdC1saW5rIGEuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2NjNDdjOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuZWRpdC1saW5rIGEuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZjdiNzMzOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmVkaXQtbGluayBhLmRyb3Bkb3duLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmYzRhMWE7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLmVkaXQtbGluayBhLmFycm93LW9ubHkucG9zdC1lZGl0LWxpbms6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cywgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhM2EzO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZTRlNGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNhM2EzYTM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2EzYTNhMzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gMCAwIDAuMTg3NXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMC4xODc1cmVtIDAuMTg3NXJlbSAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EzYTNhMztcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhM2EzOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhM2EzO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODc4LCA3OCwgNzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0ZTRlNGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNhM2EzYTM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmM0YTFhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZGU4OyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNmYzRhMWE7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2ZjNGExYTsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmYzRhMWE7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtIDAuMTg3NXJlbSAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjE4NzVyZW0gMC4xODc1cmVtOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjQ0QyOTI5OyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjE4NzVyZW0gMC4xODc1cmVtOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjNGU0ZTRlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uLFxuICAubWVudSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssXG4gIC5lZGl0LWxpbmsgLm1lbnUgYS5wb3N0LWVkaXQtbGluayB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmLCAwIDE0cHggMCAjZmZmO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjYTNhM2EzO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2EzYTNhMywgMCAxNHB4IDAgI2EzYTNhMzsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNGU0ZTRlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzRlNGU0ZSwgMCAxNHB4IDAgIzRlNGU0ZTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0NEMjkyOTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNDRDI5Mjk7IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0NEMjkyOSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNDRDI5MjkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMTguNzVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EzYTNhMztcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTZlNmU2OyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiA5LjM3NXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZTljODkzOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjQ0QyOTI5O1xuICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI0NEMjkyOTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZTljODkzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2NjNDdjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdiNzMzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2ZjNGExYTtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogI0NEMjkyOTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNhM2EzYTM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2EzYTM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI0NEMjkyOTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2MzMjcyNzsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjQ0QyOTI5OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogI2IwMjMyMzsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjQ0QyOTI5O1xuICAgICAgY29sb3I6ICNlNmU2ZTY7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjA1LCA0MSwgNDEsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4udG9wLXBhZCwgLnRvcC1idG0tcGFkIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuLmJ0bS1wYWQsIC50b3AtYnRtLXBhZCB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi5oYWxmLXRvcC1wYWQge1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuXG4uaGFsZi1idG0tcGFkIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxuLmRvdWJsZS10b3AtcGFkIHtcbiAgcGFkZGluZy10b3A6IDgwcHg7IH1cblxuLmRvdWJsZS1idG0tcGFkIHtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRvcC1wYWQsIC50b3AtYnRtLXBhZCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgLmJ0bS1wYWQsIC50b3AtYnRtLXBhZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgLmhhbGYtdG9wLXBhZCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7IH1cbiAgLmhhbGYtYnRtLXBhZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7IH1cbiAgLmRvdWJsZS10b3AtcGFkIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH1cbiAgLmRvdWJsZS1idG0tcGFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudG9wLXBhZCwgLnRvcC1idG0tcGFkIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDsgfVxuICAuYnRtLXBhZCwgLnRvcC1idG0tcGFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAuaGFsZi10b3AtcGFkIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAuaGFsZi1idG0tcGFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuZG91YmxlLXRvcC1wYWQge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDsgfVxuICAuZG91YmxlLWJ0bS1wYWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfSB9XG5cbi50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5idG0tbWFyLCAudG9wLWJ0bS1tYXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5oYWxmLXRvcC1tYXIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5oYWxmLWJ0bS1tYXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgLmJ0bS1tYXIsIC50b3AtYnRtLW1hciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuaGFsZi10b3AtbWFyIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIC5oYWxmLWJ0bS1tYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudG9wLW1hciwgLnRvcC1idG0tbWFyIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gIC5idG0tbWFyLCAudG9wLWJ0bS1tYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgLmhhbGYtdG9wLW1hciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuaGFsZi1idG0tbWFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLmJ1dHRvbi50aW55LCAuZWRpdC1saW5rIGEudGlueS5wb3N0LWVkaXQtbGluayB7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjVyZW0gMC4yNXJlbSAwLjVyZW07IH1cbiAgLmJ1dHRvbi50aW55IC5tYWluLXRleHQsIC5lZGl0LWxpbmsgYS50aW55LnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmJ1dHRvbi50aW55IHAsIC5lZGl0LWxpbmsgYS50aW55LnBvc3QtZWRpdC1saW5rIHAge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XG5cbi5idXR0b24ubGFyZ2UgLm1haW4tdGV4dCwgLmVkaXQtbGluayBhLmxhcmdlLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5idXR0b24ubGFyZ2UgcCwgLmVkaXQtbGluayBhLmxhcmdlLnBvc3QtZWRpdC1saW5rIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5idXR0b24ubGFyZ2UgLm1haW4tdGV4dCwgLmVkaXQtbGluayBhLmxhcmdlLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uYnV0dG9uLmxhcmdlIHAsIC5lZGl0LWxpbmsgYS5sYXJnZS5wb3N0LWVkaXQtbGluayBwIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idXR0b24ubGFyZ2UgLm1haW4tdGV4dCwgLmVkaXQtbGluayBhLmxhcmdlLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHAsIC5lZGl0LWxpbmsgYS5sYXJnZS5wb3N0LWVkaXQtbGluayBwIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfSB9XG5cbi5idXR0b24ubm8tYnRtLW1hciwgLmVkaXQtbGluayBhLm5vLWJ0bS1tYXIucG9zdC1lZGl0LWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5idXR0b24uc2Vjb25kYXJ5LWJ0bi1jb2xvciwgLmVkaXQtbGluayBhLnNlY29uZGFyeS1idG4tY29sb3IucG9zdC1lZGl0LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTljODkzO1xuICBjb2xvcjogI0NEMjkyOTsgfVxuXG4uYnV0dG9uLnN1Y2Nlc3MtYnRuLWNvbG9yLCAuZWRpdC1saW5rIGEuc3VjY2Vzcy1idG4tY29sb3IucG9zdC1lZGl0LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2NjNDdjO1xuICBjb2xvcjogI0NEMjkyOTsgfVxuXG4uYnV0dG9uLndhcm5pbmctYnRuLWNvbG9yLCAuZWRpdC1saW5rIGEud2FybmluZy1idG4tY29sb3IucG9zdC1lZGl0LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdiNzMzO1xuICBjb2xvcjogI0NEMjkyOTsgfVxuXG4uYnV0dG9uLmFsZXJ0LWJ0bi1jb2xvciwgLmVkaXQtbGluayBhLmFsZXJ0LWJ0bi1jb2xvci5wb3N0LWVkaXQtbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzRhMWE7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idXR0b24uZ3JheS1idG4tY29sb3IsIC5lZGl0LWxpbmsgYS5ncmF5LWJ0bi1jb2xvci5wb3N0LWVkaXQtbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTM7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idXR0b24ud2hpdGUtYnRuLWNvbG9yLCAuZWRpdC1saW5rIGEud2hpdGUtYnRuLWNvbG9yLnBvc3QtZWRpdC1saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7IH1cblxucCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbi5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsXG5saSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogZm9udC1zaXplIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogZm9udC1zaXplIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogZm9udC1zaXplIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi50eHQtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxnLXRleHQge1xuICBmb250LXNpemU6IDExNSU7IH1cbiAgLmxnLXRleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmxnLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTUwJTsgfVxuICAgIC5sZy10ZXh0IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sZy10ZXh0IHtcbiAgICBmb250LXNpemU6IDE1MCU7IH1cbiAgICAubGctdGV4dCBoMSB7XG4gICAgICBmb250LXNpemU6IDcuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxnLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMjAwJTsgfVxuICAgIC5sZy10ZXh0IGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMTByZW07IH0gfVxuXG4jdGl0bGVkaXYgI3RpdGxlLXByb21wdC10ZXh0IHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuI2FkbWlubWVudSAud3AtaGFzLWN1cnJlbnQtc3VibWVudSAud3Atc3VibWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbiNhZG1pbm1lbnUgLndwLXN1Ym1lbnUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udGhlbWUtcHJldmlldyAuYnV0dG9uLCAudGhlbWUtcHJldmlldyAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgLnRoZW1lLXByZXZpZXcgYS5wb3N0LWVkaXQtbGluayB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnRoZW1lLXByZXZpZXcgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC50aGVtZS1wcmV2aWV3IC5vd2wtY2Fyb3VzZWwgLnNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNtYWxsLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0pOyB9IH1cblxuLmZ1bGwtd2lkdGgtY29udGVudC1zZWN0aW9uIC5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5mdWxsLXdpZHRoLWNvbnRlbnQtc2VjdGlvbiAuZ3JpZC1jb250YWluZXIuY29udGVudC1icmVhay1ncmlkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmZ1bGwtd2lkdGgtY29udGVudC1zZWN0aW9uIC5ncmlkLWNvbnRhaW5lci5jb250ZW50LWJyZWFrLWdyaWQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubW9iaWxlLW9yZGVyLWZpcnN0IHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubW9iaWxlLW9yZGVyLWxhc3Qge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4uaW1nLWJnIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMSwgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDIsIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIGgzLCAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNCwgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDUsIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIGg2LCAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG4gIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIGgxLFxuICAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMixcbiAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDMsXG4gIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIGg0LFxuICAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNSwgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDYsIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIC5hY2NvcmRpb24tdGl0bGUsXG4gIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIHAge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDEucmVkLXRleHQsXG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDIucmVkLXRleHQsXG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDMucmVkLXRleHQsXG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDQucmVkLXRleHQsXG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDUucmVkLXRleHQsXG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDYucmVkLXRleHQsXG4gICAgLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLnJlZC10ZXh0LmFjY29yZGlvbi10aXRsZSxcbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciAucmVkLXRleHQuYWNjb3JkaW9uLXRpdGxlLFxuICAgIC5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIHAucmVkLXRleHQge1xuICAgICAgY29sb3I6ICNDRDI5Mjk7IH1cbiAgLmltZy1iZy5vdmVybGF5LWJsYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaW1nLWJnLm92ZXJsYXktYmxhY2s6OmJlZm9yZSwgLmltZy1iZy5vdmVybGF5LWJsYWNrOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMC40NTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuaW1nLWJnLm92ZXJsYXktYmxhY2sgLmNvbnRlbnQtYmFuZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmltZy1iZy5vdmVybGF5LWJsYWNrOjpiZWZvcmUsIC5pbWctYmcub3ZlcmxheS1ibGFjazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuaW1nIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuLmltZy1nYWxsZXJ5IC5pbWctZ2FsbGVyeS1pdGVtIGEge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgfVxuXG4uYmFuZC13cmFwcGVyLmltZy1iZy5iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLmx0LWdyYXktYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbi5tZC1ncmF5LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMztcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJsYWNrLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmJsYWNrLWJnIC5idXR0b24gLm1haW4tdGV4dCBzcGFuLCAuYmxhY2stYmcgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQgc3BhbiwgLmVkaXQtbGluayAuYmxhY2stYmcgYS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0IHNwYW4sIC5ibGFjay1iZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdIC5tYWluLXRleHQgc3BhbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5ibGFjay1iZyAuYnV0dG9uIC5tYWluLXRleHQ6OmJlZm9yZSwgLmJsYWNrLWJnIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0OjpiZWZvcmUsIC5lZGl0LWxpbmsgLmJsYWNrLWJnIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dDo6YmVmb3JlLCAuYmxhY2stYmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAubWFpbi10ZXh0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTIuNDkyXCIgaGVpZ2h0PVwiMTIuNzI2XCIgdmlld0JveD1cIjAgMCAxMi40OTIgMTIuNzI2XCI+PGcgaWQ9XCJHcm91cF8zOVwiIGRhdGEtbmFtZT1cIkdyb3VwIDM5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MDcuNDM1IDIxNi4xNTcpXCI+PGcgaWQ9XCJHcm91cF8yN1wiIGRhdGEtbmFtZT1cIkdyb3VwIDI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwNy40MzUgLTIxNi4xNTgpXCI+PHBhdGggaWQ9XCJQYXRoXzI4XCIgZGF0YS1uYW1lPVwiUGF0aCAyOFwiIGQ9XCJNNzcuMjIyLDBWMTIuNzI2TDg5LjcxNCw2LjM2M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTc3LjIyMilcIiBmaWxsPVwiJTIzZmZmXCIvPjwvZz48L2c+PC9zdmc+Jyk7IH1cbiAgLmJsYWNrLWJnIC5idXR0b24uYzJhLWJ0biwgLmJsYWNrLWJnIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIC5ibGFjay1iZyBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbmssIC5ibGFjay1iZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmMyYS1idG4ge1xuICAgIGNvbG9yOiAjQ0QyOTI5OyB9XG4gICAgLmJsYWNrLWJnIC5idXR0b24uYzJhLWJ0bjpob3ZlciwgLmJsYWNrLWJnIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuZWRpdC1saW5rIC5ibGFjay1iZyBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5ibGFjay1iZyAuYnV0dG9uLmMyYS1idG46Zm9jdXMsIC5ibGFjay1iZyAuZWRpdC1saW5rIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluazpmb2N1cywgLmVkaXQtbGluayAuYmxhY2stYmcgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuYmxhY2stYmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuOmhvdmVyLCAuYmxhY2stYmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5pbWctYmcgLmJ1dHRvbiAubWFpbi10ZXh0OjpiZWZvcmUsIC5pbWctYmcgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQ6OmJlZm9yZSwgLmVkaXQtbGluayAuaW1nLWJnIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dDo6YmVmb3JlLCAuaW1nLWJnIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gLm1haW4tdGV4dDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMi40OTJcIiBoZWlnaHQ9XCIxMi43MjZcIiB2aWV3Qm94PVwiMCAwIDEyLjQ5MiAxMi43MjZcIj48ZyBpZD1cIkdyb3VwXzM5XCIgZGF0YS1uYW1lPVwiR3JvdXAgMzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTUwNy40MzUgMjE2LjE1NylcIj48ZyBpZD1cIkdyb3VwXzI3XCIgZGF0YS1uYW1lPVwiR3JvdXAgMjdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTA3LjQzNSAtMjE2LjE1OClcIj48cGF0aCBpZD1cIlBhdGhfMjhcIiBkYXRhLW5hbWU9XCJQYXRoIDI4XCIgZD1cIk03Ny4yMjIsMFYxMi43MjZMODkuNzE0LDYuMzYzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzcuMjIyKVwiIGZpbGw9XCIlMjNmZmZcIi8+PC9nPjwvZz48L3N2Zz4nKTsgfVxuXG4uaW1nLWJnIC5idXR0b24uYzJhLWJ0biwgLmltZy1iZyAuZWRpdC1saW5rIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluaywgLmVkaXQtbGluayAuaW1nLWJnIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluaywgLmltZy1iZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmMyYS1idG4ge1xuICBjb2xvcjogI0NEMjkyOTsgfVxuICAuaW1nLWJnIC5idXR0b24uYzJhLWJ0bjpob3ZlciwgLmltZy1iZyAuZWRpdC1saW5rIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluazpob3ZlciwgLmVkaXQtbGluayAuaW1nLWJnIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluazpob3ZlciwgLmltZy1iZyAuYnV0dG9uLmMyYS1idG46Zm9jdXMsIC5pbWctYmcgLmVkaXQtbGluayBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5lZGl0LWxpbmsgLmltZy1iZyBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5pbWctYmcgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuOmhvdmVyLCAuaW1nLWJnIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYzJhLWJ0bjpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLndwZm9ybXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi53cGZvcm1zLWVycm9yIHtcbiAgY29sb3I6ICNDRDI5Mjk7IH1cblxuLndwZm9ybXMtZm9ybSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAud3Bmb3Jtcy1mb3JtIGxhYmVsLCAud3Bmb3Jtcy1mb3JtIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1yZXF1aXJlZC1sYWJlbCB7XG4gICAgY29sb3I6ICNDRDI5Mjk7IH1cbiAgLndwZm9ybXMtZm9ybSBpbnB1dCxcbiAgLndwZm9ybXMtZm9ybSBzZWxlY3QsXG4gIC53cGZvcm1zLWZvcm0gdGV4dGFyZWEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLndwZm9ybXMtZm9ybSB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTAuNjI1cmVtOyB9XG4gIC53cGZvcm1zLWZvcm0gLndwZm9ybXMtc3VibWl0IHtcbiAgICBmb250LWZhbWlseTogXCJTdWxsaXZhbiBGaWxsXCI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICNDRDI5Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLXN1Ym1pdDpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogI0NEMjkyOTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1zdWJtaXQ6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyMzAwMFwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAwLjgxMjVyZW07XG4gICAgICB3aWR0aDogMC44MTI1cmVtO1xuICAgICAgdG9wOiAtMC4xODc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4uZm9ybWluYXRvci1jdXN0b20tZm9ybSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9wZW4tc2Fuc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cbiAgLmZvcm1pbmF0b3ItY3VzdG9tLWZvcm0gbGFiZWwsIC5mb3JtaW5hdG9yLWN1c3RvbS1mb3JtIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxuICAuZm9ybWluYXRvci1jdXN0b20tZm9ybSBpbnB1dCxcbiAgLmZvcm1pbmF0b3ItY3VzdG9tLWZvcm0gc2VsZWN0LFxuICAuZm9ybWluYXRvci1jdXN0b20tZm9ybSB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2UzZTNlMztcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuZm9ybWluYXRvci1jdXN0b20tZm9ybSBpbnB1dDpmb2N1cyxcbiAgICAuZm9ybWluYXRvci1jdXN0b20tZm9ybSBzZWxlY3Q6Zm9jdXMsXG4gICAgLmZvcm1pbmF0b3ItY3VzdG9tLWZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5mb3JtaW5hdG9yLXJlcXVpcmVkIHtcbiAgY29sb3I6ICNDRDI5Mjk7IH1cblxuLmZvcm1pbmF0b3ItYnV0dG9uLXVwbG9hZCB7XG4gIGJhY2tncm91bmQ6ICNlM2UzZTMgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mb3JtaW5hdG9yLWJ1dHRvbi11cGxvYWQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmZvcm1pbmF0b3ItYnV0dG9uLXN1Ym1pdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiU3VsbGl2YW4gRmlsbFwiICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjY4NzVyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6ICNDRDI5MjkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZm9ybWluYXRvci1idXR0b24tc3VibWl0OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogI0NEMjkyOSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5mb3JtaW5hdG9yLWJ1dHRvbi1zdWJtaXQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMi40OTJcIiBoZWlnaHQ9XCIxMi43MjZcIiB2aWV3Qm94PVwiMCAwIDEyLjQ5MiAxMi43MjZcIj48ZyBpZD1cIkdyb3VwXzM5XCIgZGF0YS1uYW1lPVwiR3JvdXAgMzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTUwNy40MzUgMjE2LjE1NylcIj48ZyBpZD1cIkdyb3VwXzI3XCIgZGF0YS1uYW1lPVwiR3JvdXAgMjdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTA3LjQzNSAtMjE2LjE1OClcIj48cGF0aCBpZD1cIlBhdGhfMjhcIiBkYXRhLW5hbWU9XCJQYXRoIDI4XCIgZD1cIk03Ny4yMjIsMFYxMi43MjZMODkuNzE0LDYuMzYzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzcuMjIyKVwiIGZpbGw9XCIlMjMwMDBcIi8+PC9nPjwvZz48L3N2Zz4nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMC44MTI1cmVtO1xuICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgdG9wOiAtMC4xODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLmZvcm1pbmF0b3ItYnV0dG9uLXN1Ym1pdFtkaXNhYmxlZF0ge1xuICBmb250LWZhbWlseTogXCJTdWxsaXZhbiBGaWxsXCI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgY29sb3I6ICNDRDI5Mjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5mb3JtaW5hdG9yLWJ1dHRvbi1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNDRDI5Mjk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmZvcm1pbmF0b3ItYnV0dG9uLXN1Ym1pdFtkaXNhYmxlZF06OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMi40OTJcIiBoZWlnaHQ9XCIxMi43MjZcIiB2aWV3Qm94PVwiMCAwIDEyLjQ5MiAxMi43MjZcIj48ZyBpZD1cIkdyb3VwXzM5XCIgZGF0YS1uYW1lPVwiR3JvdXAgMzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTUwNy40MzUgMjE2LjE1NylcIj48ZyBpZD1cIkdyb3VwXzI3XCIgZGF0YS1uYW1lPVwiR3JvdXAgMjdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTA3LjQzNSAtMjE2LjE1OClcIj48cGF0aCBpZD1cIlBhdGhfMjhcIiBkYXRhLW5hbWU9XCJQYXRoIDI4XCIgZD1cIk03Ny4yMjIsMFYxMi43MjZMODkuNzE0LDYuMzYzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzcuMjIyKVwiIGZpbGw9XCIlMjMwMDBcIi8+PC9nPjwvZz48L3N2Zz4nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMC44MTI1cmVtO1xuICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgdG9wOiAtMC4xODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLmZvcm1pbmF0b3Itcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW0gIWltcG9ydGFudDsgfVxuXG4uZm9ybWluYXRvci1lcnJvciwgLmZvcm1pbmF0b3ItZXJyb3ItbWVzc2FnZSB7XG4gIGNvbG9yOiAjQ0QyOTI5OyB9XG5cbnAsXG4ucCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5tYWluLWNvbnRlbnQgdWwsXG4ubWFpbi1jb250ZW50IG9sIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42ODc1cmVtOyB9XG5cbmgxLFxuLmgxLFxuLnR5cGUtc2l6ZS02LFxuLnR5cGUtc2l6ZS02IHAsXG4udHlwZS1zaXplLTYgbGkge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGgxLFxuICAgIC5oMSxcbiAgICAudHlwZS1zaXplLTYsXG4gICAgLnR5cGUtc2l6ZS02IHAsXG4gICAgLnR5cGUtc2l6ZS02IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjE4NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoMSxcbiAgICAuaDEsXG4gICAgLnR5cGUtc2l6ZS02LFxuICAgIC50eXBlLXNpemUtNiBwLFxuICAgIC50eXBlLXNpemUtNiBsaSB7XG4gICAgICBmb250LXNpemU6IDMuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy40Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICBoMSxcbiAgICAuaDEsXG4gICAgLnR5cGUtc2l6ZS02LFxuICAgIC50eXBlLXNpemUtNiBwLFxuICAgIC50eXBlLXNpemUtNiBsaSB7XG4gICAgICBmb250LXNpemU6IDMuNjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5oMixcbi5oMixcbi50eXBlLXNpemUtNSxcbi50eXBlLXNpemUtNSBwLFxuLnR5cGUtc2l6ZS01IGxpIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaDIsXG4gICAgLmgyLFxuICAgIC50eXBlLXNpemUtNSxcbiAgICAudHlwZS1zaXplLTUgcCxcbiAgICAudHlwZS1zaXplLTUgbGkge1xuICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoMixcbiAgICAuaDIsXG4gICAgLnR5cGUtc2l6ZS01LFxuICAgIC50eXBlLXNpemUtNSBwLFxuICAgIC50eXBlLXNpemUtNSBsaSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGgyLFxuICAgIC5oMixcbiAgICAudHlwZS1zaXplLTUsXG4gICAgLnR5cGUtc2l6ZS01IHAsXG4gICAgLnR5cGUtc2l6ZS01IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbmgzLFxuLmgzLFxuLnR5cGUtc2l6ZS00LFxuLnR5cGUtc2l6ZS00IHAsXG4udHlwZS1zaXplLTQgbGkge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoMyxcbiAgICAuaDMsXG4gICAgLnR5cGUtc2l6ZS00LFxuICAgIC50eXBlLXNpemUtNCBwLFxuICAgIC50eXBlLXNpemUtNCBsaSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDMsXG4gICAgLmgzLFxuICAgIC50eXBlLXNpemUtNCxcbiAgICAudHlwZS1zaXplLTQgcCxcbiAgICAudHlwZS1zaXplLTQgbGkge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNDM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDMsXG4gICAgLmgzLFxuICAgIC50eXBlLXNpemUtNCxcbiAgICAudHlwZS1zaXplLTQgcCxcbiAgICAudHlwZS1zaXplLTQgbGkge1xuICAgICAgZm9udC1zaXplOiAyLjMxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbmg0LFxuLmg0LFxuLnR5cGUtc2l6ZS0zLFxuLnR5cGUtc2l6ZS0zIHAsXG4udHlwZS1zaXplLTMgbGkge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGg0LFxuICAgIC5oNCxcbiAgICAudHlwZS1zaXplLTMsXG4gICAgLnR5cGUtc2l6ZS0zIHAsXG4gICAgLnR5cGUtc2l6ZS0zIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44MTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBoNCxcbiAgICAuaDQsXG4gICAgLnR5cGUtc2l6ZS0zLFxuICAgIC50eXBlLXNpemUtMyBwLFxuICAgIC50eXBlLXNpemUtMyBsaSB7XG4gICAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIGg0LFxuICAgIC5oNCxcbiAgICAudHlwZS1zaXplLTMsXG4gICAgLnR5cGUtc2l6ZS0zIHAsXG4gICAgLnR5cGUtc2l6ZS0zIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4wNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5oNSxcbi5oNSxcbi50eXBlLXNpemUtMixcbi50eXBlLXNpemUtMiBwLFxuLnR5cGUtc2l6ZS0yIGxpIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGg1LFxuICAgIC5oNSxcbiAgICAudHlwZS1zaXplLTIsXG4gICAgLnR5cGUtc2l6ZS0yIHAsXG4gICAgLnR5cGUtc2l6ZS0yIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDUsXG4gICAgLmg1LFxuICAgIC50eXBlLXNpemUtMixcbiAgICAudHlwZS1zaXplLTIgcCxcbiAgICAudHlwZS1zaXplLTIgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgaDUsXG4gICAgLmg1LFxuICAgIC50eXBlLXNpemUtMixcbiAgICAudHlwZS1zaXplLTIgcCxcbiAgICAudHlwZS1zaXplLTIgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4wNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuXG5oNixcbi5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsXG4uaDYsXG4udHlwZS1zaXplLTEsXG4udHlwZS1zaXplLTEgcCxcbi50eXBlLXNpemUtMSBsaSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgXG4gICAgaDYsXG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbiAgICAuaDYsXG4gICAgLnR5cGUtc2l6ZS0xLFxuICAgIC50eXBlLXNpemUtMSBwLFxuICAgIC50eXBlLXNpemUtMSBsaSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBcbiAgICBoNixcbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLFxuICAgIC5oNixcbiAgICAudHlwZS1zaXplLTEsXG4gICAgLnR5cGUtc2l6ZS0xIHAsXG4gICAgLnR5cGUtc2l6ZS0xIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgXG4gICAgaDYsXG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbiAgICAuaDYsXG4gICAgLnR5cGUtc2l6ZS0xLFxuICAgIC50eXBlLXNpemUtMSBwLFxuICAgIC50eXBlLXNpemUtMSBsaSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSxcbmg2LFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaDIsIGgzLCBoNCwgaDUsXG5oNixcbi5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI0NEMjkyOTsgfVxuXG4ucmVkLXRleHQge1xuICBjb2xvcjogI0NEMjkyOTsgfVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuYWRtaW4tYmFyLmYtdG9wYmFyLWZpeGVkIC5zdGlja3kuZml4ZWQge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC45Mzc1ZW0pIHtcbiAgICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgICB0b3A6IDJyZW07IH0gfVxuXG4uZWRpdC1saW5rIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMTsgfVxuICAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NEMjkyOTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4xODc1cmVtIDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW0gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTljODkzO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4ud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwOyB9XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTUgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy03ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy05ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMS4xMTExMSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogc29saWQgNHB4ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhOmhvdmVyLCAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIwNSwgNDEsIDQxLCAwLjUpOyB9XG4gICAgLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGEgaW1hZ2Uge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG4ubG9nby13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB6LWluZGV4OiAxMDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5sb2dvLXdyYXBwZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyBpZD1cIkxheWVyXzFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA0MjIuODMgMTA3LjY5XCI+PHBvbHlnb24gcG9pbnRzPVwiMCAwIDIxMS40MiAxMDcuNjkgNDIyLjgzIDAgMCAwXCIgc3R5bGU9XCJmaWxsOiUyM2ZmZjtcIi8+PC9zdmc+Jyk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2dvLXdyYXBwZXIge1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI4OS40MSAyOTQuODNcIj48cG9seWdvbiBwb2ludHM9XCIwIDAgMCAwIDAgMjk0LjgyIDAgMjk0LjgzIDI4OS40MSAxNDcuNDEgMCAwXCIgc3R5bGU9XCJmaWxsOiUyM2ZmZjtcIi8+PC9zdmc+Jyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmxvZ28td3JhcHBlciB7XG4gICAgICB3aWR0aDogMTM1cHg7XG4gICAgICBoZWlnaHQ6IDE2MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5sb2dvLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiAyMjVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2Ljg3NWVtKSB7XG4gICAgLmxvZ28td3JhcHBlciB7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDMyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmxvZ28td3JhcHBlciAubG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgICAgIC5sb2dvLXdyYXBwZXIgLmxvZ28gc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5LjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2dvLXdyYXBwZXIgLmxvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuICAgICAgLmxvZ28td3JhcHBlciAubG9nbyBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDUuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5sb2dvLXdyYXBwZXIgLmxvZ28gc3ZnIHtcbiAgICAgIG1heC13aWR0aDogNi4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubG9nby13cmFwcGVyIC5sb2dvIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDkuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYuODc1ZW0pIHtcbiAgICAubG9nby13cmFwcGVyIC5sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEzcHg7IH1cbiAgICAgIC5sb2dvLXdyYXBwZXIgLmxvZ28gc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cblxuI21hc3RoZWFkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI21hc3RoZWFkIHtcbiAgICAgIHRvcDogMTEwcHg7IH1cbiAgICAgICNtYXN0aGVhZC5tZW51LW9wZW4ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG5cbiNtYXN0aGVhZCAuZ3JpZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTsgfVxuXG4jbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbSAzMHB4OyB9IH1cbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAubWVudS1jb250ZW50IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAubWVudS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAjbWFzdGhlYWQubWVudS1vcGVuIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuI21hc3RoZWFkIC5sb2dvIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLCB3aWR0aCAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZSwgd2lkdGggMC4zcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZSwgd2lkdGggMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLCB3aWR0aCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UsIHdpZHRoIDAuM3MgZWFzZTtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgd2lkdGg6IDMuMTI1cmVtOyB9XG4gICNtYXN0aGVhZCAubG9nbyBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNtYXN0aGVhZCAubG9nbyB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgaGVpZ2h0OiA0LjY4NzVyZW07XG4gICAgICB3aWR0aDogNC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICNtYXN0aGVhZCAubG9nbyB7XG4gICAgICBoZWlnaHQ6IDYuMjVyZW07XG4gICAgICB3aWR0aDogNi4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAjbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjbWFzdGhlYWQgLm1lbnUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MDBweCk7IH1cbiAgI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjbWFzdGhlYWQgLm1lbnUtY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwMHB4KTsgfVxuICAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICBtb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgaGVpZ2h0IDFzIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gICNtYXN0aGVhZCAubWVudS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4jbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5tZW51LWl0ZW0ge1xuICBmb250LWZhbWlseTogXCJTdWxsaXZhbiBGaWxsXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAubWVudS1pdGVtIGEge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMC4xMjVyZW0gMDtcbiAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLm1lbnUtaXRlbSBhOmhvdmVyLCAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5tZW51LWl0ZW0gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICAgIGNvbG9yOiAjQ0QyOTI5OyB9XG5cbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLm1lbnUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjbWFzdGhlYWQgLm1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNtYXN0aGVhZCAubWVudSAuZ3JpZC1jb250YWluZXIgLm1lbnUtaXRlbSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICNtYXN0aGVhZCAubWVudSAuZ3JpZC1jb250YWluZXIgLm1lbnUtaXRlbSAuc3VibWVudSAubWVudS1pdGVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI21hc3RoZWFkIC5tZW51IC5ncmlkLWNvbnRhaW5lciA+IC5tZW51LWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICNtYXN0aGVhZCAubWVudSAuZ3JpZC1jb250YWluZXIgPiAubWVudS1pdGVtIGEge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNtYXN0aGVhZCAubWVudSAubWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfSB9XG5cbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLnN1Ym1lbnUsXG4jbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5zdWJtZW51IC5tZW51LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5zdWJtZW51IGEsXG4gICNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLnN1Ym1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5zdWJtZW51IGE6aG92ZXIsICNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLnN1Ym1lbnUgYTpmb2N1cyxcbiAgICAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5zdWJtZW51IC5tZW51LWl0ZW0gYTpob3ZlcixcbiAgICAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5zdWJtZW51IC5tZW51LWl0ZW0gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI0NEMjkyOTtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwwMEJCXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRvcDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1pbi13aWR0aDogMTUuNjI1cmVtO1xuICBhbmltYXRpb246IHJldmVhbERvd24gMC40cyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfVxuXG5Aa2V5ZnJhbWVzIHJldmVhbERvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxLjA1KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsgfSB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTI1JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjbWFzdGhlYWQgLm1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSA+IC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI21hc3RoZWFkIC5tZW51IC5tZW51LWl0ZW0gLnN1Ym1lbnUgPiAubWVudS1pdGVtIGEge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNtYXN0aGVhZCAubWVudSAubWVudS1pdGVtIC5zdWJtZW51ID4gLm1lbnUtaXRlbSBhOmhvdmVyOjpiZWZvcmUsICNtYXN0aGVhZCAubWVudSAubWVudS1pdGVtIC5zdWJtZW51ID4gLm1lbnUtaXRlbSBhOmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyM2ZmZlwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IC0wLjE4NzVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC4wNjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMzc1cmVtO1xuICAgICAgICB3aWR0aDogMC4zNzVyZW07IH0gfVxuXG4jbW9kYWwtbWVudSB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogNDBweDsgfVxuICAjbW9kYWwtbWVudSAjbW9kYWwtbWVudS13cmFwIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG1hcmdpbjogMS4zMzMzM3JlbTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjbW9kYWwtbWVudSAubWFpbi1tZW51IC5tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAjbW9kYWwtbWVudSAubWFpbi1tZW51IC5tZW51LWl0ZW0gLnN1Ym1lbnUge1xuICAgICAgbWFyZ2luOiA0MHB4IDAgMCAwOyB9XG4gICAgICAjbW9kYWwtbWVudSAubWFpbi1tZW51IC5tZW51LWl0ZW0gLnN1Ym1lbnUgLm1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgI21vZGFsLW1lbnUgLm1haW4tbWVudSAubWVudS1pdGVtIC5zdWJtZW51IC5tZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jbW9kYWwtbWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjbW9kYWwtbWVudSAubWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI21vZGFsLW1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSAubWVudS1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgI21vZGFsLW1lbnUgLm1DU0JfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIC8qIE9MRCAtIEZpcmVmb3ggMTktICovXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgLyogVFdFRU5FUiAtIElFIDEwICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIC8qIE5FVyAtIENocm9tZSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogTkVXLCBPcGVyYSAxMi4xLCBGaXJlZm94IDIwKyAqL1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgICNtb2RhbC1tZW51IC5tQ1NCX2NvbnRhaW5lciAubWVudSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjpiZWZvcmUsIC5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbiNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAjbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAjbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXY6OmJlZm9yZSwgI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2OjphZnRlcixcbiAgICAjbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICBtYXJnaW46IDAuMjVyZW0gMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAjbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZTpob3ZlciBkaXY6OmJlZm9yZSwgI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGU6aG92ZXIgZGl2OjphZnRlcixcbiAgI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGU6aG92ZXIgZGl2IHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuI21hc3RoZWFkLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdjo6YmVmb3JlLCAjbWFzdGhlYWQubWVudS1vcGVuIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2OjphZnRlcixcbiNtYXN0aGVhZC5tZW51LW9wZW4gLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuI21hc3RoZWFkLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdjo6YmVmb3JlIHtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40Mzc1cmVtKSByb3RhdGUoMTM1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNDM3NXJlbSkgcm90YXRlKDEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40Mzc1cmVtKSByb3RhdGUoMTM1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40Mzc1cmVtKSByb3RhdGUoMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNDM3NXJlbSkgcm90YXRlKDEzNWRlZyk7IH1cblxuI21hc3RoZWFkLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdjo6YWZ0ZXIge1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC40Mzc1cmVtKSByb3RhdGUoLTEzNWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC40Mzc1cmVtKSByb3RhdGUoLTEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNDM3NXJlbSkgcm90YXRlKC0xMzVkZWcpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC40Mzc1cmVtKSByb3RhdGUoLTEzNWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC40Mzc1cmVtKSByb3RhdGUoLTEzNWRlZyk7IH1cblxuI21hc3RoZWFkLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdiBzcGFuIHtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG5cbiNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdiB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICB3aWR0aDogMy4xMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2IHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICB3aWR0aDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjbWFzdGhlYWQubWluaW1pemUgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgd2lkdGg6IDQuNDM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTsgfSB9XG5cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMC45Mzc1cmVtIDAgMC45Mzc1cmVtIC0wLjkzNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAtbW96LWJveC1zaGFkb3c6IC0wLjkzNzVyZW0gMCAwLjkzNzVyZW0gLTAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJveC1zaGFkb3c6IC0wLjkzNzVyZW0gMCAwLjkzNzVyZW0gLTAuOTM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSAwLjJzLCBvcGFjaXR5IDAuM3MgZWFzZSwgd2lkdGggMC41cyBlYXNlIDAuMnM7XG4gIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSAwLjJzLCBvcGFjaXR5IDAuM3MgZWFzZSwgd2lkdGggMC41cyBlYXNlIDAuMnM7XG4gIC1tcy10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlIDAuMnMsIG9wYWNpdHkgMC4zcyBlYXNlLCB3aWR0aCAwLjVzIGVhc2UgMC4ycztcbiAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSAwLjJzLCBvcGFjaXR5IDAuM3MgZWFzZSwgd2lkdGggMC41cyBlYXNlIDAuMnM7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UgMC4ycywgb3BhY2l0eSAwLjNzIGVhc2UsIHdpZHRoIDAuNXMgZWFzZSAwLjJzO1xuICB3aWR0aDogMDsgfVxuICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWVudS1vcGVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLCB3aWR0aCAwLjVzIGVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLCB3aWR0aCAwLjVzIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlIDAuMXMsIHdpZHRoIDAuNXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLCB3aWR0aCAwLjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2UgMC4xcywgd2lkdGggMC41cyBlYXNlOyB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1mcmFtZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTsgfVxuICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lci5tZW51LW9wZW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1mcmFtZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDY2cHgpO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbSAxLjI1cmVtIDEuMjVyZW07IH1cbiAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyLm1pbmltaXplIC5tZW51LWZyYW1lIHtcbiAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbSAxLjI1cmVtIDEuMzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjEyNXJlbTsgfVxuICAgICAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyLCAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWluaW1pemUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWZyYW1lIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwNnB4KTtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjYyNXJlbTsgfVxuICAgICAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyLm1lbnUtb3BlbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWluaW1pemUubWVudS1vcGVuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lci5taW5pbWl6ZSAubWVudS1mcmFtZSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAxLjI1cmVtIDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciB7XG4gICAgICB0b3A6IDUuODc1cmVtOyB9XG4gICAgICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWVudS1vcGVuLCAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWluaW1pemUubWVudS1vcGVuIHtcbiAgICAgICAgd2lkdGg6IDI5LjM3NXJlbTsgfVxuICAgICAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWZyYW1lIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDExNnB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIgLm1lbnUtZnJhbWUge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDExMXB4KTsgfVxuICAgICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lci5tZW51LW9wZW4sICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lci5taW5pbWl6ZS5tZW51LW9wZW4ge1xuICAgICAgd2lkdGg6IDMwLjYyNXJlbTsgfSB9XG5cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1pdGVtIHtcbiAgZm9udC1mYW1pbHk6IFwiU3VsbGl2YW4gRmlsbFwiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDAuOTM3NXJlbSAwO1xuICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW0gYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW0uaGFzLXN1Ym1lbnUgPiBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1pdGVtLmhhcy1zdWJtZW51IC5zdWJtZW51IHtcbiAgICBtYXJnaW46IDAgMCAwIDEuMjVyZW07IH1cbiAgICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIgLm1lbnUtaXRlbS5oYXMtc3VibWVudSAuc3VibWVudSAubWVudS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9XG4gICAgICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIgLm1lbnUtaXRlbS5oYXMtc3VibWVudSAuc3VibWVudSAubWVudS1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAgICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1pdGVtLmhhcy1zdWJtZW51IC5zdWJtZW51IC5tZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7IH1cblxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhLFxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ubWFpbi13cmFwIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tYWluLXdyYXAgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1haW4td3JhcCAubWFpbi1jb250ZW50IC5iYW5uZXIgLmdyaWQtY29udGFpbmVyIC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSk7IH0gfVxuICAgIC5tYWluLXdyYXAgLm1haW4tY29udGVudCAuY29udGVudC1iYW5kIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cblxuaW1nLCBpbWc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5pbWc6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlcjogMC4xMjVyZW0gZGFzaGVkIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbnRlbnQ6IFwiSW1hZ2Ugbm90IGZvdW5kXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IHByZTsgfVxuXG4ubWFpbi1jb250ZW50IHVsLFxuLm1haW4tY29udGVudCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1haW4tY29udGVudCB1bCBsaSxcbiAgLm1haW4tY29udGVudCBvbCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWFpbi1jb250ZW50IGltZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfSB9XG5cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNjByZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH0gfVxuICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgcCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyBwIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgICAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHAgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIC5wcml2YWN5LWxpbmtzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDA7IH1cbiAgICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgLnByaXZhY3ktbGlua3MtYmxvY2sgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0IHtcbiAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQge1xuICAgICAgICBvcmRlcjogNDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXRoaXJkIHtcbiAgICAgICAgb3JkZXI6IDM7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCxcbiAgICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kLFxuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi10aGlyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCxcbiAgICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kLFxuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi10aGlyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0IGEsXG4gICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgYSxcbiAgICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXRoaXJkIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCBhOmhvdmVyLFxuICAgICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgYTpob3ZlcixcbiAgICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tdGhpcmQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCAuZm9vdGVyLWxpbmstaGlnaGxpZ2h0IGEsXG4gICAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgLmZvb3Rlci1saW5rLWhpZ2hsaWdodCBhLFxuICAgICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tdGhpcmQgLmZvb3Rlci1saW5rLWhpZ2hsaWdodCBhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuI3NpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3N2Z3MvZm9vdGVyLWJnLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICBwYWRkaW5nOiA3LjVyZW0gMCA1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjc2l0ZS1mb290ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3NpdGUtZm9vdGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfSB9XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qXG49PSBtYWxpaHUganF1ZXJ5IGN1c3RvbSBzY3JvbGxiYXIgcGx1Z2luID09XG5QbHVnaW4gVVJJOiBodHRwOi8vbWFub3MubWFsaWh1LmdyL2pxdWVyeS1jdXN0b20tY29udGVudC1zY3JvbGxlclxuKi9cbi8qXG5DT05URU5UUzogXG5cdDEuIEJBU0lDIFNUWUxFIC0gUGx1Z2luJ3MgYmFzaWMvZXNzZW50aWFsIENTUyBwcm9wZXJ0aWVzIChub3JtYWxseSwgc2hvdWxkIG5vdCBiZSBlZGl0ZWQpLiBcblx0Mi4gVkVSVElDQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgdmVydGljYWwgc2Nyb2xsYmFyLiBcblx0My4gSE9SSVpPTlRBTCBTQ1JPTExCQVIgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiBob3Jpem9udGFsIHNjcm9sbGJhci5cblx0NC4gVkVSVElDQUwgQU5EIEhPUklaT05UQUwgU0NST0xMQkFSUyAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIDItYXhpcyBzY3JvbGxiYXJzLiBcblx0NS4gVFJBTlNJVElPTlMgLSBDU1MzIHRyYW5zaXRpb25zIGZvciBob3ZlciBldmVudHMsIGF1dG8tZXhwYW5kZWQgYW5kIGF1dG8taGlkZGVuIHNjcm9sbGJhcnMuIFxuXHQ2LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EUyBcblx0XHQ2LjEgVEhFTUVTIC0gU2Nyb2xsYmFyIGNvbG9ycywgb3BhY2l0eSwgZGltZW5zaW9ucywgYmFja2dyb3VuZHMgZXRjLiB2aWEgcmVhZHktdG8tdXNlIHRoZW1lcy5cbiovXG4vKiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMS4gQkFTSUMgU1RZTEUgIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLm1DdXN0b21TY3JvbGxiYXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICB0b3VjaC1hY3Rpb246IHBpbmNoLXpvb207XG4gIC8qIGRpcmVjdCBwb2ludGVyIGV2ZW50cyB0byBqcyAqLyB9XG5cbi5tQ3VzdG9tU2Nyb2xsYmFyLm1DU19ub19zY3JvbGxiYXIsIC5tQ3VzdG9tU2Nyb2xsYmFyLm1DU190b3VjaF9hY3Rpb24ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB0b3VjaC1hY3Rpb246IGF1dG87IH1cblxuLm1DdXN0b21TY3JvbGxCb3gge1xuICAvKiBjb250YWlucyBwbHVnaW4ncyBtYXJrdXAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLm1DU0JfY29udGFpbmVyIHtcbiAgLyogY29udGFpbnMgdGhlIG9yaWdpbmFsIGNvbnRlbnQgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMi4gVkVSVElDQUwgU0NST0xMQkFSIFxueS1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cblxuLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4ge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG4ubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xuICAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG4ubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICAvKiBjb250YWlucyBzY3JvbGxiYXIgbWFya3VwIChkcmFnZ2FibGUgZWxlbWVudCwgZHJhZ2dlciByYWlsLCBidXR0b25zIGV0Yy4pICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29scyB7XG4gIHJpZ2h0OiAtMjZweDsgfVxuXG4vKiBzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy1kaXItcnRsID4gLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29scyB7XG4gIGxlZnQ6IC0yNnB4OyB9XG5cbi8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAoc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlKSAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lciB7XG4gIC8qIGNvbnRhaW5zIHRoZSBkcmFnZ2FibGUgZWxlbWVudCBhbmQgZHJhZ2dlciByYWlsIG1hcmt1cCAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIGEgKyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIHtcbiAgLyogdGhlIGRyYWdnYWJsZSBlbGVtZW50ICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgLyogbWluaW11bSBkcmFnZ2VyIGhlaWdodCAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICAvKiB0aGUgZHJhZ2dlciBlbGVtZW50ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMnB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDhweDtcbiAgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBib3R0b206IDA7IH1cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjMuIEhPUklaT05UQUwgU0NST0xMQkFSIFxueC1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5tQ1NCX2hvcml6b250YWwubUNTQl9vdXRzaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4ubUNTQl9ob3Jpem9udGFsID4gLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIG5vbi12aXNpYmxlIHNjcm9sbGJhciAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTZweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3ggKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogLTI2cHg7IH1cblxuLyogc2Nyb2xsYmFyIHBvc2l0aW9uOiBvdXRzaWRlICovXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBtYXJnaW46IDAgMjBweDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbjogN3B4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogMzBweDtcbiAgLyogbWluaW11bSBkcmFnZ2VyIHdpZHRoICovXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA2cHggYXV0bzsgfVxuXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDEycHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogMnB4IGF1dG87IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiA4cHg7XG4gIC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogNHB4IDA7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25MZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICByaWdodDogMDsgfVxuXG4vKiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNC4gVkVSVElDQUwgQU5EIEhPUklaT05UQUwgU0NST0xMQkFSUyBcbnl4LWF4aXMgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIgPiAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBib3R0b206IDIwcHg7IH1cblxuLm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIHJpZ2h0OiAyMHB4OyB9XG5cbi8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBub24tdmlzaWJsZSB2ZXJ0aWNhbCBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICByaWdodDogMDsgfVxuXG4vKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGxlZnQ6IDIwcHg7IH1cblxuLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyL1JUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuLm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzIH4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgbGVmdDogMDsgfVxuXG4ubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlciB7XG4gIC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG5cbi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gPiAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4gPiAubUNTQl9jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cbi5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG41LiBUUkFOU0lUSU9OUyAgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubUNTQl9zY3JvbGxUb29scyxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWwge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCAgbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsICBtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycywgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCAgbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsICBtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycywgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycywgIG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCAgbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsIG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsICBtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgIG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLCBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjYuIFNDUk9MTEJBUiBDT0xPUlMsIE9QQUNJVFkgQU5EIEJBQ0tHUk9VTkRTICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIFxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDYuMSBUSEVNRVMgXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ki9cbi8qIGRlZmF1bHQgdGhlbWUgKFwibGlnaHRcIikgKi9cbi5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgb3BhY2l0eTogMC43NTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgfVxuXG4ubUNTLWF1dG9IaWRlID4gLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtYXV0b0hpZGUgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7IH1cblxuLm1DdXN0b21TY3JvbGxiYXIgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnLFxuLm1DdXN0b21TY3JvbGxiYXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnLFxuLm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgPiAubUNTQl9zY3JvbGxUb29scyxcbi5tQ3VzdG9tU2Nyb2xsQm94OmhvdmVyIH4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLWF1dG9IaWRlOmhvdmVyID4gLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtYXV0b0hpZGU6aG92ZXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MTAwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MTAwKVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTg1KVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChtQ1NCX2J1dHRvbnMucG5nKTtcbiAgLyogY3NzIHNwcml0ZXMgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3BhY2l0eTogMC40O1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAvKiBcblx0XHRzcHJpdGVzIGxvY2F0aW9ucyBcblx0XHRsaWdodDogMCAwLCAtMTZweCAwLCAtMzJweCAwLCAtNDhweCAwLCAwIC03MnB4LCAtMTZweCAtNzJweCwgLTMycHggLTcycHhcblx0XHRkYXJrOiAtODBweCAwLCAtOTZweCAwLCAtMTEycHggMCwgLTEyOHB4IDAsIC04MHB4IC03MnB4LCAtOTZweCAtNzJweCwgLTExMnB4IC03MnB4XG5cdFx0Ki8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjBweDtcbiAgLyogXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnNcblx0XHRsaWdodDogMCAtMjBweCwgLTE2cHggLTIwcHgsIC0zMnB4IC0yMHB4LCAtNDhweCAtMjBweCwgMCAtOTJweCwgLTE2cHggLTkycHgsIC0zMnB4IC05MnB4XG5cdFx0ZGFyazogLTgwcHggLTIwcHgsIC05NnB4IC0yMHB4LCAtMTEycHggLTIwcHgsIC0xMjhweCAtMjBweCwgLTgwcHggLTkycHgsIC05NnB4IC05MnB4LCAtMTEyIC05MnB4XG5cdFx0Ki8gfVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDBweDtcbiAgLyogXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnMgXG5cdFx0bGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxuXHRcdGRhcms6IC04MHB4IC00MHB4LCAtMTAwcHggLTQwcHgsIC0xMjBweCAtNDBweCwgLTE0MHB4IC00MHB4LCAtODBweCAtMTEycHgsIC0xMDBweCAtMTEycHgsIC0xMjBweCAtMTEycHhcblx0XHQqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTZweDtcbiAgLyogXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnMgXG5cdFx0bGlnaHQ6IDAgLTU2cHgsIC0yMHB4IC01NnB4LCAtNDBweCAtNTZweCwgLTYwcHggLTU2cHgsIDAgLTEyOHB4LCAtMjBweCAtMTI4cHgsIC00MHB4IC0xMjhweFxuXHRcdGRhcms6IC04MHB4IC01NnB4LCAtMTAwcHggLTU2cHgsIC0xMjBweCAtNTZweCwgLTE0MHB4IC01NnB4LCAtODBweCAtMTI4cHgsIC0xMDBweCAtMTI4cHgsIC0xMjBweCAtMTI4cHhcblx0XHQqLyB9XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwOmhvdmVyLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjpob3Zlcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQ6aG92ZXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IH1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6YWN0aXZlLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjphY3RpdmUsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0OmFjdGl2ZSxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjsgfVxuXG4vKiB0aGVtZTogXCJkYXJrXCIgKi9cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMHB4OyB9XG5cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDBweDsgfVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcImxpZ2h0LTJcIiwgXCJkYXJrLTJcIiAqL1xuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMXB4O1xuICBib3JkZXItcmFkaXVzOiAxcHg7IH1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBtYXJnaW46IDZweCBhdXRvOyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwcHg7IH1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC00MHB4OyB9XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTU2cHg7IH1cblxuLyogdGhlbWU6IFwiZGFyay0yXCIgKi9cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpOyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTIwcHg7IH1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00MHB4OyB9XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTU2cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWU6IFwibGlnaHQtdGhpY2tcIiwgXCJkYXJrLXRoaWNrXCIgKi9cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogNnB4IDA7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiA1cHggYXV0bzsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwcHg7IH1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtNDBweDsgfVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtNTZweDsgfVxuXG4vKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMjBweDsgfVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4OyB9XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcImxpZ2h0LXRoaW5cIiwgXCJkYXJrLXRoaW5cIiAqL1xuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cblxuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAycHg7IH1cblxuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW46IDdweCBhdXRvOyB9XG5cbi8qIHRoZW1lIFwiZGFyay10aGluXCIgKi9cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwcHg7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7IH1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC01NnB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lIFwicm91bmRlZFwiLCBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90c1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIge1xuICBoZWlnaHQ6IDE0cHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDE0cHg7XG4gIG1hcmdpbjogMCAxcHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogMTRweDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAxcHggMDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxNnB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbjogLTFweCAwOyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi8gfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgaGVpZ2h0OiAxNnB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luOiAwIC0xcHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGhlaWdodDogNHB4O1xuICAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICBtYXJnaW46IDZweCAwOyB9XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTJweDsgfVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTcycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTkycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJyb3VuZGVkLWRvdHNcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTkVsRVFWUVlWMk5rSUFBWWlWYncvLzkvWTZEaU0xQU5Kb3lNakdkQmJMZ0pRQVgva1UwREtnRExrYVFBdnhXNEhFdlFGd0NSY3hJSksxWHpuQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBvcGFjaXR5OiAwLjM7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luOiA2cHggMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNzJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTJweDsgfVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTEycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBSUNBWUFBQURFRDc2TEFBQUFMRWxFUVZRWVYyTmtJQUFZU1ZGZ0RGUjhCcXJCQkVpZkJiR1JUZmlQWmhwWWppUUZCSzNBNmw2Q3ZnQUFFOWtHQ2QxbXZnRUFBQUFBU1VWT1JLNUNZSUk9XCIpOyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC03MnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTkycHg7IH1cblxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTExMnB4OyB9XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtMTI4cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCIzZFwiLCBcIjNkLWRhcmtcIiwgXCIzZC10aGlja1wiLCBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpOyB9XG5cbi8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIgKi9cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlciB7XG4gIGhlaWdodDogNzBweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIHtcbiAgd2lkdGg6IDcwcHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAxO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuNSksIGluc2V0IC0xcHggMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDhweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogNHB4IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSksIGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogNHB4IGF1dG87IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDsgfVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCIzZC1kYXJrXCIgKi9cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7IH1cblxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcIjNkLXRoaWNrXCIsIFwiM2QtdGhpY2stZGFya1wiICovXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDdweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDdweDsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4ubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIHJpZ2h0OiAxcHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgYm90dG9tOiAxcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgd2lkdGg6IDEycHg7XG4gIG1hcmdpbjogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTsgfVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lOiBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTRweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIGluc2V0IC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3OyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWU6IFwibWluaW1hbFwiLCBcIm1pbmltYWwtZGFya1wiICovXG4ubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDEycHggMDsgfVxuXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcbi5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsICsgLm1DU0Jfc2Nyb2xsVG9vbHMgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbC1kYXJrICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IDAgMTJweDsgfVxuXG4vKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCxcbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlciB7XG4gIGhlaWdodDogNTBweDsgfVxuXG4ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciB7XG4gIHdpZHRoOiA1MHB4OyB9XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IH1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IH1cblxuLyogdGhlbWU6IFwibWluaW1hbC1kYXJrXCIgKi9cbi5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgfVxuXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCJsaWdodC0zXCIsIFwiZGFyay0zXCIgKi9cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDZweDsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTJweDsgfVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDJweCAwOyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4OyB9XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblxuLyogdGhlbWUgXCJkYXJrLTNcIiAqL1xuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpOyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCJpbnNldFwiLCBcImluc2V0LWRhcmtcIiwgXCJpbnNldC0yXCIsIFwiaW5zZXQtMi1kYXJrXCIsIFwiaW5zZXQtM1wiLCBcImluc2V0LTMtZGFya1wiICovXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogNnB4O1xuICBtYXJnaW46IDNweCA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiA1cHggM3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDJweCAwOyB9XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDsgfVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDsgfVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cbi8qIHRoZW1lIFwiaW5zZXQtZGFya1wiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTMtZGFya1wiICovXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXG4vKiB0aGVtZSBcImluc2V0LTJcIiwgXCJpbnNldC0yLWRhcmtcIiAqL1xuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKiB0aGVtZSBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7IH1cblxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsgfVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTsgfVxuXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cblxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLCAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAtNTRweDsgfVxuICAubWZwLWFycm93OmhvdmVyLCAubWZwLWFycm93OmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgIHRvcDogOHB4OyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI2ZmZjtcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxuICAubWZwLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWFycm93LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI2ZmZjtcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4ubWZwLWZpZ3VyZSB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZ3JvdW5kOiAjNDQ0OyB9XG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cbiAgLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNmZmY7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxuXG4ubWZwLXdpdGgtem9vbSAubWZwLWNvbnRhaW5lcixcbi5tZnAtd2l0aC16b29tLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5tZnAtd2l0aC16b29tLm1mcC1yZWFkeSAubWZwLWNvbnRhaW5lciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLXdpdGgtem9vbS5tZnAtcmVtb3ZpbmcgLm1mcC1jb250YWluZXIsXG4ubWZwLXdpdGgtem9vbS5tZnAtcmVtb3ZpbmcubWZwLWJnIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uYnV0dG9uLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5idXR0b24sIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayxcbiAgLmJ1dHRvbiBwLFxuICAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgcCxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5idXR0b246aG92ZXIsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbjphY3RpdmUsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmJ1dHRvbiAubWFpbi10ZXh0LCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dCxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAubWFpbi10ZXh0IHtcbiAgICBmb250LWZhbWlseTogXCJTdWxsaXZhbiBGaWxsXCI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5idXR0b24gLm1haW4tdGV4dCBzcGFuLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dCBzcGFuLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gLm1haW4tdGV4dCBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5idXR0b24gLm1haW4tdGV4dDo6YmVmb3JlLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dDo6YmVmb3JlLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gLm1haW4tdGV4dDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTIuNDkyXCIgaGVpZ2h0PVwiMTIuNzI2XCIgdmlld0JveD1cIjAgMCAxMi40OTIgMTIuNzI2XCI+PGcgaWQ9XCJHcm91cF8zOVwiIGRhdGEtbmFtZT1cIkdyb3VwIDM5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MDcuNDM1IDIxNi4xNTcpXCI+PGcgaWQ9XCJHcm91cF8yN1wiIGRhdGEtbmFtZT1cIkdyb3VwIDI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwNy40MzUgLTIxNi4xNTgpXCI+PHBhdGggaWQ9XCJQYXRoXzI4XCIgZGF0YS1uYW1lPVwiUGF0aCAyOFwiIGQ9XCJNNzcuMjIyLDBWMTIuNzI2TDg5LjcxNCw2LjM2M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTc3LjIyMilcIiBmaWxsPVwiJTIzMDAwXCIvPjwvZz48L2c+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDAuODEyNXJlbTtcbiAgICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgICB0b3A6IDAuNDM3NXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgXG4gIC5idXR0b24gcCxcbiAgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIHAsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAuYnV0dG9uIC5tYWluLXRleHQsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0LFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIC5tYWluLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24gLm1haW4tdGV4dCwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAubWFpbi10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuICAuYnV0dG9uLmMyYS1idG4sIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmMyYS1idG4ge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gICAgY29sb3I6ICNDRDI5Mjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDsgfVxuICAgIC5idXR0b24uYzJhLWJ0bjpob3ZlciwgLmVkaXQtbGluayBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5idXR0b24uYzJhLWJ0bjpmb2N1cywgLmVkaXQtbGluayBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbms6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYzJhLWJ0bjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5idXR0b24uYzJhLWJ0bjpob3ZlciAubWFpbi10ZXh0IHNwYW4sIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rOmhvdmVyIC5tYWluLXRleHQgc3BhbiwgLmJ1dHRvbi5jMmEtYnRuOmZvY3VzIC5tYWluLXRleHQgc3BhbiwgLmVkaXQtbGluayBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbms6Zm9jdXMgLm1haW4tdGV4dCBzcGFuLFxuICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuOmhvdmVyIC5tYWluLXRleHQgc3BhbixcbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYzJhLWJ0bjpmb2N1cyAubWFpbi10ZXh0IHNwYW4ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjQ0QyOTI5OyB9XG5cbi5idG4tZ3JvdXAgLmJ1dHRvbiwgLmJ0bi1ncm91cCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgLmJ0bi1ncm91cCBhLnBvc3QtZWRpdC1saW5rIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5idG4tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnRuLWdyb3VwIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAuZWRpdC1saW5rIC5idG4tZ3JvdXAgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTEgLmNhbGxvdXQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTEgLmNhbGxvdXQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTsgfVxuXG4uZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQsIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQ6Zmlyc3QtY2hpbGQsIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dDpmaXJzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dDpmaXJzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQ6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0zIC5jYWxsb3V0Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQ6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cyAuY2FsbG91dCAuY2FsbG91dC1mcmFtZSwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cyAuY2FsbG91dCAuY2FsbG91dC1mcmFtZSB7XG4gIHBhZGRpbmctYm90dG9tOiAzNy41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICAgIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMSAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMSAuY2FsbG91dCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtKTsgfVxuICAgIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cyAuY2FsbG91dCAuY2FsbG91dC1mcmFtZSwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cyAuY2FsbG91dCAuY2FsbG91dC1mcmFtZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjYuNyU7IH0gfVxuXG4udGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4udGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuY2FsbG91dC1jb2xzLTEgLmNhbGxvdXQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTsgfVxuXG4udGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dDpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuY2FsbG91dC1jb2xzLTMgLmNhbGxvdXQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FsbG91dC1ibG9ja3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvcjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHRvcDogLTAuNXJlbTsgfVxuICAgICAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogdXJsKC4uL3N2Z3MvYm90dG9tLXdoaXRlLW5vdGNoLXNoYXBlLnN2Zyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBib3R0b206IC0wLjVyZW07IH1cbiAgICAgIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIGE6aG92ZXIgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjQ0QyOTI5OyB9XG4gICAgICAgICAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIGE6aG92ZXIgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIGltZyB7XG4gICAgICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTsgfVxuICAgICAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5jYWxsb3V0LWltYWdlLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sgLmNhbGxvdXQtYmxvY2staW50ZXJpb3IgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIC5jYWxsb3V0LWhlYWRpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMS41NjI1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5jYWxsb3V0LWltYWdlLWhvbGRlciAuY2FsbG91dC1oZWFkaW5nIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjA2MjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3VsbGl2YW4gRmlsbFwiO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cblxuLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogNi4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mZWF0dXJlZC1oZXJvIHtcbiAgICAgIGhlaWdodDogMTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVybyB7XG4gICAgICBoZWlnaHQ6IDI1cmVtOyB9IH1cblxuLmRvdHRlZCwgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICBtYXJnaW46IDJyZW0gMDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uam9iLWxpc3RpbmdzLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICAuam9iLWxpc3RpbmdzLWJsb2NrIC5zaW5nbGUtam9iLWxpc3RpbmctY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAuam9iLWxpc3RpbmdzLWJsb2NrIC5zaW5nbGUtam9iLWxpc3RpbmctY2FyZCAuam9iLWxpc3RpbmctY2FyZC1pbnRlcmlvciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgICAgIC5qb2ItbGlzdGluZ3MtYmxvY2sgLnNpbmdsZS1qb2ItbGlzdGluZy1jYXJkIC5qb2ItbGlzdGluZy1jYXJkLWludGVyaW9yIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLmpvYi1saXN0aW5ncy1ibG9jayAuc2luZ2xlLWpvYi1saXN0aW5nLWNhcmQgLmpvYi1saXN0aW5nLWNhcmQtaW50ZXJpb3IgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmpvYi1saXN0aW5ncy1ibG9jayAuc2luZ2xlLWpvYi1saXN0aW5nLWNhcmQgLmpvYi1saXN0aW5nLWNhcmQtaW50ZXJpb3IgLmJ1dHRvbiwgLmpvYi1saXN0aW5ncy1ibG9jayAuc2luZ2xlLWpvYi1saXN0aW5nLWNhcmQgLmpvYi1saXN0aW5nLWNhcmQtaW50ZXJpb3IgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIC5qb2ItbGlzdGluZ3MtYmxvY2sgLnNpbmdsZS1qb2ItbGlzdGluZy1jYXJkIC5qb2ItbGlzdGluZy1jYXJkLWludGVyaW9yIGEucG9zdC1lZGl0LWxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5qb2ItbGlzdGluZ3MtYmxvY2sgLnNpbmdsZS1qb2ItbGlzdGluZy1jYXJkIC5qb2ItbGlzdGluZy1jYXJkLWludGVyaW9yIC5sb2NhdGlvbi1hbmQtam9iLXN0YXR1cyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5qb2ItbGlzdGluZ3MtYmxvY2sgLnNpbmdsZS1qb2ItbGlzdGluZy1jYXJkIC5qb2ItbGlzdGluZy1jYXJkLWludGVyaW9yIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU3VsbGl2YW4gRmlsbFwiO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLnJldmVhbCAubW9kYWwtY29udGVudC5hcHBseS1mb3Itd29yay1tb2RhbCB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHJnYmEoMTYzLCAxNjMsIDE2MywgMC4yNSk7XG4gICAgY29sb3I6ICM0ZTRlNGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMXJlbTsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjMxMjVyZW0gc29saWQgIzRlNGU0ZTtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjMxMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMzEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtMC4xODc1cmVtO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCByZ2JhKDE2MywgMTYzLCAxNjMsIDAuNSk7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjE4NzVyZW07IH1cblxuLmx0LWdyYXktYmcgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbi5sdC1ncmF5LWJnIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg3OCwgNzgsIDc4LCAwLjI1KTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSg3OCwgNzgsIDc4LCAwLjc1KTsgfVxuXG4ubHQtZ3JheS1iZyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmx0LWdyYXktYmcgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tOiAwLjMxMjVyZW0gc29saWQgI2ZmZjtcbiAgICBib3JkZXItbGVmdDogMC4zMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogMC4zMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbmJsb2NrcXVvdGUge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmJlZm9yZSwgYmxvY2txdW90ZSAucXVvdGUtdGV4dDphZnRlciB7XG4gICAgICBjb2xvcjogI2U5Yzg5MztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDFDJzsgfVxuICAgIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMjAxRCc7IH1cblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgMCAwIDEuODc1cmVtOyB9XG4gIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlLCBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07IH1cbiAgYmxvY2txdW90ZSAucXVvdGUtdGV4dDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07IH1cbiAgICBibG9ja3F1b3RlIC5xdW90ZS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlLCBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjg3NXJlbTsgfVxuICAgICAgYmxvY2txdW90ZSAucXVvdGUtdGV4dDpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07IH1cbiAgICBibG9ja3F1b3RlIC5xdW90ZS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgICBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmJlZm9yZSwgYmxvY2txdW90ZSAucXVvdGUtdGV4dDphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4xMjVyZW07IH1cbiAgICAgIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG5cbi5tZC1ncmF5LWJnIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICBjb2xvcjogIzAwMDsgfVxuICAubWQtZ3JheS1iZyBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmJlZm9yZSwgLm1kLWdyYXktYmcgYmxvY2txdW90ZSAucXVvdGUtdGV4dDphZnRlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLm1kLWdyYXktYmcgYmxvY2txdW90ZSBjaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJsYWNrLWJnIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uc3RhZmYtbWVtYmVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLXBvc2l0aW9uIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zdGFmZi1tZW1iZXJzIC5zdGFmZi1tZW1iZXItY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLW1lbWJlci1jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5zdGFmZi1tZW1iZXJzIC5zdGFmZi1tZW1iZXItY2FyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuc3RhZmYtbWVtYmVycyAuc3RhZmYtbWVtYmVyLWNhcmQgLnN0YWZmLW1lbWJlci1jYXJkLXRleHQtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMS4yNXJlbTsgfVxuICAgICAgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLW1lbWJlci1jYXJkIC5zdGFmZi1tZW1iZXItY2FyZC10ZXh0LWNvbnRlbnQgLmJ1dHRvbiwgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLW1lbWJlci1jYXJkIC5zdGFmZi1tZW1iZXItY2FyZC10ZXh0LWNvbnRlbnQgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIC5zdGFmZi1tZW1iZXJzIC5zdGFmZi1tZW1iZXItY2FyZCAuc3RhZmYtbWVtYmVyLWNhcmQtdGV4dC1jb250ZW50IGEucG9zdC1lZGl0LWxpbmsge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLW1lbWJlci1jYXJkIC5zdGFmZi1tZW1iZXItY2FyZC10ZXh0LWNvbnRlbnQgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuc3RhZmYtbWVtYmVycyAuc3RhZmYtbWVtYmVyLWNhcmQgLnN0YWZmLW1lbWJlci1jYXJkLWludGVyaW9yIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLW1lbWJlci1jYXJkIC5zdGFmZi1tZW1iZXItY2FyZC1pbnRlcmlvcjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHRvcDogLTAuNXJlbTsgfVxuICAgICAgLnN0YWZmLW1lbWJlcnMgLnN0YWZmLW1lbWJlci1jYXJkIC5zdGFmZi1tZW1iZXItY2FyZC1pbnRlcmlvcjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS1ncmF5LW5vdGNoLXNoYXBlLnN2Zyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBib3R0b206IC0wLjVyZW07IH1cbiAgICAgIC5zdGFmZi1tZW1iZXJzIC5zdGFmZi1tZW1iZXItY2FyZCAuc3RhZmYtbWVtYmVyLWNhcmQtaW50ZXJpb3IgLnN0YWZmLW1lbWJlci1jYXJkLWltYWdlLWhvbGRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuc3RhZmYtbWVtYmVycyAuc3RhZmYtbWVtYmVyLWNhcmQgLnN0YWZmLW1lbWJlci1jYXJkLWludGVyaW9yIC5zdGFmZi1tZW1iZXItY2FyZC1pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuXG4ucmV2ZWFsIC5tb2RhbC1jb250ZW50LnN0YWZmLWJpby1kZXRhaWxzIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAucmV2ZWFsIC5tb2RhbC1jb250ZW50LnN0YWZmLWJpby1kZXRhaWxzIC5zdGFmZi1wb3NpdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucmV2ZWFsIC5tb2RhbC1jb250ZW50LnN0YWZmLWJpby1kZXRhaWxzIGltZyB7XG4gICAgbWF4LWhlaWdodDogMzUwcHg7IH1cblxuLnByb2plY3QtbGlzdGluZ3MtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgLnByb2plY3QtbGlzdGluZ3MtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2plY3QtbGlzdGluZ3MtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2plY3QtbGlzdGluZ3MtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucHJvamVjdC1saXN0aW5ncy1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYXJkIGEgcCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5wcm9qZWN0LWxpc3RpbmdzLWdyaWQgLnNpbmdsZS1wcm9qZWN0LWNhcmQgYTpob3ZlciBoMyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5wcm9qZWN0LWxpc3RpbmdzLWdyaWQgLnNpbmdsZS1wcm9qZWN0LWNhcmQgLnNpbmdsZS1wcm9qZWN0LWNhcmQtaW50ZXJpb3Ige1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucHJvamVjdC1saXN0aW5ncy1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYXJkIC5zaW5nbGUtcHJvamVjdC1jYXJkLWludGVyaW9yOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgdG9wOiAtMC41cmVtOyB9XG4gICAgICAucHJvamVjdC1saXN0aW5ncy1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYXJkIC5zaW5nbGUtcHJvamVjdC1jYXJkLWludGVyaW9yOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogdXJsKC4uL3N2Z3MvYm90dG9tLWdyYXktbm90Y2gtc2hhcGUuc3ZnKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGJvdHRvbTogLTAuNXJlbTsgfVxuICAgICAgLnByb2plY3QtbGlzdGluZ3MtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FyZCAuc2luZ2xlLXByb2plY3QtY2FyZC1pbnRlcmlvciAuc2luZ2xlLXByb2plY3QtY2FyZC1pbWFnZS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnByb2plY3QtbGlzdGluZ3MtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FyZCAuc2luZ2xlLXByb2plY3QtY2FyZC1pbnRlcmlvciAuc2luZ2xlLXByb2plY3QtY2FyZC1pbWFnZS1ob2xkZXIgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wcm9qZWN0LWxpc3RpbmdzLWdyaWQgLnNpbmdsZS1wcm9qZWN0LWNhcmQgLnNpbmdsZS1wcm9qZWN0LWNhcmQtdGV4dC1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9XG4gICAgICAucHJvamVjdC1saXN0aW5ncy1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYXJkIC5zaW5nbGUtcHJvamVjdC1jYXJkLXRleHQtY29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLnByb2plY3QtbGlzdGluZ3MtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FyZCAuc2luZ2xlLXByb2plY3QtY2FyZC10ZXh0LWNvbnRlbnQgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4uc2VydmljZS1jYXJkcy1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgLnNlcnZpY2UtY2FyZHMtYmxvY2sgLnNpbmdsZS1zZXJ2aWNlLWNhcmQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWNhcmRzLWJsb2NrIC5zaW5nbGUtc2VydmljZS1jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5zZXJ2aWNlLWNhcmRzLWJsb2NrIC5zaW5nbGUtc2VydmljZS1jYXJkIC5zZXJ2aWNlLWNhcmQtdGV4dC1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9XG4gICAgICAuc2VydmljZS1jYXJkcy1ibG9jayAuc2luZ2xlLXNlcnZpY2UtY2FyZCAuc2VydmljZS1jYXJkLXRleHQtY29udGVudCBoNSB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2VydmljZS1jYXJkcy1ibG9jayAuc2luZ2xlLXNlcnZpY2UtY2FyZCAuc2VydmljZS1jYXJkLWludGVyaW9yIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNlcnZpY2UtY2FyZHMtYmxvY2sgLnNpbmdsZS1zZXJ2aWNlLWNhcmQgLnNlcnZpY2UtY2FyZC1pbnRlcmlvcjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHRvcDogLTAuNXJlbTsgfVxuICAgICAgLnNlcnZpY2UtY2FyZHMtYmxvY2sgLnNpbmdsZS1zZXJ2aWNlLWNhcmQgLnNlcnZpY2UtY2FyZC1pbnRlcmlvcjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS1ncmF5LW5vdGNoLXNoYXBlLnN2Zyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBib3R0b206IC0wLjVyZW07IH1cbiAgICAgIC5zZXJ2aWNlLWNhcmRzLWJsb2NrIC5zaW5nbGUtc2VydmljZS1jYXJkIC5zZXJ2aWNlLWNhcmQtaW50ZXJpb3IgLnNlcnZpY2UtY2FyZC1pbWFnZS1ob2xkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnNlcnZpY2UtY2FyZHMtYmxvY2sgLnNpbmdsZS1zZXJ2aWNlLWNhcmQgLnNlcnZpY2UtY2FyZC1pbnRlcmlvciAuc2VydmljZS1jYXJkLWltYWdlLWhvbGRlciBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5zZXJ2aWNlLWNhcmRzLWJsb2NrIC5zaW5nbGUtc2VydmljZS1jYXJkIC5zZXJ2aWNlLWNhcmQtaW50ZXJpb3IgLnNlcnZpY2UtY2FyZC1pbWFnZS1ob2xkZXIgLnNlcnZpY2UtY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5zZXJ2aWNlLWNhcmRzLWJsb2NrIC5zaW5nbGUtc2VydmljZS1jYXJkIC5zZXJ2aWNlLWNhcmQtaW50ZXJpb3IgLnNlcnZpY2UtY2FyZC1pbWFnZS1ob2xkZXIgLnNlcnZpY2UtY2FyZC1oZWFkaW5nIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMDYyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTdWxsaXZhbiBGaWxsXCI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuXG4uc29jaWFsLW1lZGlhLWxpbmtzLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuc29jaWFsLW1lZGlhLWxpbmtzLWJsb2NrIGEge1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNvY2lhbC1tZWRpYS1saW5rcy1ibG9jayBhIHtcbiAgICAgICAgd2lkdGg6IDIuODEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07IH0gfVxuICAgIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYSBzdmcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc29jaWFsLW1lZGlhLWxpbmtzLWJsb2NrIGEuZmFjZWJvb2ssIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS5pbnN0YWdyYW0sIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS55b3V0dWJlLCAuc29jaWFsLW1lZGlhLWxpbmtzLWJsb2NrIGEudHdpdHRlciwgLnNvY2lhbC1tZWRpYS1saW5rcy1ibG9jayBhLmxpbmtlZGluIHtcbiAgICAgIGZpbGw6ICMwMDA7IH1cbiAgICAgIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS5mYWNlYm9vazpob3ZlciA+IHN2ZyxcbiAgICAgIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS5mYWNlYm9vazpmb2N1cyA+IHN2ZywgLnNvY2lhbC1tZWRpYS1saW5rcy1ibG9jayBhLmluc3RhZ3JhbTpob3ZlciA+IHN2ZyxcbiAgICAgIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS5pbnN0YWdyYW06Zm9jdXMgPiBzdmcsIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS55b3V0dWJlOmhvdmVyID4gc3ZnLFxuICAgICAgLnNvY2lhbC1tZWRpYS1saW5rcy1ibG9jayBhLnlvdXR1YmU6Zm9jdXMgPiBzdmcsIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS50d2l0dGVyOmhvdmVyID4gc3ZnLFxuICAgICAgLnNvY2lhbC1tZWRpYS1saW5rcy1ibG9jayBhLnR3aXR0ZXI6Zm9jdXMgPiBzdmcsIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS5saW5rZWRpbjpob3ZlciA+IHN2ZyxcbiAgICAgIC5zb2NpYWwtbWVkaWEtbGlua3MtYmxvY2sgYS5saW5rZWRpbjpmb2N1cyA+IHN2ZyB7XG4gICAgICAgIGZpbGw6ICNDRDI5Mjk7IH1cblxuLmltZy1nYWxsZXJ5LWl0ZW0gYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbWctZ2FsbGVyeS1sb2dvLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbWctZ2FsbGVyeS1sb2dvLWJsb2NrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbWctZ2FsbGVyeS1sb2dvLWJsb2NrIGE6aG92ZXIgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gYSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG4gIC5zdGQtYmxvY2stZ3JpZCAuaW1nLWdhbGxlcnktaXRlbSBhIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uaW1nLWdhbGxlcnktaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5sYXJnZS11cC01IC5pbWctZ2FsbGVyeS1pdGVtLCAubGFyZ2UtdXAtNiAuaW1nLWdhbGxlcnktaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zdGQtYmxvY2stZ3JpZCAuaW1nLWdhbGxlcnktaXRlbSBhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuICAuaW1nLWdhbGxlcnktaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAubGFyZ2UtdXAtNSAuaW1nLWdhbGxlcnktaXRlbSwgLmxhcmdlLXVwLTYgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmxhcmdlLXVwLTUgLmltZy1nYWxsZXJ5LWl0ZW0sIC5sYXJnZS11cC02IC5pbWctZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbi5zdGQtYmxvY2stZ3JpZCAuaW1nLWdhbGxlcnktaXRlbSBpbWcubGFuZHNjYXBlLWltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfVxuXG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gaW1nLnBvcnRyYWl0LWltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfVxuXG4uY2FsbG91dC1tb2RhbC5yZXZlYWwge1xuICBwYWRkaW5nOiAzLjEyNXJlbTsgfVxuICAuY2FsbG91dC1tb2RhbC5yZXZlYWwgcDpsYXN0LWNoaWxkLCAuY2FsbG91dC1tb2RhbC5yZXZlYWwgdWw6bGFzdC1jaGlsZCwgLmNhbGxvdXQtbW9kYWwucmV2ZWFsIG9sOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQtbW9kYWwucmV2ZWFsIC5jYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jYWxsb3V0IC5zY2FsZWQtaW1hZ2UgaW1nIHtcbiAgbWF4LWhlaWdodDogMjEuODc1cmVtOyB9XG5cbi5jYWxsb3V0IC5kZXNpZ25hdGlvbnMge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuXG4uY2FsbG91dCAudGl0bGUtdGV4dCwgLmNhbGxvdXQgLmRlc2lnbmF0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uY2FsbG91dCAuY2FsbG91dC10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLmNhbGxvdXQgLmNhbGxvdXQtdGV4dCAubWFpbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jYWxsb3V0IC5jYWxsb3V0LXRleHQgLm1haW4tdGV4dDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuXG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLmNhcHRpb24sIC5jYWxsb3V0LW1vZGFsIC5jYXB0aW9uIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5jYWxsb3V0LW1vZGFsIC5kZXNpZ25hdGlvbnMge1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2FsbG91dCAuc2NhbGVkLWltYWdlIGltZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuY2FsbG91dCAuZGVzaWduYXRpb25zIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY2FsbG91dCAuY2FsbG91dC10ZXh0IHtcbiAgICBwYWRkaW5nOiAxMi41cHggMDsgfVxuICAgIC5jYWxsb3V0IC5jYWxsb3V0LXRleHQgLm1haW4tdGV4dCB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIC5jYWxsb3V0LW1vZGFsIC5kZXNpZ25hdGlvbnMge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2FsbG91dC1tb2RhbCAuZGVzaWduYXRpb25zIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IGEuc2NhbGVkLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDsgfVxuICAubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgYS5zY2FsZWQtaW1hZ2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLnNjYWxlZC1pbWFnZSAuaW1nLXdyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTA2MzYzO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IC5zY2FsZWQtaW1hZ2UgLmltZy13cmFwLCAubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLnNjYWxlZC1pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IGEubWFpbi10ZXh0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogMCUgMTAwJTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4zcyBlYXNlOyB9XG4gIC5tb2RhbC1jYWxsb3V0cyAuY2FsbG91dCBhLm1haW4tdGV4dDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cblxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IC5jYXB0aW9uLCAubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLnNtLWJ0bnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLmNhcHRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5zaW5nbGUtcHJvamVjdC10b3Atc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5zaW5nbGUtcHJvamVjdC10b3Atc2VjdGlvbiBoMiwgLnNpbmdsZS1wcm9qZWN0LXRvcC1zZWN0aW9uIGgzLCAuc2luZ2xlLXByb2plY3QtdG9wLXNlY3Rpb24gaDQsIC5zaW5nbGUtcHJvamVjdC10b3Atc2VjdGlvbiBoNSwgLnNpbmdsZS1wcm9qZWN0LXRvcC1zZWN0aW9uIGg2LCAuc2luZ2xlLXByb2plY3QtdG9wLXNlY3Rpb24gLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLnNpbmdsZS1wcm9qZWN0LXRvcC1zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAjQ0QyOTI5OyB9XG4gIC5zaW5nbGUtcHJvamVjdC10b3Atc2VjdGlvbiBwLCAuc2luZ2xlLXByb2plY3QtdG9wLXNlY3Rpb24gdWwsIC5zaW5nbGUtcHJvamVjdC10b3Atc2VjdGlvbiBvbCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnNpbmdsZS1wcm9qZWN0LWJvdHRvbS1zZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDMuNDM3NXJlbTsgfVxuXG4uc2luZ2xlLXByb2plY3QtY29udGFjdC1jYWxsb3V0LXNlY3Rpb24ge1xuICBwYWRkaW5nOiAzLjQzNzVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zaW5nbGUtcHJvamVjdC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2luZ2xlLXByb2plY3QtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2luZ2xlLXByb2plY3QtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gIC5zaW5nbGUtcHJvamVjdC1jb250YWluZXIgLnNpbmdsZS1wcm9qZWN0LWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgICAuc2luZ2xlLXByb2plY3QtY29udGFpbmVyIC5zaW5nbGUtcHJvamVjdC1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYWxsb3V0LWJsb2NrIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAgIC5zaW5nbGUtcHJvamVjdC1jb250YWluZXIgLnNpbmdsZS1wcm9qZWN0LWdyaWQgLnNpbmdsZS1wcm9qZWN0LWNhbGxvdXQtYmxvY2sgLmJ1dHRvbiwgLnNpbmdsZS1wcm9qZWN0LWNvbnRhaW5lciAuc2luZ2xlLXByb2plY3QtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FsbG91dC1ibG9jayAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgLnNpbmdsZS1wcm9qZWN0LWNvbnRhaW5lciAuc2luZ2xlLXByb2plY3QtZ3JpZCAuc2luZ2xlLXByb2plY3QtY2FsbG91dC1ibG9jayBhLnBvc3QtZWRpdC1saW5rIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNpbmdsZS1wcm9qZWN0LWNvbnRhaW5lciAuc2luZ2xlLXByb2plY3QtZ3JpZCAuc2luZ2xlLXByb2plY3QtYm90dG9tLWhhbGYtY29sdW1uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAgIC5zaW5nbGUtcHJvamVjdC1jb250YWluZXIgLnNpbmdsZS1wcm9qZWN0LWdyaWQgLnNpbmdsZS1wcm9qZWN0LWJvdHRvbS1oYWxmLWNvbHVtbiAuc2luZ2xlLXByb2plY3QtYm90dG9tLWRldGFpbHMtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zaW5nbGUtcHJvamVjdC1jb250YWluZXIgLnNpbmdsZS1wcm9qZWN0LWdyaWQgLnNpbmdsZS1wcm9qZWN0LWJvdHRvbS1oYWxmLWNvbHVtbiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnNpbmdsZS1wcm9qZWN0LWNvbnRhaW5lciAuc2luZ2xlLXByb2plY3QtZ3JpZCAuc2luZ2xlLXByb2plY3QtZGV0YWlscyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2luZ2xlLXByb2plY3QtY29udGFpbmVyIC5zaW5nbGUtcHJvamVjdC1ncmlkIC5zaW5nbGUtcHJvamVjdC1kZXRhaWxzIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuc2luZ2xlLXByb2plY3QtY29udGFpbmVyIC5zaW5nbGUtcHJvamVjdC1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYXJvdXNlbC1ibG9jayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc2luZ2xlLXByb2plY3QtY29udGFpbmVyIC5zaW5nbGUtcHJvamVjdC1ncmlkIC5zaW5nbGUtcHJvamVjdC1jYXJvdXNlbC1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi50YWJzLFxuLmRvYy1maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUsXG4gIC50YWJzIC5yZXMtZmlsdGVyLFxuICAuZG9jLWZpbHRlcnMgLnRhYnMtdGl0bGUsXG4gIC5kb2MtZmlsdGVycyAucmVzLWZpbHRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlIGEsXG4gICAgLnRhYnMgLnJlcy1maWx0ZXIgYSxcbiAgICAuZG9jLWZpbHRlcnMgLnRhYnMtdGl0bGUgYSxcbiAgICAuZG9jLWZpbHRlcnMgLnJlcy1maWx0ZXIgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xuICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlOm5vdCguaXMtYWN0aXZlKSBhLFxuICAgIC50YWJzIC5yZXMtZmlsdGVyOm5vdCguaXMtYWN0aXZlKSBhLFxuICAgIC5kb2MtZmlsdGVycyAudGFicy10aXRsZTpub3QoLmlzLWFjdGl2ZSkgYSxcbiAgICAuZG9jLWZpbHRlcnMgLnJlcy1maWx0ZXI6bm90KC5pcy1hY3RpdmUpIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZTpub3QoLmlzLWFjdGl2ZSkgYTpob3ZlcixcbiAgICAgIC50YWJzIC5yZXMtZmlsdGVyOm5vdCguaXMtYWN0aXZlKSBhOmhvdmVyLFxuICAgICAgLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlOm5vdCguaXMtYWN0aXZlKSBhOmhvdmVyLFxuICAgICAgLmRvYy1maWx0ZXJzIC5yZXMtZmlsdGVyOm5vdCguaXMtYWN0aXZlKSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEsXG4gICAgLnRhYnMgLnJlcy1maWx0ZXIuaXMtYWN0aXZlIGEsXG4gICAgLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhLFxuICAgIC5kb2MtZmlsdGVycyAucmVzLWZpbHRlci5pcy1hY3RpdmUgYSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUsXG4gICAgLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUgYSxcbiAgICAgIC5kb2MtZmlsdGVycyAudGFicy10aXRsZSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAgIC50YWJzIC50YWJzLXRpdGxlIGEsXG4gICAgLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUsXG4gICAgLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAxcmVtOyB9IH1cblxuLnNiLWFsaWduLWxlZnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNiLWFsaWduLWxlZnQgLm1haW4tY29udGVudC13cmFwcGVyIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNiLWFsaWduLXJpZ2h0IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zYi1hbGlnbi1yaWdodCAubWFpbi1jb250ZW50LXdyYXBwZXIge1xuICBvcmRlcjogMTsgfVxuXG4uY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHA6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciB1bDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIG9sOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDE6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGgzOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDQ6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGg2Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBidXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYnV0dG9uOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5lZGl0LWxpbmsgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgYmxvY2txdW90ZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHA6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciB1bDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIG9sOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDE6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGgzOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDQ6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGg2Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBidXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYnV0dG9uOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5lZGl0LWxpbmsgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgYmxvY2txdW90ZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIHA6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB1bDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIG9sOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgaDE6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBoMjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIGgzOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgaDQ6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBoNTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIGg2Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBidXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciAuYnV0dG9uOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5lZGl0LWxpbmsgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgYmxvY2txdW90ZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciBwOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIHVsOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIG9sOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGgxOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGgyOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGgzOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGg0Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGg1Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGg2Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciBidXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGJsb2NrcXVvdGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgcDpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSB1bDpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBvbDpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMTpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMjpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMzpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNDpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNTpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNjpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYnV0dG9uOmxhc3QtY2hpbGQsIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5idXR0b246bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5lZGl0LWxpbmsgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBibG9ja3F1b3RlOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIHA6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgdWw6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2Ugb2w6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDE6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDI6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDM6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDQ6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDU6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDY6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGJ1dHRvbjpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYnV0dG9uOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAuZWRpdC1saW5rIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYmxvY2txdW90ZTpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBwOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIHVsOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIG9sOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgxOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgyOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgzOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg0Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg1Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg2Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBidXR0b246bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmJ1dHRvbjpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGJsb2NrcXVvdGU6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIHA6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIHVsOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBvbDpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDE6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgyOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMzpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDQ6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg1Omxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNjpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYnV0dG9uOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYnV0dG9uOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYmxvY2txdW90ZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYmFubmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYW5uZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogdXJsKC4uL3N2Z3MvYmFubmVyLWJvdHRvbS1ub3RjaC5zdmcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmJhbm5lcjo6YWZ0ZXIge1xuICAgICAgICBzY2FsZTogMi41O1xuICAgICAgICBib3R0b206IC0wLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmJhbm5lcjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC0xLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYmFubmVyOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTEuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuYmFubmVyOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5iYW5uZXI6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJhbm5lciAuYnV0dG9uLCAuYmFubmVyIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluaywgLmVkaXQtbGluayAuYmFubmVyIGEucG9zdC1lZGl0LWxpbmssIC5iYW5uZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgLmJhbm5lciAuYnV0dG9uIC5tYWluLXRleHQsIC5iYW5uZXIgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQsIC5lZGl0LWxpbmsgLmJhbm5lciBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQsIC5iYW5uZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAubWFpbi10ZXh0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gICAgLmJhbm5lciAuYnV0dG9uIC5tYWluLXRleHQgc3BhbiwgLmJhbm5lciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dCBzcGFuLCAuZWRpdC1saW5rIC5iYW5uZXIgYS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0IHNwYW4sIC5iYW5uZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAubWFpbi10ZXh0IHNwYW4ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmJhbm5lciAuYnV0dG9uIC5tYWluLXRleHQ6OmJlZm9yZSwgLmJhbm5lciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dDo6YmVmb3JlLCAuZWRpdC1saW5rIC5iYW5uZXIgYS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0OjpiZWZvcmUsIC5iYW5uZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSAubWFpbi10ZXh0OjpiZWZvcmUge1xuICAgICAgdG9wOiAwLjYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTIuNDkyXCIgaGVpZ2h0PVwiMTIuNzI2XCIgdmlld0JveD1cIjAgMCAxMi40OTIgMTIuNzI2XCI+PGcgaWQ9XCJHcm91cF8zOVwiIGRhdGEtbmFtZT1cIkdyb3VwIDM5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MDcuNDM1IDIxNi4xNTcpXCI+PGcgaWQ9XCJHcm91cF8yN1wiIGRhdGEtbmFtZT1cIkdyb3VwIDI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwNy40MzUgLTIxNi4xNTgpXCI+PHBhdGggaWQ9XCJQYXRoXzI4XCIgZGF0YS1uYW1lPVwiUGF0aCAyOFwiIGQ9XCJNNzcuMjIyLDBWMTIuNzI2TDg5LjcxNCw2LjM2M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTc3LjIyMilcIiBmaWxsPVwiJTIzZmZmXCIvPjwvZz48L2c+PC9zdmc+Jyk7IH1cbiAgLmJhbm5lciAuYnV0dG9uLmMyYS1idG4sIC5iYW5uZXIgLmVkaXQtbGluayBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgLmJhbm5lciBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbmssIC5iYW5uZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuIHtcbiAgICBjb2xvcjogI0NEMjkyOTsgfVxuICAgIC5iYW5uZXIgLmJ1dHRvbi5jMmEtYnRuOmhvdmVyLCAuYmFubmVyIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuZWRpdC1saW5rIC5iYW5uZXIgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuYmFubmVyIC5idXR0b24uYzJhLWJ0bjpmb2N1cywgLmJhbm5lciAuZWRpdC1saW5rIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluazpmb2N1cywgLmVkaXQtbGluayAuYmFubmVyIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluazpmb2N1cywgLmJhbm5lciBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmMyYS1idG46aG92ZXIsIC5iYW5uZXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5jMmEtYnRuOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5iYW5uZXIuaW50ZXJpb3ItcGFnZS1iYW5uZXIgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuLmJhbm5lciB7XG4gIG1pbi1oZWlnaHQ6IDE1LjYyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAxOC43NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYmFubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogOS4zNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiA0MC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IDQwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmJhbm5lciB7XG4gICAgbWluLWhlaWdodDogNDAuNjI1cmVtOyB9IH1cblxuLmJhbm5lciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQsIG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dCwgbWluLWhlaWdodCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQsIG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQsIG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQsIG1pbi1oZWlnaHQgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uYmFubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJhbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuYmFubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1LjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ni44NzVlbSkge1xuICAgIC5iYW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDkuMDYyNXJlbTsgfSB9XG4gIC5iYW5uZXIgLmNvbnRlbnQtYmFuZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYmFubmVyIC5jb250ZW50LWJhbmQuYWxpZ24tY29udGVudC10b3Age1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgIC5iYW5uZXIgLmNvbnRlbnQtYmFuZC5hbGlnbi1jb250ZW50LWJvdHRvbSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYmFubmVyIC50ZXh0LXNoYWRvdy1saWdodCB7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOyB9XG5cbi5iYW5uZXIgLnRleHQtc2hhZG93LWRhcmsge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggYmxhY2s7IH1cblxuLmJhbm5lciBoMSxcbi5iYW5uZXIgaDIsXG4uYmFubmVyIGgzLFxuLmJhbm5lciBoNCxcbi5iYW5uZXIgaDUsXG4uYmFubmVyIGg2LFxuLmJhbm5lciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmJhbm5lciAuYWNjb3JkaW9uLXRpdGxlLFxuLmJhbm5lciBwIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmJhbm5lciBoMS5iYW5uZXItc3VidGV4dCxcbiAgLmJhbm5lciBoMi5iYW5uZXItc3VidGV4dCxcbiAgLmJhbm5lciBoMy5iYW5uZXItc3VidGV4dCxcbiAgLmJhbm5lciBoNC5iYW5uZXItc3VidGV4dCxcbiAgLmJhbm5lciBoNS5iYW5uZXItc3VidGV4dCxcbiAgLmJhbm5lciBoNi5iYW5uZXItc3VidGV4dCxcbiAgLmJhbm5lciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYmFubmVyLXN1YnRleHQuYWNjb3JkaW9uLXRpdGxlLFxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYmFubmVyIC5iYW5uZXItc3VidGV4dC5hY2NvcmRpb24tdGl0bGUsXG4gIC5iYW5uZXIgcC5iYW5uZXItc3VidGV4dCB7XG4gICAgY29sb3I6ICNDRDI5Mjk7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5iYW5uZXIgcCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmJsYWNrLWludHJvLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMi44MTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuYmxhY2staW50cm8tYmxvY2sge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH0gfVxuICAuYmxhY2staW50cm8tYmxvY2s6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogdXJsKC4uL3N2Z3MvYm90dG9tLXdoaXRlLW5vdGNoLXNoYXBlLnN2Zyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogLTAuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmJsYWNrLWludHJvLWJsb2NrOjphZnRlciB7XG4gICAgICAgIHNjYWxlOiAyLjU7IH0gfVxuXG4ubm90Y2hlcy13aXRoLWJhY2tncm91bmQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAubm90Y2hlcy13aXRoLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgcGFkZGluZzogNi4yNXJlbSAwOyB9IH1cbiAgLm5vdGNoZXMtd2l0aC1iYWNrZ3JvdW5kLWltYWdlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0b3A6IC0wLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5ub3RjaGVzLXdpdGgtYmFja2dyb3VuZC1pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgc2NhbGU6IDIuNTsgfSB9XG4gIC5ub3RjaGVzLXdpdGgtYmFja2dyb3VuZC1pbWFnZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiAtMC41NjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubm90Y2hlcy13aXRoLWJhY2tncm91bmQtaW1hZ2U6OmFmdGVyIHtcbiAgICAgICAgc2NhbGU6IDIuNTsgfSB9XG5cbi5mcm9udC1oZXJvIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtc21hbGwuc3ZnXCIpIGJvdHRvbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgcGFkZGluZzogNC4wNjI1cmVtIDA7XG4gIG1hcmdpbjogMCAwIDJyZW07XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5mcm9udC1oZXJvIC5tYXJrZXRpbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1heC13aWR0aDogNTVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC5tYXJrZXRpbmcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZnJvbnQtaGVybyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1sYXJnZS5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDQyLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCA0LjVyZW07IH0gfVxuICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC53YXRjaCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5mcm9udC1oZXJvIC53YXRjaCAjc3RhcmdhemVycyA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5mcm9udC1oZXJvIC53YXRjaCAjdHdpdHRlciA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAuZnJvbnQtaGVybyAudGFnbGluZSB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMi41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNnJlbTsgfSB9XG4gIC5mcm9udC1oZXJvIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTsgfSB9XG4gIC5mcm9udC1oZXJvIGg0IHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIC5mcm9udC1oZXJvIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4uaW50cm8ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW50cm8ge1xuICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9IH1cbiAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbnRybyAuZnAtaW50cm8ge1xuICAgICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0pOyB9XG4gICAgICAgIC5pbnRybyAuZnAtaW50cm8gaDIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgICAgIC5pbnRybyAuZnAtaW50cm8gaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLnNlY3Rpb24tZGl2aWRlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gIC5zZWN0aW9uLWRpdmlkZXIgaHIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5iZW5lZml0cyB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iZW5lZml0cyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJlbmVmaXRzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gIC5iZW5lZml0cyBoZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfVxuICAgIC5iZW5lZml0cyBoZWFkZXIgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5iZW5lZml0cyBoZWFkZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogIzc3NzsgfVxuICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gIC5iZW5lZml0cyAuY3VzdG9taXphYmxlLFxuICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5iZW5lZml0cyAuc2VtYW50aWMsXG4gICAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gICAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBpbWcsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIGltZyxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIGgzLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBoMyxcbiAgICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBoMyxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBoMyB7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgICAuYmVuZWZpdHMgLnNlbWFudGljIHAsXG4gICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlIHAsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgcCxcbiAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5iZW5lZml0cyAud2h5LWZvdW5kYXRpb24ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyLFxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuICAub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udDogaW5oZXJpdDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ncmFiIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgY3Vyc29yOiBncmFiOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gICAgZGlyZWN0aW9uOiBydGw7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovIH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSkge1xuICAgIG1heC1oZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogODBweDtcbiAgd2lkdGg6IDgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIm93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qXG4gKiBcdERlZmF1bHQgdGhlbWUgLSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcbiAqL1xuLm93bC10aGVtZSAub3dsLW5hdiB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9J293bC0nXSB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHBhZGRpbmc6IDRweCA3cHg7XG4gICAgYmFja2dyb3VuZDogI0Q2RDZENjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj0nb3dsLSddOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4Njk3OTE7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAub3dsLXRoZW1lIC5vd2wtbmF2IC5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ub3dsLXRoZW1lIC5vd2wtbmF2LmRpc2FibGVkICsgLm93bC1kb3RzIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ub3dsLXRoZW1lIC5vd2wtZG90cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHpvb206IDE7XG4gICAgKmRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW46IDVweCA3cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjRDZENkQ2O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMHB4OyB9XG4gICAgLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogIzg2OTc5MTsgfVxuXG4ub3dsLWNhcm91c2VsLnByb2plY3QtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5vd2wtY2Fyb3VzZWwucHJvamVjdC1jYXJvdXNlbCAub3dsLWRvdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEuODc1cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgcmlnaHQ6IDUwJTsgfVxuXG4ub3dsLWNhcm91c2VsLnByb2plY3QtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9XG4gIC5vd2wtY2Fyb3VzZWwucHJvamVjdC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdCBzcGFuIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm93bC1jYXJvdXNlbC5wcm9qZWN0LWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90IHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB3aWR0aDogMC42MjVyZW07IH0gfVxuXG4ub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90IHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdC5hY3RpdmUgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDRDI5Mjk7IH1cblxuLm93bC1jYXJvdXNlbC5waG90by1jb2xsYWdlLWNhcm91c2VsLW1vdmUtcmlnaHQsIC5vd2wtY2Fyb3VzZWwucGhvdG8tY29sbGFnZS1jYXJvdXNlbC1tb3ZlLWxlZnQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gZm9yIFNpdGVzIHY2LjQuM1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgXCJ1dGlsL3V0aWxcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1bGxpdmFuIEZpbGxcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdWxsaXZhbi1maWxsLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4kc3VsbGl2YW4tZm9udDogXCJTdWxsaXZhbiBGaWxsXCI7XG5cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuXG5cbiRjb2xsaW5zLXJlZDogI0NEMjkyOTtcbiRjb2xsaW5zLWxpZ2h0LWdyYXk6ICNmM2YzZjM7XG5cbi8vIENvbG9yc1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkY29sbGlucy1yZWQsXG4gIHNlY29uZGFyeTogI2U5Yzg5MyxcbiAgc3VjY2VzczogIzNjYzQ3YyxcbiAgd2FybmluZzogI2Y3YjczMyxcbiAgYWxlcnQ6ICNmYzRhMWEsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNhM2EzYTM7XG4kZGFyay1ncmF5OiAjNGU0ZTRlO1xuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IFwib3Blbi1zYW5zXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDA7XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbiAgYmFubmVyOiAxNTUwcHgsXG4gIHh4eGxhcmdlOiAxNjUwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiBcImNvbHVtbnNcIjtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJHN1bGxpdmFuLWZvbnQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgXCJoMVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA0MCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDMsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImgyXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDM2LFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzOSxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDNcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMzIsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDM1LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoNFwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyOCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMzEsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMTUsXG4gICAgKSxcbiAgICBcImg1XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDIyLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAyOCxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAxNSxcbiAgICApLFxuICAgIFwiaDZcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjAsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDI3LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDE1LFxuICAgICksXG4gICksXG4gIG1lZGl1bTogKFxuICAgIFwiaDFcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNDgsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDUxLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoMlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAzOCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDEsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImgzXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDMyLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzNSxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDRcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjYsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDI5LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDE1LFxuICAgICksXG4gICAgXCJoNVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyMixcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMjgsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMTUsXG4gICAgKSxcbiAgICBcImg2XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDIwLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAyNyxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAxNSxcbiAgICApLFxuICApLFxuICBsYXJnZTogKFxuICAgIFwiaDFcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNTIsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDU1LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoMlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA0MCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDMsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImgzXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDM2LFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzOSxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDRcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjksXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDMyLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDE1LFxuICAgICksXG4gICAgXCJoNVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyNCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMzAsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMTUsXG4gICAgKSxcbiAgICBcImg2XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDIwLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAyNyxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAxNSxcbiAgICApLFxuICApLFxuICB4bGFyZ2U6IChcbiAgICBcImgxXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDU5LFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiA2MixcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDJcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNDIsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDQ1LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoM1wiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAzNyxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDAsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImg0XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDMzLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzNixcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAxNSxcbiAgICApLFxuICAgIFwiaDVcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjcsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDMzLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDE1LFxuICAgICksXG4gICAgXCJoNlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyMixcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMjksXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMTUsXG4gICAgKSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiAwO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kY2l0ZS1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06IFwiL1wiO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiBcIlxcXFxcIjtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6IFwiLmJ1dHRvblwiO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogMTAwJTtcbiRjYWxsb3V0LWJvcmRlcjogbm9uZTtcbiRjYWxsb3V0LW1hcmdpbjogMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDA7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiBub25lO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiBcIm9mZi1jYW52YXMtY29udGVudFwiO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKGRvd24sIHVwLCByaWdodCwgbGVmdCk7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLWNlbGwpO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoZGlzYywgY2lyY2xlLCBzcXVhcmUpO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6ICh2aXNpYmxlLCBoaWRkZW4sIHNjcm9sbCk7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLFxuICAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAod2lkdGgsIGhlaWdodCk7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJSxcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChvdmVybGluZSwgdW5kZXJsaW5lLCBsaW5lLXRocm91Z2gpO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKGxvd2VyY2FzZSwgdXBwZXJjYXNlLCBjYXBpdGFsaXplKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjkpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKFxuICAkdGFibGUtYmFja2dyb3VuZCxcbiAgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlXG4pO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGFuY2hvci1jb2xvcjtcbiR0YWItYWN0aXZlLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1wYWRkaW5nOiByZW0tY2FsYyg4IDE2KTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29udGVudC1ib3JkZXI6IG5vbmU7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMDtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDQwcHgsXG4gIG1lZGl1bTogNTBweCxcbiAgbGFyZ2U6IDYwcHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG9sZC16Zi1zaXplICE9IG51bGwge1xuICAgIC8vIFJlc3RvcmUgdGhlIG9sZCBicmVha3BvaW50IHNpemVcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkLXpmLXNpemU6IG51bGwgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4kc3VjY2Vzcy1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IGdldC1jb2xvcih3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG4gICAgXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcsICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsgXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xuQGltcG9ydCBcImZvdW5kYXRpb25cIjtcbkBpbXBvcnQgXCJtb3Rpb24tdWlcIjtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG4vLyBNaXhpbnMgZmlsZVxuQGltcG9ydCBcImdsb2JhbC9taXhpbnNcIjtcblxuLy8gQ3VzdG9tIGNsYXNzZXNcbkBpbXBvcnQgXCJjdXN0b20tY2xhc3Nlcy9wYWRkaW5nLW1hcmdpbnNcIjtcbkBpbXBvcnQgXCJjdXN0b20tY2xhc3Nlcy9idXR0b24tY2xhc3Nlc1wiO1xuQGltcG9ydCBcImN1c3RvbS1jbGFzc2VzL21pc2Mtc3R5bGVzXCI7XG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9hY2Nlc3NpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2JhY2tncm91bmRzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC9mb3Jtc1wiO1xuQGltcG9ydCBcImdsb2JhbC90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9tYXN0aGVhZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29sbGFwc2libGUtbWVudVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21DdXN0b21TY3JvbGxiYXJzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYWduaWZpY1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYWxsb3V0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FsbG91dC1ibG9ja3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZlYXR1cmVkLWltYWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kaXZpZGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2pvYi1saXN0aW5nc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9xdW90ZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0YWZmLWdyaWRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3Byb2plY3QtZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2VydmljZS1jYXJkc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc29jaWFsLW1lZGlhLWxpbmtzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbWctZ2FsbGVyeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbW9kYWwtY2FsbG91dHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpbmdsZS1wcm9qZWN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJzXCI7XG5cbi8vIFN0eWxlcyBzcGVjaWZpYyB0byBkeW5hbWljIGNvbnRlbnQgYmFuZCBzeXN0ZW1cbkBpbXBvcnQgXCJkY2IvY29udGVudC1iYW5kc1wiO1xuQGltcG9ydCBcImRjYi9iYW5uZXJcIjtcblxuLy8gVGVtcGxhdGVzXG5AaW1wb3J0IFwidGVtcGxhdGVzL2Zyb250XCI7XG5cbi8vIE93bCBDYXJvdXNlbCBTYXNzXG5AaW1wb3J0IFwib3dsLWNhcm91c2VsL2NvcmVcIjtcbkBpbXBvcnQgXCJvd2wtY2Fyb3VzZWwvYW5pbWF0ZVwiO1xuQGltcG9ydCBcIm93bC1jYXJvdXNlbC9hdXRvaGVpZ2h0XCI7XG5AaW1wb3J0IFwib3dsLWNhcm91c2VsL2xhenlsb2FkXCI7XG5AaW1wb3J0IFwib3dsLWNhcm91c2VsL3ZpZGVvXCI7XG5AaW1wb3J0IFwib3dsLWNhcm91c2VsL3RoZW1lLmRlZmF1bHRcIjtcbkBpbXBvcnQgXCJvd2wtY2Fyb3VzZWwvdGhlbWUtY3VzdG9taXphdGlvbnNcIjtcbiIsIi8vIEJ1aWxkaW5nIHBhZGRpbmcgc3lzdGVtIC0gc21hbGwgYnJlYWtwb2ludFxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHQudG9wLXBhZCwgLnRvcC1idG0tcGFkIHtcblx0XHRwYWRkaW5nLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cblx0LmJ0bS1wYWQsIC50b3AtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdzbWFsbCcpO1xuXHR9XG5cdC5oYWxmLXRvcC1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnc21hbGwnKSAvIDI7XG5cdH1cblx0LmhhbGYtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdzbWFsbCcpIC8gMjtcblx0fVxuXHQuZG91YmxlLXRvcC1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnc21hbGwnKSAqIDI7XG5cdH1cblx0LmRvdWJsZS1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJykgKiAyO1xuXHR9XG59XG5cbi8vIEJ1aWxkaW5nIHBhZGRpbmcgc3lzdGVtIC0gbWVkaXVtIGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC50b3AtcGFkLCAudG9wLWJ0bS1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cblx0LmJ0bS1wYWQsIC50b3AtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKTtcblx0fVxuXHQuaGFsZi10b3AtcGFkIHtcblx0XHRwYWRkaW5nLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gMjtcblx0fVxuXHQuZG91YmxlLXRvcC1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJykgKiAyO1xuXHR9XG5cdC5kb3VibGUtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKSAqIDI7XG5cdH1cbn1cblxuLy8gQnVpbGRpbmcgcGFkZGluZyBzeXN0ZW0gLSBsYXJnZSBicmVha3BvaW50XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC50b3AtcGFkLCAudG9wLWJ0bS1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbGFyZ2UnKTtcblx0fVxuXHQuYnRtLXBhZCwgLnRvcC1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ2xhcmdlJyk7XG5cdH1cblx0LmhhbGYtdG9wLXBhZCB7XG5cdFx0cGFkZGluZy10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ2xhcmdlJykgLyAyO1xuXHR9XG5cdC5kb3VibGUtdG9wLXBhZCB7XG5cdFx0cGFkZGluZy10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpICogMjtcblx0fVxuXHQuZG91YmxlLWJ0bS1wYWQge1xuXHRcdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbGFyZ2UnKSAqIDI7XG5cdH1cbn1cblxuLy8gQnVpbGRpbmcgbWFyZ2luIHN5c3RlbSAtIHNtYWxsIGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0LnRvcC1tYXIsIC50b3AtYnRtLW1hciB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cblx0LmJ0bS1tYXIsIC50b3AtYnRtLW1hciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cblx0LmhhbGYtdG9wLW1hciB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJykgLyAyO1xuXHR9XG5cdC5oYWxmLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdzbWFsbCcpIC8gMjtcblx0fVxufVxuXG4vLyBCdWlsZGluZyBtYXJnaW4gc3lzdGVtIC0gbWVkaXVtIGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKTtcblx0fVxuXHQuYnRtLW1hciwgLnRvcC1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cblx0LmhhbGYtdG9wLW1hciB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJykgLyAyO1xuXHR9XG59XG5cbi8vIEJ1aWxkaW5nIG1hcmdpbiBzeXN0ZW0gLSBsYXJnZSBicmVha3BvaW50XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpO1xuXHR9XG5cdC5idG0tbWFyLCAudG9wLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpO1xuXHR9XG5cdC5oYWxmLXRvcC1tYXIge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbGFyZ2UnKSAvIDI7XG5cdH1cbn0iLCIvLyBCdXR0b24gc2l6aW5nIG9wdGlvbnNcbi5idXR0b24ge1xuXHQmLnRpbnkge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUgOCA0IDgpO1xuXG5cdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIpO1xuXHRcdH1cblx0fVxuXHQmLmxhcmdlIHtcblx0XHQubWFpbi10ZXh0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdFx0fVxuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdC5tYWluLXRleHQge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gQm90dG9tIG1hcmdpbiByZW1vdmFsXG4uYnV0dG9uIHtcblx0Ji5uby1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8vIFNlY29uZGFyeSBidXR0b24gY29sb3Jcbi5idXR0b24uc2Vjb25kYXJ5LWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLy8gU3VjY2VzcyBidXR0b24gY29sb3Jcbi5idXR0b24uc3VjY2Vzcy1idG4tY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4vLyBXYXJuaW5nIGJ1dHRvbiBjb2xvclxuLmJ1dHRvbi53YXJuaW5nLWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG4vLyBBbGVydCBidXR0b24gY29sb3Jcbi5idXR0b24uYWxlcnQtYnRuLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4vLyBHcmF5IGJ1dHRvbiBjb2xvclxuLmJ1dHRvbi5ncmF5LWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLy8gV2hpdGUgYnV0dG9uIGNvbG9yXG4uYnV0dG9uLndoaXRlLWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG59IiwicCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmxpIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihmb250LXNpemUgMC4ycyBlYXNlLWluLW91dCk7XG59XG5cbi50eHQtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIExhcmdlIHRleHQgcnVsZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgLmxnLXRleHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjE1O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAoaGVhZGVyLXNpemUoc21hbGwsIGgxKSAqIDEuNzUpO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLmxnLXRleHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjU7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IChoZWFkZXItc2l6ZShtZWRpdW0sIGgxKSAqIDIpO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAubGctdGV4dCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuNTtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogKGhlYWRlci1zaXplKG1lZGl1bSwgaDEpICogMyk7XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAubGctdGV4dCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDI7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IChoZWFkZXItc2l6ZShtZWRpdW0sIGgxKSAqIDQpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTdHlsaW5nIGZvciBiYWNrZW5kIHByZXZpZXcgd2luZG93XG5cbiN0aXRsZWRpdiAjdGl0bGUtcHJvbXB0LXRleHQge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuI2FkbWlubWVudSAud3AtaGFzLWN1cnJlbnQtc3VibWVudSAud3Atc3VibWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4jYWRtaW5tZW51IC53cC1zdWJtZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi50aGVtZS1wcmV2aWV3IHtcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLm93bC1jYXJvdXNlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5zbGlkZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU21hbGwgY29udGVudCBmcmFtaW5nXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQuc21hbGwtY29udGVudCB7XG5cdFx0Lm1haW4tY29udGVudC13cmFwcGVyIHtcblx0XHRcdEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6MTApO1xuXHRcdFx0QGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG46MSk7XG5cdFx0fVxuXHR9XG59XG5cblxuLmZ1bGwtd2lkdGgtY29udGVudC1zZWN0aW9uIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cblxuICAgICYuY29udGVudC1icmVhay1ncmlkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH0gICAgICAgIFxuICAgIH1cblxuICB9XG59XG5cblxuLm1vYmlsZS1vcmRlci1maXJzdCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi5tb2JpbGUtb3JkZXItbGFzdCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIG9yZGVyOiAyO1xuICB9XG59IiwiQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcblx0cG9zaXRpb246ICRwb3NpdGlvbjtcblx0dG9wOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbigkYXJncy4uLikge1xuXHQtd2Via2l0LXRyYW5zaXRpb246ICRhcmdzO1xuXHQtbW96LXRyYW5zaXRpb246ICRhcmdzO1xuXHQtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XG5cdC1vLXRyYW5zaXRpb246ICRhcmdzO1xuXHR0cmFuc2l0aW9uOiAkYXJncztcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS4uLikge1xuXHQtbW96LXRyYW5zaXRpb24tZGVsYXk6ICAgICRkZWxheTtcblx0LW8tdHJhbnNpdGlvbi1kZWxheTogICAgICAkZGVsYXk7XG5cdC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAgICAgICAgICRkZWxheTtcbn1cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcblx0LXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuXHQtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG5cdGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG4vLyBnZW5lcmljIHRyYW5zZm9ybVxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuXHQtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG5cdC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG5cdC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG5cdHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG4vLyByb3RhdGVcbkBtaXhpbiByb3RhdGUgKCRkZWcpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XG59XG4gXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlKCRzY2FsZSkge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHNjYWxlKSk7XG59IFxuLy8gdHJhbnNsYXRlXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xufVxuLy8gc2tld1xuQG1peGluIHNrZXcoJHgsICR5KSB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xufVxuLy90cmFuc2Zvcm0gb3JpZ2luXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkb3JpZ2luKSB7XG5cdG1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuXHQtby10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuXHQtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuQG1peGluIHRleHQtc2hhZG93KCR4OiAxcHgsICR5OiAxcHgsICRibHVyOiA1cHgsICRjb2xvcjogcmdiYSgwLDAsMCwuMzUpKSB7XG5cdHRleHQtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XG59XG5AbWl4aW4gcm93KCkge1xuXHRmb250LXNpemU6IDA7XG59XG5cbi8vIFRoaXMgaXMgY29sdW1uIG1peGlucy5cbkBtaXhpbiBjb2woJGNvbCwgJHN1bSwgJGdhcDogMWVtLCAkYWxpZ246IHRvcCwgJGZpcnN0OiBmYWxzZSwgJGxhc3Q6IGZhbHNlKSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0cGFkZGluZy1sZWZ0OiBpZigkZmlyc3QsIDAsICRnYXApO1xuXHRwYWRkaW5nLXJpZ2h0OiBpZigkbGFzdCwgMCwgJGdhcCk7XG5cblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHRcdHdpZHRoOiBwZXJjZW50YWdlKCRjb2wvJHN1bSk7XG5cdFx0dmVydGljYWwtYWxpZ246ICRhbGlnbjtcblx0fVxuXG5cdCYuZmx1aWQgeyB3aWR0aDogcGVyY2VudGFnZSgkY29sLyRzdW0pOyB9XG59XG5cbkBtaXhpbiBiZy1ncmFkaWVudC10b3AtYm90dG9tKCkge1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMC45KSAzJSwgcmdiYSgwLDAsMCwwKSAxMDAlKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDAuOSkgMyUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMC45KSAzJSwgcmdiYSgwLDAsMCwwKSAxMDAlKTtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNhNjAwMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwMDAnLEdyYWRpZW50VHlwZT0wICk7XG59XG5AbWl4aW4gYmctZ3JhZGllbnQtYm90dG9tLXRvcCgpIHtcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsMCwwLDAuNzUpIDMlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwwLDAsMC43NSkgMyUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC43NSkgMyUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nI2E2MDAwMDAwJyxHcmFkaWVudFR5cGU9MCApO1xufVxuXG5AZnVuY3Rpb24gaGVhZGVyLXNpemUoJGJyZWFrcG9pbnQsICRzaXplKSB7XG5cdEByZXR1cm4gcmVtLWNhbGMobWFwLWdldChtYXAtZ2V0KG1hcC1nZXQoJGhlYWRlci1zdHlsZXMsIFwic21hbGxcIiksICRzaXplKSwgXCJmb250LXNpemVcIikgKiAxcHgpO1xufSIsIi8vIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuIEFkZHJlc3NlcyBwYXJ0IG9mIHRoZW1lLWNoZWNrIGlzc3VlICM4NDAuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vQXV0b21hdHRpYy9fcy9ibG9iL21hc3Rlci9zdHlsZS5jc3Ncbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyLlxufVxuIiwiLy8gQmFubmVyIE92ZXJsYXlzXG4uaW1nLWJnIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAubWFpbi1jb250ZW50LXdyYXBwZXIge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgdGV4dC1zaGFkb3c6IDJweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICB9XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICYucmVkLXRleHQge1xuICAgICAgICBjb2xvcjogJGNvbGxpbnMtcmVkO1xuICAgICAgfVxuICAgIFxuICAgIH1cbiAgfVxuICAmLm92ZXJsYXktYmxhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMC40NTsgLy8gU2VydmVzIGFzIGEgZmFsbGJhY2sgZm9yIG9sZGVyIGJyb3dzZXJzXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAuY29udGVudC1iYW5kIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cbiAgJi5vdmVybGF5LWJsYWNrOjpiZWZvcmUsXG4gICYub3ZlcmxheS1ibGFjazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgfVxufVxuXG5cbmltZyB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xufVxuXG4uaW1nLWdhbGxlcnkge1xuICAuaW1nLWdhbGxlcnktaXRlbSBhIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgfVxufVxuXG4uYmFuZC13cmFwcGVyLmltZy1iZy5iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG4iLCIvLyBCYWNrZ3JvdW5kIHN0eWxpbmdcbi5sdC1ncmF5LWJnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG59XG4ubWQtZ3JheS1iZyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cbi5ibGFjay1iZyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdC5idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXG5cdFx0XHQubWFpbi10ZXh0IHtcblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyM2ZmZlwiLz48L2c+PC9nPjwvc3ZnPicpO1xuXHRcdFx0XHR9ICBcblx0XHRcdH1cblxuXHRcdFx0Ji5jMmEtYnRuIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xsaW5zLXJlZDtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0fVx0XHRcblx0XHRcdH1cblx0XHR9XG59XG5cbi5pbWctYmcge1x0XG5cdC5idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXG5cdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyM2ZmZlwiLz48L2c+PC9nPjwvc3ZnPicpO1xuXHRcdFx0fSAgXG5cdFx0fVxuXG5cdFx0Ji5jMmEtYnRuIHtcblx0XHRcdGNvbG9yOiAkY29sbGlucy1yZWQ7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XHRcdFxuXHRcdH1cblx0fVxufVxuIiwiLndwZm9ybXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53cGZvcm1zLWVycm9yIHtcbiAgICBjb2xvcjogJGNvbGxpbnMtcmVkO1xufVxuICBcbiAgLndwZm9ybXMtZm9ybSB7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgXG4gICAgbGFiZWwsIGxlZ2VuZCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gIFxuICAgIC53cGZvcm1zLWZpZWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIFxuICAgIC53cGZvcm1zLXJlcXVpcmVkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29sbGlucy1yZWQ7XG4gICAgfVxuICBcbiAgICBpbnB1dCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkbWVkaXVtLWdyYXksIDI1JSk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTcwKTtcbiAgICB9XG4gIFxuICAgIC53cGZvcm1zLXN1Ym1pdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNyk7XG4gICAgICAgIGNvbG9yOiAkY29sbGlucy1yZWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRjb2xsaW5zLXJlZDsgIFxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyMzAwMFwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMyk7XG4gICAgICBcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTMpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIFxuICAgIFxuICAgIH1cbn1cbiAgXG4vLyBGb3JtaW5hdG9yIFN0eWxpbmdcblxuLmZvcm1pbmF0b3ItY3VzdG9tLWZvcm0ge1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWltcG9ydGFudDtcblxuICBcbiAgbGFiZWwsIGxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJG1lZGl1bS1ncmF5LCAyNSUpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJG1lZGl1bS1ncmF5LCAyNSUpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gIH1cbn1cblxuLmZvcm1pbmF0b3ItcmVxdWlyZWQge1xuICBjb2xvcjogJGNvbGxpbnMtcmVkO1xufVxuXG4uZm9ybWluYXRvci1idXR0b24tdXBsb2FkIHtcbiAgYmFja2dyb3VuZDogbGlnaHRlbigkbWVkaXVtLWdyYXksIDI1JSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uZm9ybWluYXRvci1idXR0b24tc3VibWl0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkY29sbGlucy1yZWQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRjb2xsaW5zLXJlZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTIuNDkyXCIgaGVpZ2h0PVwiMTIuNzI2XCIgdmlld0JveD1cIjAgMCAxMi40OTIgMTIuNzI2XCI+PGcgaWQ9XCJHcm91cF8zOVwiIGRhdGEtbmFtZT1cIkdyb3VwIDM5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MDcuNDM1IDIxNi4xNTcpXCI+PGcgaWQ9XCJHcm91cF8yN1wiIGRhdGEtbmFtZT1cIkdyb3VwIDI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwNy40MzUgLTIxNi4xNTgpXCI+PHBhdGggaWQ9XCJQYXRoXzI4XCIgZGF0YS1uYW1lPVwiUGF0aCAyOFwiIGQ9XCJNNzcuMjIyLDBWMTIuNzI2TDg5LjcxNCw2LjM2M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTc3LjIyMilcIiBmaWxsPVwiJTIzMDAwXCIvPjwvZz48L2c+PC9zdmc+Jyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzKTtcbiAgICAgIFxuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtMyk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxufVxuXG4uZm9ybWluYXRvci1idXR0b24tc3VibWl0W2Rpc2FibGVkXSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNyk7XG4gICAgICAgIGNvbG9yOiAkY29sbGlucy1yZWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICRjb2xsaW5zLXJlZDsgIFxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyMzAwMFwiLz48L2c+PC9nPjwvc3ZnPicpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMyk7XG4gICAgICBcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTMpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbn1cblxuLmZvcm1pbmF0b3Itcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtaW5hdG9yLWVycm9yLCAuZm9ybWluYXRvci1lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICRjb2xsaW5zLXJlZDtcbn1cbiIsIi8vIFR5cG9ncmFwaHkgT3ZlcnJpZGVzXG5wLFxuLnAge1xuICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg2LCBmb250LXNpemUpKTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg2LCBsaW5lLWhlaWdodCkpO1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNiwgbWFyZ2luLWJvdHRvbSlcbiAgKTtcbn1cblxuLm1haW4tY29udGVudCB7XG4gIHVsLFxuICBvbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNiwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg2LCBsaW5lLWhlaWdodCkpO1xuICB9XG59XG5cblxuLy8gVHlwb2dyYXBoeSBDbGFzc2VzXG5oMSxcbi5oMSxcbi50eXBlLXNpemUtNixcbi50eXBlLXNpemUtNiBwLFxuLnR5cGUtc2l6ZS02IGxpIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMSwgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMSwgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDEsIG1hcmdpbi1ib3R0b20pXG4gICk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDEsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoMSwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoMSwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgxLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDEsIGxpbmUtaGVpZ2h0KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMSwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDEsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoMSwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoMSwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG59XG5oMixcbi5oMixcbi50eXBlLXNpemUtNSxcbi50eXBlLXNpemUtNSBwLFxuLnR5cGUtc2l6ZS01IGxpIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMiwgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMiwgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDIsIG1hcmdpbi1ib3R0b20pXG4gICk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDIsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoMiwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoMiwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgyLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDIsIGxpbmUtaGVpZ2h0KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMiwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDIsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoMiwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoMiwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG59XG5oMyxcbi5oMyxcbi50eXBlLXNpemUtNCxcbi50eXBlLXNpemUtNCBwLFxuLnR5cGUtc2l6ZS00IGxpIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMywgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoMywgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDMsIG1hcmdpbi1ib3R0b20pXG4gICk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDMsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoMywgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoMywgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgzLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDMsIGxpbmUtaGVpZ2h0KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMywgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDMsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoMywgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoMywgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG59XG5oNCxcbi5oNCxcbi50eXBlLXNpemUtMyxcbi50eXBlLXNpemUtMyBwLFxuLnR5cGUtc2l6ZS0zIGxpIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNCwgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNCwgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDQsIG1hcmdpbi1ib3R0b20pXG4gICk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDQsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoNCwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoNCwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg0LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDQsIGxpbmUtaGVpZ2h0KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNCwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDQsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoNCwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoNCwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG59XG5oNSxcbi5oNSxcbi50eXBlLXNpemUtMixcbi50eXBlLXNpemUtMiBwLFxuLnR5cGUtc2l6ZS0yIGxpIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNSwgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNSwgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDUsIG1hcmdpbi1ib3R0b20pXG4gICk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDUsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoNSwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoNSwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg1LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDUsIGxpbmUtaGVpZ2h0KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNSwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDUsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoNSwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoNSwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG59XG5oNixcbi5oNixcbi50eXBlLXNpemUtMSxcbi50eXBlLXNpemUtMSBwLFxuLnR5cGUtc2l6ZS0xIGxpIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNiwgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNiwgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDYsIG1hcmdpbi1ib3R0b20pXG4gICk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDYsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoNiwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbWVkaXVtLCBoNiwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg2LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDYsIGxpbmUtaGVpZ2h0KSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNiwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDYsIGZvbnQtc2l6ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoNiwgbGluZS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhcbiAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgeGxhcmdlLCBoNiwgbWFyZ2luLWJvdHRvbSlcbiAgICApO1xuICB9XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMiwgaDMsIGg0LCBoNSwgaDYge1xuICBjb2xvcjogJGNvbGxpbnMtcmVkO1xufVxuXG4ucmVkLXRleHQge1xuICBjb2xvcjogJGNvbGxpbnMtcmVkO1xufVxuIiwiLy8gRml4IHRoZSBpc3N1ZSB3aGVyZSB0aGUgV1AgYWRtaW4tYmFyIG92ZXJsYXBzIHRoZSBtb2JpbGUgbWVudVxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gTWFrZSBzdXJlIHRoYXQgdGhlIFdQIGFkbWluLWJhciBkb2VzIG5vdCBvdmVybGFwIEZvdW5kYXRpb24gY29tcG9uZW50c1xuYm9keS5hZG1pbi1iYXIge1xuICAvLyBPZmZzZXQgc3RpY2t5IHRvcCBiYXJcbiAgJi5mLXRvcGJhci1maXhlZCB7XG4gICAgLnN0aWNreS5maXhlZCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMik7XG4gICAgfVxuICB9XG4gIC8vIE9mZnNldCBtb2JpbGUgb2ZmLWNhbnZhcyBtZW51XG4gICYub2ZmY2FudmFzIHtcbiAgICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoNDYpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3ODMpIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEVkaXQgYnV0dG9uIHN0eWxlc1xuLmVkaXQtbGluayB7XG4gIC8vb3BhY2l0eTogMC41O1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAxO1xuXG4gIGEucG9zdC1lZGl0LWxpbmsge1xuICAgIEBleHRlbmQgLmJ1dHRvbjtcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzIDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQgMTApICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbn1cblxucC53cC1jYXB0aW9uLXRleHR7XG4gIGZvbnQtc2l6ZTo5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOnJlbS1jYWxjKDEwKSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkge1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoMiwgJy5nYWxsZXJ5LWl0ZW0nLCB0cnVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCg0LCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmdhbGxlcnktaXRlbScsIHRydWUsIChzbWFsbDogMzBweCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ2FsbGVyeS1pY29uID4gYSB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG4gIC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gQmFzZSBtYXN0aGVhZCBzdHlsaW5nXG5cbi5sb2dvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZSk7XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTIwcHg7ICBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDIyLjgzIDEwNy42OVwiPjxwb2x5Z29uIHBvaW50cz1cIjAgMCAyMTEuNDIgMTA3LjY5IDQyMi44MyAwIDAgMFwiIHN0eWxlPVwiZmlsbDolMjNmZmY7XCIvPjwvc3ZnPicpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHRvcDogNzBweDtcbiAgICB3aWR0aDogMTI1cHg7XG4gICAgaGVpZ2h0OiAxNTBweDsgIFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyBpZD1cIkxheWVyXzFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyODkuNDEgMjk0LjgzXCI+PHBvbHlnb24gcG9pbnRzPVwiMCAwIDAgMCAwIDI5NC44MiAwIDI5NC44MyAyODkuNDEgMTQ3LjQxIDAgMFwiIHN0eWxlPVwiZmlsbDolMjNmZmY7XCIvPjwvc3ZnPicpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICB3aWR0aDogMTM1cHg7XG4gICAgaGVpZ2h0OiAxNjBweDsgIFxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjI1cHg7ICBcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoYmFubmVyKSB7XG4gICAgdG9wOiA3MHB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDMyNXB4OyAgXG4gIH1cblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAubG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IFxuXG4gICAgICBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE0NSk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLmxvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg5MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAubG9nbyB7XG4gICAgICBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEwMCk7XG4gICAgICB9XG4gICAgfSBcbiAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgLmxvZ28ge1xuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxNTApO1xuICAgICAgfVxuICAgIH0gXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGJhbm5lcikge1xuICAgIC5sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4jbWFzdGhlYWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgdG9wOiAxMTBweDtcblxuICAgICYubWVudS1vcGVuIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cblxuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwO1xuXG59XG5cbi8vIEJhc2UgbWFzdGhlYWQgZnJhbWluZ1xuI21hc3RoZWFkIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAvL3otaW5kZXg6IDQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuM3MgZWFzZSk7XG4gIH1cbiAgLm1hc3RoZWFkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcInNtYWxsXCIpIC8gMjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcImxhcmdlXCIpIC8gMjtcbiAgICB9XG4gICAgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAubWVudS1jb250ZW50IHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5tZW51LW9wZW4ge1xuICAgIC5tYXN0aGVhZC1jb250ZW50IHsgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgIH0gICBcbiAgfVxufVxuXG4vLyBMb2dvIHNpemluZy9mcmFtaW5nXG4jbWFzdGhlYWQge1xuICAubG9nbyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgMC4zcyBlYXNlLCB3aWR0aCAwLjNzIGVhc2UpO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDc1KTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg3NSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVza3RvcCBtZW51IGZyYW1pbmdcblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAjbWFzdGhlYWQge1xuICAgIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAjbWFzdGhlYWQge1xuICAgIC5tZW51LWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwMHB4KTtcbiAgICB9XG4gICAgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAjbWFzdGhlYWQge1xuICAgIC5tZW51LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwMHB4KTtcbiAgICB9XG4gICAgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4ocmlnaHQgdG9wKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtIDAuM3MgZWFzZSwgaGVpZ2h0IDFzIGVhc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICNtYXN0aGVhZCAubWVudS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy96LWluZGV4OiAxO1xuICB9XG59XG4iLCIvLyBCYXNlIGZvbnQgc3R5bGluZ1xuI21hc3RoZWFkIHtcbiAgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICAubWVudSB7XG4gICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzdWxsaXZhbi1mb250O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMiAwKTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI21hc3RoZWFkIHtcbiAgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICAubWVudSB7XG4gICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWYXJpYWJsZSBmb250IHNpemluZ1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgI21hc3RoZWFkIC5tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIC5zdWJtZW51IC5tZW51LWl0ZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IC5tZW51LWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbigpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgI21hc3RoZWFkIC5tZW51IHtcbiAgICAubWVudS1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRHJvcGRvd24gbWVudSBzdHlsaW5nXG4jbWFzdGhlYWQge1xuICAubWFpbi1tZW51LXdyYXBwZXIge1xuICAgIC5tZW51IHtcbiAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgJixcbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xsaW5zLXJlZDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcMDBCQlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoOCk7XG4gICAgICByaWdodDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAvLyYuZmlyc3Qtc3ViIHtcbiAgICAgIC8vYmFja2dyb3VuZDogZ3JlZW47XG4gICAgLy99XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgYW5pbWF0aW9uOiByZXZlYWxEb3duIDAuNHMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcblxuICAgIEBrZXlmcmFtZXMgcmV2ZWFsRG93biB7XG4gICAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgfVxuICAgICAgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMS4wNSk7XG4gICAgICB9XG4gICAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTI1JTtcbn1cblxuLy8gRHJvcGRvd24gbWVudSBmcmFtaW5nXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAjbWFzdGhlYWQgLm1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSB7XG5cbiAgICAmID4gLm1lbnUtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0KSByZW0tY2FsYygxMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTIuNDkyXCIgaGVpZ2h0PVwiMTIuNzI2XCIgdmlld0JveD1cIjAgMCAxMi40OTIgMTIuNzI2XCI+PGcgaWQ9XCJHcm91cF8zOVwiIGRhdGEtbmFtZT1cIkdyb3VwIDM5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MDcuNDM1IDIxNi4xNTcpXCI+PGcgaWQ9XCJHcm91cF8yN1wiIGRhdGEtbmFtZT1cIkdyb3VwIDI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwNy40MzUgLTIxNi4xNTgpXCI+PHBhdGggaWQ9XCJQYXRoXzI4XCIgZGF0YS1uYW1lPVwiUGF0aCAyOFwiIGQ9XCJNNzcuMjIyLDBWMTIuNzI2TDg5LjcxNCw2LjM2M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTc3LjIyMilcIiBmaWxsPVwiJTIzZmZmXCIvPjwvZz48L2c+PC9zdmc+Jyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTMpO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEpO1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNik7XG4gICAgICAgICAgICB9ICBcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vZGFsIG1lbnUgZnJhbWluZ1xuI21vZGFsLW1lbnUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwic21hbGxcIik7XG5cbiAgI21vZGFsLW1lbnUtd3JhcCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICBtYXJnaW46IDEuMzMzMzNyZW07XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLm1haW4tbWVudSB7XG4gICAgLy8gQGluY2x1ZGUgdmVydGljYWwtYWxpZ24oKTtcblxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKTtcblxuICAgICAgLnN1Ym1lbnUge1xuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwic21hbGxcIikgMCAwIDA7XG5cbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKSAvIDI7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9kYWwgbWVudSBzdHlsaW5nXG4jbW9kYWwtbWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAubWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLnN1Ym1lbnUge1xuICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubUNTQl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICAgIGRpc3BsYXk6IC1tb3otYm94OyAvKiBPTEQgLSBGaXJlZm94IDE5LSAqL1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IC8qIE5FVyAtIENocm9tZSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7IC8qIE5FVywgT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIC5tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXUCBwb3N0IG5hdmlnYXRpb25cbi5wb3N0LW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4iLCIvLyBNZW51IHRvZ2dsZSBidXR0b25cbiNtYXN0aGVhZCB7XG4gIC5tb2JpbGUtbWVudS10b2dnbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZSk7XG5cbiAgICBkaXYge1xuICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlcixcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQgMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oY2VudGVyIGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgZGl2IHtcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubWVudS1vcGVuIC5tb2JpbGUtbWVudS10b2dnbGUge1xuICAgIGRpdiB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlcixcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWShyZW0tY2FsYyg3KSkgcm90YXRlKDEzNWRlZykpO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWShyZW0tY2FsYygtNykpIHJvdGF0ZSgtMTM1ZGVnKSk7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDUwKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICYubWluaW1pemUge1xuICAgICAgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg3MSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1lbnUgdG9nZ2xlIGJ1dHRvbiB2aXNpYmlsaXR5XG4jbWFzdGhlYWQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLm1vYmlsZS1tZW51LXRvZ2dsZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMjAwJSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNb2JpbGUgbWVudSBjb250YWluZXIgZnJhbWluZ1xuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coXG4gICAgcmVtLWNhbGMoLTE1KSAwIHJlbS1jYWxjKDE1KSByZW0tY2FsYygtMTUpIHJnYmEoJGJsYWNrLCAwLjUpXG4gICk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oXG4gICAgaGVpZ2h0IDAuNXMgZWFzZSAwLjJzLFxuICAgIG9wYWNpdHkgMC4zcyBlYXNlLFxuICAgIHdpZHRoIDAuNXMgZWFzZSAwLjJzXG4gICk7XG5cbiAgJi5tZW51LW9wZW4ge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihcbiAgICAgIGhlaWdodCAwLjVzIGVhc2UsXG4gICAgICBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLFxuICAgICAgd2lkdGggMC41cyBlYXNlXG4gICAgKTtcbiAgfVxuICAubWVudS1mcmFtZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuM3MgZWFzZSk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHdpZHRoOiAwO1xuXG4gICAgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuICAgIH1cbiAgICAmLm1lbnUtb3BlbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm1lbnUtZnJhbWUge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDY2cHgpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTUgMjAgMjApO1xuICAgIH1cbiAgICAmLm1pbmltaXplIC5tZW51LWZyYW1lIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTUgMjAgMjIpO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2Nik7XG5cbiAgICAmLFxuICAgICYubWluaW1pemUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC5tZW51LWZyYW1lIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDZweCk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCA0Mik7XG4gICAgfVxuICAgICYubWVudS1vcGVuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmLm1pbmltaXplIHtcbiAgICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAubWVudS1mcmFtZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDE2IDIwIDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHRvcDogcmVtLWNhbGMoOTQpO1xuXG4gICAgJixcbiAgICAmLm1pbmltaXplIHtcbiAgICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ3MCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5tZW51LWZyYW1lIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMTZweCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLm1lbnUtZnJhbWUge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDExMXB4KTtcbiAgICB9XG4gICAgJixcbiAgICAmLm1pbmltaXplIHtcbiAgICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ5MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vYmlsZSBtZW51IGZyYW1pbmdcbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciB7XG4gIC5tZW51LWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkc3VsbGl2YW4tZm9udDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTUgMCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5oYXMtc3VibWVudSB7XG4gICAgICAvLy5tZW51LWl0ZW0ge1xuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAvL31cbiAgICAgICYgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMCAyMCk7XG5cbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwKTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9iaWxlIG1lbnUgc3R5bGluZ1xuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIHtcbiAgYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4xcyBlYXNlKTtcbiAgfVxuICAubWVudS1pdGVtW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYSxcbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuIiwiLm1haW4td3JhcCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gIC5tYWluLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAuYmFubmVyIHtcbiAgICAgICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgICAgLm1haW4tY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZToxMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRuOjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmNvbnRlbnQtYmFuZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuLy8gQnJva2VuIGltYWdlIGZhbGxiYWNrIHN0eWxlc1xuaW1nIHtcbiAgJixcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC4wNSk7XG4gICAgYm9yZGVyOiByZW0tY2FsYygyKSBkYXNoZWQgcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgIGNvbnRlbnQ6IFwiSW1hZ2Ugbm90IGZvdW5kXCI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gIH1cbn1cblxuLm1haW4tY29udGVudCB7XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgZnJhbWluZ1xuI3NpdGUtZm9vdGVyIHtcblx0LmZvb3Rlci1jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG5cdFx0bWF4LXdpZHRoOiA2MHJlbTtcblx0XG5cdFx0LmZvb3Rlci1ncmlkIHtcblx0XHQgIEBpbmNsdWRlIHh5LWdyaWQ7XG5cblx0XHQgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG5cdFx0ICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcblx0XHQgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTE1KTtcbiAgXG5cdFx0ICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG5cdFx0XHRwIHtcblx0XHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHQgIG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHQgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIFxuXHRcdFx0ICBhIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcbiAgXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHQgIGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdH1cblx0XHRcdCAgfVxuXHRcdFx0fVxuXG5cdFx0XHQucHJpdmFjeS1saW5rcy1ibG9jayB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcdFxuXHRcdFx0ICBvcmRlcjogMTtcblxuXHRcdFx0ICBAaW5jbHVkZSB4eS1jZWxsKFxuXHRcdFx0XHQkc2l6ZTogNixcblx0XHRcdFx0JGd1dHRlcnM6IDMwcHgsXG5cdFx0XHRcdCRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuXHRcdFx0ICApO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ICBAaW5jbHVkZSB4eS1jZWxsKFxuXHRcdFx0XHQkc2l6ZTogMyxcblx0XHRcdFx0JGd1dHRlcnM6IDMwcHgsXG5cdFx0XHRcdCRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuXHRcdFx0ICApO1xuXHRcdFx0fVxuXHRcdCAgfVxuXG5cdFx0ICAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHRcblx0XHRcdFx0b3JkZXI6IDI7XG5cdFx0XHR9ICBcblx0XHQgIH1cblx0XHQgIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHRcblx0XHRcdFx0b3JkZXI6IDQ7XG5cdFx0XHR9ICBcblx0XHQgIH1cblx0XHQgIC5mb290ZXItbGlua3MtY29sdW1uLXRoaXJkIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcdFxuXHRcdFx0XHRvcmRlcjogMztcblx0XHRcdH0gIFxuXHRcdCAgfVxuXHRcblx0XHQgIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0LFxuXHRcdCAgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kLFxuXHRcdCAgLmZvb3Rlci1saW5rcy1jb2x1bW4tdGhpcmQge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1x0XG5cdFx0XHQgIEBpbmNsdWRlIHh5LWNlbGwoXG5cdFx0XHRcdCRzaXplOiA2LFxuXHRcdFx0XHQkZ3V0dGVyczogMzBweCxcblx0XHRcdFx0JGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG5cdFx0XHQgICk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQgIEBpbmNsdWRlIHh5LWNlbGwoXG5cdFx0XHRcdCRzaXplOiAzLFxuXHRcdFx0XHQkZ3V0dGVyczogMzBweCxcblx0XHRcdFx0JGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG5cdFx0XHQgICk7XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFxuXHRcdCAgLmZvb3Rlci1saW5rcy1jb2x1bW4tZmlyc3QsXG5cdFx0ICAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQsXG5cdFx0ICAuZm9vdGVyLWxpbmtzLWNvbHVtbi10aGlyZCB7XG5cdFx0XHRhIHtcblx0XHRcdCAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdCAgbGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDkpO1xuXHRcdFx0ICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcblx0XG5cdFx0XHQgICY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0XHQuZm9vdGVyLWxpbmstaGlnaGxpZ2h0IHtcblx0XHRcdCAgYSB7XG5cdFx0XHRcdCAgcGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHQgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFx0fVxuXHQgIH0gIFxufVxuXG4vLyBCYXNlIHN0eWxpbmdcbiNzaXRlLWZvb3RlciB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9zdmdzL2Zvb3Rlci1iZy5zdmcpOyBcdFxuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTIwIDAgODAgMCk7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdH1cbn1cbiIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xufSIsIi8qXG49PSBtYWxpaHUganF1ZXJ5IGN1c3RvbSBzY3JvbGxiYXIgcGx1Z2luID09XG5QbHVnaW4gVVJJOiBodHRwOi8vbWFub3MubWFsaWh1LmdyL2pxdWVyeS1jdXN0b20tY29udGVudC1zY3JvbGxlclxuKi9cblxuXG5cbi8qXG5DT05URU5UUzogXG5cdDEuIEJBU0lDIFNUWUxFIC0gUGx1Z2luJ3MgYmFzaWMvZXNzZW50aWFsIENTUyBwcm9wZXJ0aWVzIChub3JtYWxseSwgc2hvdWxkIG5vdCBiZSBlZGl0ZWQpLiBcblx0Mi4gVkVSVElDQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgdmVydGljYWwgc2Nyb2xsYmFyLiBcblx0My4gSE9SSVpPTlRBTCBTQ1JPTExCQVIgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiBob3Jpem9udGFsIHNjcm9sbGJhci5cblx0NC4gVkVSVElDQUwgQU5EIEhPUklaT05UQUwgU0NST0xMQkFSUyAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIDItYXhpcyBzY3JvbGxiYXJzLiBcblx0NS4gVFJBTlNJVElPTlMgLSBDU1MzIHRyYW5zaXRpb25zIGZvciBob3ZlciBldmVudHMsIGF1dG8tZXhwYW5kZWQgYW5kIGF1dG8taGlkZGVuIHNjcm9sbGJhcnMuIFxuXHQ2LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EUyBcblx0XHQ2LjEgVEhFTUVTIC0gU2Nyb2xsYmFyIGNvbG9ycywgb3BhY2l0eSwgZGltZW5zaW9ucywgYmFja2dyb3VuZHMgZXRjLiB2aWEgcmVhZHktdG8tdXNlIHRoZW1lcy5cbiovXG5cblxuXG4vKiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMS4gQkFTSUMgU1RZTEUgIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5cdC5tQ3VzdG9tU2Nyb2xsYmFyeyAtbXMtdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOyB0b3VjaC1hY3Rpb246IHBpbmNoLXpvb207IC8qIGRpcmVjdCBwb2ludGVyIGV2ZW50cyB0byBqcyAqLyB9XG5cdC5tQ3VzdG9tU2Nyb2xsYmFyLm1DU19ub19zY3JvbGxiYXIsIC5tQ3VzdG9tU2Nyb2xsYmFyLm1DU190b3VjaF9hY3Rpb257IC1tcy10b3VjaC1hY3Rpb246IGF1dG87IHRvdWNoLWFjdGlvbjogYXV0bzsgfVxuXHRcblx0Lm1DdXN0b21TY3JvbGxCb3h7IC8qIGNvbnRhaW5zIHBsdWdpbidzIG1hcmt1cCAqL1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRkaXJlY3Rpb246IGx0cjtcblx0fVxuXG5cdC5tQ1NCX2NvbnRhaW5lcnsgLyogY29udGFpbnMgdGhlIG9yaWdpbmFsIGNvbnRlbnQgKi9cblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxuXG5cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjIuIFZFUlRJQ0FMIFNDUk9MTEJBUiBcbnktYXhpc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG5cdC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcnsgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG5cblx0Lm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW57IG1hcmdpbi1yaWdodDogMDsgfSAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cblx0XG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcnsgLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHR9XG5cdFxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbnsgbWFyZ2luLWxlZnQ6IDA7IH0gLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHN7IC8qIGNvbnRhaW5zIHNjcm9sbGJhciBtYXJrdXAgKGRyYWdnYWJsZSBlbGVtZW50LCBkcmFnZ2VyIHJhaWwsIGJ1dHRvbnMgZXRjLikgKi9cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IGF1dG87XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgcmlnaHQ6IC0yNnB4OyB9IC8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuXHRcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMsIFxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHN7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblx0XG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgbGVmdDogLTI2cHg7IH0gLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyIChzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUpICovXG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcnsgLyogY29udGFpbnMgdGhlIGRyYWdnYWJsZSBlbGVtZW50IGFuZCBkcmFnZ2VyIHJhaWwgbWFya3VwICovXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogMDsgXG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IG1hcmdpbjogMjBweCAwOyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDJweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyeyAvKiB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgKi9cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAzMHB4OyAvKiBtaW5pbXVtIGRyYWdnZXIgaGVpZ2h0ICovXG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC8qIHRoZSBkcmFnZ2VyIGVsZW1lbnQgKi9cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdFxuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnsgd2lkdGg6IDEycHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cblx0XG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogOHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogMjBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJvdHRvbTogMDsgfVxuXG5cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjMuIEhPUklaT05UQUwgU0NST0xMQkFSIFxueC1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcntcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXHRcblx0Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX291dHNpZGUgPiAubUNTQl9jb250YWluZXJ7IG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuXHQubUNTQl9ob3Jpem9udGFsID4gLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW57IG1hcmdpbi1ib3R0b206IDA7IH0gLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogMTZweDtcblx0XHR0b3A6IGF1dG87XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHQubUN1c3RvbVNjcm9sbEJveCArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DdXN0b21TY3JvbGxCb3ggKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgYm90dG9tOiAtMjZweDsgfSAvKiBzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUgKi9cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IG1hcmdpbjogMCAyMHB4OyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdG1hcmdpbjogN3B4IDA7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcntcblx0XHR3aWR0aDogMzBweDsgLyogbWluaW11bSBkcmFnZ2VyIHdpZHRoICovXG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRtYXJnaW46IDZweCBhdXRvO1xuXHR9XG5cdFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0aGVpZ2h0OiAxMnB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbjogMnB4IGF1dG87XG5cdH1cblx0XG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDhweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW46IDRweCAwO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25SaWdodHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdFxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uTGVmdHsgbGVmdDogMDsgfVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25SaWdodHsgcmlnaHQ6IDA7IH1cblxuXG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG40LiBWRVJUSUNBTCBBTkQgSE9SSVpPTlRBTCBTQ1JPTExCQVJTIFxueXgtYXhpcyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cdFxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlciA+IC5tQ1NCX2NvbnRhaW5lcntcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdFxuXHQubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHsgYm90dG9tOiAyMHB4OyB9XG5cdFxuXHQubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyByaWdodDogMjBweDsgfVxuXHRcblx0Lyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IGJvdHRvbTogMDsgfVxuXHRcblx0Lyogbm9uLXZpc2libGUgdmVydGljYWwgc2Nyb2xsYmFyL1JUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHQubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsIFxuXHQubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7IHJpZ2h0OiAwOyB9XG5cdFxuXHQvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cblx0Lm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyBsZWZ0OiAyMHB4OyB9XG5cdFxuXHQvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scyB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgbGVmdDogMDsgfVxuXHRcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXJ7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0fVxuXHRcblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiA+IC5tQ1NCX2NvbnRhaW5lcnsgcGFkZGluZy1yaWdodDogMDsgfVxuXHRcblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiA+IC5tQ1NCX2NvbnRhaW5lcnsgcGFkZGluZy1ib3R0b206IDA7IH1cblx0XG5cdC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW57XG5cdFx0bWFyZ2luLXJpZ2h0OiAwOyAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHRcblx0Lyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbnsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuIFRSQU5TSVRJT05TICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQubUNTQl9zY3JvbGxUb29scywgXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0fVxuXHRcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLCAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcblx0XHRcdFx0XHRtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxuXHRcdC1tb3otdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcblx0XHRcdFx0XHRtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxuXHRcdC1vLXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcblx0XHRcdFx0XHRtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXG5cdFx0XHRcdFx0bWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXG5cdFx0XHRcdFx0b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyBcblx0XHR0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxuXHRcdFx0XHRcdG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLFxuXHRcdFx0XHRcdG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgXG5cdH1cblxuXG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG42LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EUyAgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0LyogXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ni4xIFRIRU1FUyBcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQqL1xuXHRcblx0LyogZGVmYXVsdCB0aGVtZSAoXCJsaWdodFwiKSAqL1xuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzeyBvcGFjaXR5OiAwLjc1OyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XG5cdFxuXHQubUNTLWF1dG9IaWRlID4gLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHN7IG9wYWNpdHk6IDA7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0wKVwiOyB9XG5cdFxuXHQubUN1c3RvbVNjcm9sbGJhciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWcsXG5cdC5tQ3VzdG9tU2Nyb2xsYmFyID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZyxcblx0Lm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgPiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgfiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG5cdC5tQ1MtYXV0b0hpZGU6aG92ZXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzeyBvcGFjaXR5OiAxOyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC40KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyBcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyBcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTg1KVwiOyBcblx0fVxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyBcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwobUNTQl9idXR0b25zLnBuZyk7IC8qIGNzcyBzcHJpdGVzICovXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRvcGFjaXR5OiAwLjQ7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IFxuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXHRcdC8qIFxuXHRcdHNwcml0ZXMgbG9jYXRpb25zIFxuXHRcdGxpZ2h0OiAwIDAsIC0xNnB4IDAsIC0zMnB4IDAsIC00OHB4IDAsIDAgLTcycHgsIC0xNnB4IC03MnB4LCAtMzJweCAtNzJweFxuXHRcdGRhcms6IC04MHB4IDAsIC05NnB4IDAsIC0xMTJweCAwLCAtMTI4cHggMCwgLTgwcHggLTcycHgsIC05NnB4IC03MnB4LCAtMTEycHggLTcycHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xuXHRcdC8qIFxuXHRcdHNwcml0ZXMgbG9jYXRpb25zXG5cdFx0bGlnaHQ6IDAgLTIwcHgsIC0xNnB4IC0yMHB4LCAtMzJweCAtMjBweCwgLTQ4cHggLTIwcHgsIDAgLTkycHgsIC0xNnB4IC05MnB4LCAtMzJweCAtOTJweFxuXHRcdGRhcms6IC04MHB4IC0yMHB4LCAtOTZweCAtMjBweCwgLTExMnB4IC0yMHB4LCAtMTI4cHggLTIwcHgsIC04MHB4IC05MnB4LCAtOTZweCAtOTJweCwgLTExMiAtOTJweFxuXHRcdCovXG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG5cdFx0LyogXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnMgXG5cdFx0bGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxuXHRcdGRhcms6IC04MHB4IC00MHB4LCAtMTAwcHggLTQwcHgsIC0xMjBweCAtNDBweCwgLTE0MHB4IC00MHB4LCAtODBweCAtMTEycHgsIC0xMDBweCAtMTEycHgsIC0xMjBweCAtMTEycHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTZweDtcblx0XHQvKiBcblx0XHRzcHJpdGVzIGxvY2F0aW9ucyBcblx0XHRsaWdodDogMCAtNTZweCwgLTIwcHggLTU2cHgsIC00MHB4IC01NnB4LCAtNjBweCAtNTZweCwgMCAtMTI4cHgsIC0yMHB4IC0xMjhweCwgLTQwcHggLTEyOHB4XG5cdFx0ZGFyazogLTgwcHggLTU2cHgsIC0xMDBweCAtNTZweCwgLTEyMHB4IC01NnB4LCAtMTQwcHggLTU2cHgsIC04MHB4IC0xMjhweCwgLTEwMHB4IC0xMjhweCwgLTEyMHB4IC0xMjhweFxuXHRcdCovXG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDpob3Zlcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjpob3Zlcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDpob3Zlcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6aG92ZXJ7IG9wYWNpdHk6IDAuNzU7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDphY3RpdmUsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246YWN0aXZlLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0OmFjdGl2ZSxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6YWN0aXZleyBvcGFjaXR5OiAwLjk7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IH1cblx0XG5cblx0LyogdGhlbWU6IFwiZGFya1wiICovXG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjE1KTsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43NSk7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC44NSk7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC45KTsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwcHg7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDBweDsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblxuXG5cdC8qIHRoZW1lOiBcImxpZ2h0LTJcIiwgXCJkYXJrLTJcIiAqL1xuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7IGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDFweDsgYm9yZGVyLXJhZGl1czogMXB4O1xuXHR9XG5cblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG1hcmdpbjogNnB4IGF1dG87XG5cdH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpOyB9XG5cblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XG5cblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwcHg7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTQwcHg7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTU2cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZTogXCJkYXJrLTJcIiAqL1xuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7IC1tb3otYm9yZGVyLXJhZGl1czogMXB4OyBib3JkZXItcmFkaXVzOiAxcHg7XG5cdH1cblxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjc1KTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7IGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjkpOyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cblxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMjBweDsgfVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtNTZweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblxuXG5cdC8qIHRoZW1lOiBcImxpZ2h0LXRoaWNrXCIsIFwiZGFyay10aGlja1wiICovXG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7IC1tb3otYm9yZGVyLXJhZGl1czogMnB4OyBib3JkZXItcmFkaXVzOiAycHg7XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0d2lkdGg6IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xuXHR9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG1hcmdpbjogNnB4IDA7XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdG1hcmdpbjogNXB4IGF1dG87XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTsgfVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjBweDsgfVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTQwcHg7IH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC01NnB4OyB9XG5cblxuXHQvKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cblx0XG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xuXHR9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xuXHR9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuOSk7IH1cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfVxuXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0yMHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTU2cHg7IH1cblx0XG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XG5cblxuXHQvKiB0aGVtZTogXCJsaWdodC10aGluXCIsIFwiZGFyay10aGluXCIgKi9cblx0XG5cdC5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7IH1cblxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyB3aWR0aDogMnB4OyB9XG5cblx0Lm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHsgd2lkdGg6IDEwMCU7IH1cblxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRtYXJnaW46IDdweCBhdXRvO1xuXHR9XG5cblxuXHQvKiB0aGVtZSBcImRhcmstdGhpblwiICovXG5cdFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xNSk7IH1cblxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43NSk7IH1cblx0XG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cdFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuOSk7IH1cblx0XG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDsgfVxuXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7IH1cblxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblx0XG5cdFxuXHQvKiB0aGVtZSBcInJvdW5kZWRcIiwgXCJyb3VuZGVkLWRhcmtcIiwgXCJyb3VuZGVkLWRvdHNcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyeyBoZWlnaHQ6IDE0cHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTRweDtcblx0XHRtYXJnaW46IDAgMXB4O1xuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnsgd2lkdGg6IDE0cHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGhlaWdodDogMTRweDtcblx0XHRtYXJnaW46IDFweCAwO1xuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTZweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0bWFyZ2luOiAtMXB4IDA7XG5cdH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogNHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGhlaWdodDogMTZweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHR3aWR0aDogMTZweDtcblx0XHRtYXJnaW46IDAgLTFweDtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDRweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW46IDZweCAwO1xuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwicm91bmRlZC1kYXJrXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43NSk7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjE1KTsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjg1KTsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjkpOyB9XG5cdFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNzJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwicm91bmRlZC1kb3RzXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbHsgd2lkdGg6IDRweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTkVsRVFWUVlWMk5rSUFBWWlWYncvLzkvWTZEaU0xQU5Kb3lNakdkQmJMZ0pRQVgva1UwREtnRExrYVFBdnhXNEhFdlFGd0NSY3hJSksxWHpuQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG5cdFx0b3BhY2l0eTogMC4zO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IFxuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRtYXJnaW46IDZweCAwO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTcycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTkycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTExMnB4OyB9XG5cdFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTI4cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZSBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cblx0XG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlWMk5rSUFBWVNWRmdERlI4QnFyQkJFaWZCYkdSVGZpUFpocFlqaVFGQkszQTZsNkN2Z0FBRTlrR0NkMW12Z0VBQUFBQVNVVk9SSzVDWUlJPVwiKTtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNzJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05MnB4OyB9XG5cdFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMTJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEyOHB4OyB9XG5cdFxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRcblx0XG5cdC8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIsIFwiM2QtdGhpY2tcIiwgXCIzZC10aGljay1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLHJnYmEoMjU1LDI1NSwyNTUsMC41KSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApKSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0fVxuXHRcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgyNTUsMjU1LDI1NSwwLjUpKSwgY29sb3Itc3RvcCgxMDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0fVxuXHRcblx0XG5cdC8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcnsgaGVpZ2h0OiA3MHB4OyB9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyeyB3aWR0aDogNzBweDsgfVxuXHRcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHN7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyBcblx0fVxuXHRcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4OyBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogOHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjIpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC41KSwgaW5zZXQgLTFweCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdH1cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcdCBcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IHdpZHRoOiA4cHg7IH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA4cHg7XG5cdFx0bWFyZ2luOiA0cHggMDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuNSksIGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuXHR9XG5cblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDhweDtcblx0XHRtYXJnaW46IDRweCBhdXRvO1xuXHR9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cdFxuXHRcblx0LyogdGhlbWUgXCIzZC1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xKTtcblx0fVxuXHRcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpOyB9XG5cdFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblx0XG5cdFxuXHQvKiB0aGVtZTogXCIzZC10aGlja1wiLCBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHN7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyBcblx0fVxuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMsIFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogN3B4OyAtbW96LWJvcmRlci1yYWRpdXM6IDdweDsgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cdFxuXHQubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsIFxuXHQubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHsgcmlnaHQ6IDFweDsgfVxuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuNSk7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtcblx0XHRib3R0b206IDFweDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjUpO1xuXHR9XG5cdFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0bWFyZ2luOiAycHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwwLjQpOyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgIFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsgfVxuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjA1KTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSk7XG5cdH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZTogXCIzZC10aGljay1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMTRweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTsgfVxuXHRcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTsgfVxuXHRcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCksIGluc2V0IC0xcHggMCAwIHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjIpOyB9XG5cdCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC40KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMik7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsICBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMDUpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMTZweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xKTtcblx0fVxuXHRcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4OyB9XG5cblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cdFxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRcblx0XG5cdC8qIHRoZW1lOiBcIm1pbmltYWxcIiwgXCJtaW5pbWFsLWRhcmtcIiAqL1xuXHRcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLCBcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7XG5cdFx0cmlnaHQ6IDA7IFxuXHRcdG1hcmdpbjogMTJweCAwOyBcblx0fVxuXHRcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsIFxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCwgXG5cdC5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsLWRhcmsgKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtcblx0XHRib3R0b206IDA7IFxuXHRcdG1hcmdpbjogMCAxMnB4OyBcblx0fVxuXHRcblx0LyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCwgXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2Fse1xuXHRcdGxlZnQ6IDA7IFxuXHRcdHJpZ2h0OiBhdXRvO1xuXHR9XG5cdFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cdFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyeyBoZWlnaHQ6IDUwcHg7IH1cblx0XG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyeyB3aWR0aDogNTBweDsgfVxuXHRcblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgXG5cdH1cblx0XG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IFxuXHR9XG5cdFxuXHRcblx0LyogdGhlbWU6IFwibWluaW1hbC1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiOyBcblx0fVxuXHRcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuNSk7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjsgXG5cdH1cblx0XG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XG5cdFxuXHRcblx0LyogdGhlbWUgXCJsaWdodC0zXCIsIFwiZGFyay0zXCIgKi9cblx0XG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogNnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjIpO1xuXHR9XG5cblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnsgd2lkdGg6IDZweDsgfVxuXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDZweDtcblx0XHRtYXJnaW46IDVweCAwO1xuXHR9XG5cdFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogMTJweDtcblx0fVxuXHRcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0bWFyZ2luOiAycHggMDtcblx0fVxuXHRcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXHRcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cdFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cdFxuXHRcblx0LyogdGhlbWUgXCJkYXJrLTNcIiAqL1xuXHRcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuNzUpOyB9XG5cblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC44NSk7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuOSk7IH1cblx0XG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpOyB9XG5cdFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cdFxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRcblx0XG5cdC8qIHRoZW1lIFwiaW5zZXRcIiwgXCJpbnNldC1kYXJrXCIsIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMik7XG5cdH1cblxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgXG5cdFx0d2lkdGg6IDZweDtcblx0XHRtYXJnaW46IDNweCA1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDZweDtcblx0XHRtYXJnaW46IDVweCAzcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXHRcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdG1hcmdpbjogMnB4IDA7XG5cdH1cblx0XG5cdC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwgXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLCBcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwgXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXHRcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LCBcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cdFxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwgXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZSBcImluc2V0LWRhcmtcIiwgXCJpbnNldC0yLWRhcmtcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjc1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjg1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC45KTsgfVxuXHRcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSk7IH1cblx0XG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLCBcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiICovXG5cdFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblx0XG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJvcmRlci1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYm9yZGVyLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwiaW5zZXQtM1wiLCBcImluc2V0LTMtZGFya1wiICovXG5cdFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOyB9XG5cdFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC42KTsgfVxuXHRcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjc1KTsgfVxuXHRcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cdFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC45KTsgfVxuXHRcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOyB9XG5cdFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44NSk7IH1cblx0XG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cblx0XG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgU2V0dGluZ3MgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIE92ZXJsYXkgb3B0aW9uc1xuJG1mcC1jb2xvci1zY2hlbWUtZGFyazogICAgICAgICAgICAgICAkYmxhY2s7XG4kbWZwLWNvbG9yLXNjaGVtZS1saWdodDogICAgICAgICAgICAgICR3aGl0ZTtcblxuLy8gb3ZlcmxheVxuJG1mcC1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbWZwLWNvbG9yLXNjaGVtZS1kYXJrICFkZWZhdWx0OyAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjkgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDsgXHQgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICRtZnAtY29sb3Itc2NoZW1lLWxpZ2h0ICFkZWZhdWx0OyAgICAgLy8gQ2FwdGlvbiB0aXRsZSBjb2xvclxuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAkbWZwLWNvbG9yLXNjaGVtZS1saWdodCAhZGVmYXVsdDsgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcblxuLy8gQTExeVxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gSGlkZSBjb250ZW50IGZyb20gYnJvd3NlcnMsIGJ1dCBtYWtlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxuLm1mcC1hbGlnbi10b3Age1xuICAubWZwLWNvbnRhaW5lciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwXG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcblxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgICB0b3A6OHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gIH1cbn1cblxuLy8gQWRkaW5nIHpvb20gZmFkZSBzdHlsaW5nXG4ubWZwLXdpdGgtem9vbSAubWZwLWNvbnRhaW5lcixcbi5tZnAtd2l0aC16b29tLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQpO1xufVxuXG4ubWZwLXdpdGgtem9vbS5tZnAtcmVhZHkgLm1mcC1jb250YWluZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nIC5tZnAtY29udGFpbmVyLFxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG59IiwiLmJ1dHRvbixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAvL21heC13aWR0aDogcmVtLWNhbGMoNDUwKTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gICYsXG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuICAubWFpbi10ZXh0IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTIuNDkyXCIgaGVpZ2h0PVwiMTIuNzI2XCIgdmlld0JveD1cIjAgMCAxMi40OTIgMTIuNzI2XCI+PGcgaWQ9XCJHcm91cF8zOVwiIGRhdGEtbmFtZT1cIkdyb3VwIDM5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01MDcuNDM1IDIxNi4xNTcpXCI+PGcgaWQ9XCJHcm91cF8yN1wiIGRhdGEtbmFtZT1cIkdyb3VwIDI3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUwNy40MzUgLTIxNi4xNTgpXCI+PHBhdGggaWQ9XCJQYXRoXzI4XCIgZGF0YS1uYW1lPVwiUGF0aCAyOFwiIGQ9XCJNNzcuMjIyLDBWMTIuNzI2TDg5LjcxNCw2LjM2M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTc3LjIyMilcIiBmaWxsPVwiJTIzMDAwXCIvPjwvZz48L2c+PC9zdmc+Jyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTMpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgdG9wOiByZW0tY2FsYyg3KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAubWFpbi10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAubWFpbi10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgfVxuICAmLmMyYS1idG4ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDApO1xuICAgIGNvbG9yOiAkY29sbGlucy1yZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjRzIGVhc2UtaW4tb3V0KTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgLm1haW4tdGV4dCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJGNvbGxpbnMtcmVkOyAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gZ3JvdXAgc3BhY2luZ1xuLmJ0bi1ncm91cCB7XG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGdWxsIHdpZHRoICYgVHdvIGNvbHVtbiAtIG1haW4gY29udGVudCAtIGJhbmQgZ3JpZCBmcmFtaW5nXG4uZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuXHRAaW5jbHVkZSB4eS1ncmlkO1xufVxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHQuZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuXHRcdCYuY2FsbG91dC1jb2xzLTEge1xuXHRcdFx0LmNhbGxvdXQge1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjEyLCAkZ3V0dGVyLW91dHB1dDpmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY2FsbG91dC1jb2xzLTIsICYuY2FsbG91dC1jb2xzLTMge1xuXHRcdFx0LmNhbGxvdXQge1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjEyLCAkZ3V0dGVyLXBvc2l0aW9uOnRvcCBib3R0b20pO1xuXHRcdFx0XHRcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cdFxuXHRcdH1cblx0XHQuY2FsbG91dCB7XG5cdFx0XHQuY2FsbG91dC1mcmFtZSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzNy41JTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cywgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cyB7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTUpO1xuXG5cdFx0Ji5jYWxsb3V0LWNvbHMtMSB7XG5cdFx0XHQuY2FsbG91dCB7XG5cdFx0XHRcdEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6OCwgJGd1dHRlci1vdXRwdXQ6dHJ1ZSk7XG5cdFx0XHRcdEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRuOjIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNhbGxvdXQtY29scy0yIHtcblx0XHRcdC5jYWxsb3V0IHtcblx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgkc2l6ZTo2LCAkZ3V0dGVyLXBvc2l0aW9uOnJpZ2h0IGxlZnQpO1xuXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XHRcblx0XHR9XG5cdFx0Ji5jYWxsb3V0LWNvbHMtMyB7XG5cdFx0XHQuY2FsbG91dCB7XG5cdFx0XHRcdEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6NCwgJGd1dHRlcnM6IDMwLCAkZ3V0dGVyLXBvc2l0aW9uOnJpZ2h0IGxlZnQpO1xuXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XHRcblx0XHR9XG5cdFx0LmNhbGxvdXQge1xuXHRcdFx0LmNhbGxvdXQtZnJhbWUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNjYuNyU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFR3byBjb2x1bW4gLSBzaWRlYmFyIC0gYmFuZCBncmlkIGZyYW1pbmdcbi50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuXHRAaW5jbHVkZSB4eS1ncmlkO1xufVxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHQudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIge1xuXHRcdCYuY2FsbG91dC1jb2xzLTEge1xuXHRcdFx0LmNhbGxvdXQge1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjEyLCAkZ3V0dGVyLW91dHB1dDpmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY2FsbG91dC1jb2xzLTIsICYuY2FsbG91dC1jb2xzLTMge1xuXHRcdFx0LmNhbGxvdXQge1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjEyLCAkZ3V0dGVyLXBvc2l0aW9uOmJvdHRvbSk7XG5cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XHRcblx0XHR9XG5cdH1cbn0iLCIuY2FsbG91dC1ibG9ja3Mge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIFxuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTE1KTtcbiAgXG4gICAgLmNhbGxvdXQtYmxvY2sge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgJHNpemU6IDEyLFxuICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICApO1xuICAgICAgfVxuICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAkc2l6ZTogNCxcbiAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgXG4gICAgICAuY2FsbG91dC1ibG9jay1pbnRlcmlvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpOyAgXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC04KTtcbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpOyAgXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC04KTtcbiAgICAgICAgfSBcblxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5jYWxsb3V0LWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xsaW5zLXJlZDtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FsbG91dC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIFxuICAgICAgICAgICAgLmNhbGxvdXQtaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMyk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc3VsbGl2YW4tZm9udDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfSAgIiwiLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICB9XG59XG4iLCIuZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuIiwiLy8gQXBwbHkgb3V0bGluZSBzdHlsZXMgb25seSB3aGVuIGlucHV0IG1ldGhvZCBpcyBrZXlib2FyZFxuLy8gcmVtb3ZlIDpmb2N1cyBzdHlsZSB2aWEgV2hhdCBJbnB1dCB1c2luZyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudFxuLy8gc28gOmZvY3VzIGlzbid0IGxlZnQgYnJva2VuIGlmIEphdmFTY3JpcHQgZmFpbHNcblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiLmpvYi1saXN0aW5ncy1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgXG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTUpO1xuICBcbiAgICAuc2luZ2xlLWpvYi1saXN0aW5nLWNhcmQge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgKTsgIFxuICBcbiAgICAgIC5qb2ItbGlzdGluZy1jYXJkLWludGVyaW9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbGxpbnMtbGlnaHQtZ3JheTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWFuZC1qb2Itc3RhdHVzIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHN1bGxpdmFuLWZvbnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gIFxuXG5cblxuICAucmV2ZWFsIHtcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgICYuYXBwbHktZm9yLXdvcmstbW9kYWwge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxuICB9IiwiLy8gQmFzZSBhY2NvcmRpb24gdHJpZ2dlciBzdHlsaW5nXG4uYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBAZXh0ZW5kIGg2O1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LCAwLjI1KTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwic21hbGxcIikgLyA0KSAxcmVtO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYyg1KSBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTMpO1xuICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMTgwZGVnKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC41KTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ2xvYmFsLXJhZGl1cyAqIC0xKTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygkZ2xvYmFsLXJhZGl1cyArIDFyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY2NvcmRpb24gb24gbGlnaHQgZ3JheSBiYW5kIGJhY2tncm91bmQtY29sb3Jcbi5sdC1ncmF5LWJnIHtcbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUsXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkZGFyay1ncmF5LCAwLjI1KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoJGRhcmstZ3JheSwgMC43NSk7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoNSkgc29saWQgJHdoaXRlO1xuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJibG9ja3F1b3RlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG5cdFx0LnF1b3RlLXRleHQge1xuXHRcdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcMjAxQyc7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJ1xcMjAxRCc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvbnQgc2l6aW5nXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDMwKTtcblxuXHRcdC5xdW90ZS10ZXh0IHtcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEyKTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRibG9ja3F1b3RlIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAzMCk7XG5cblx0XHQucXVvdGUtdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuXHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0YmxvY2txdW90ZSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDAgMzApO1xuXG5cdFx0LnF1b3RlLXRleHQge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDE4KTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIE1lZGl1bSBncmF5IGJhY2tncm91bmQgZm9udCBjb2xvciBzdHlsaW5nXG4ubWQtZ3JheS1iZyB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdC5xdW90ZS10ZXh0IHtcblx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGNpdGUge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQmxhY2sgYmFja2dyb3VuZCBmb250IGNvbG9yIHN0eWxpbmdcbi5ibGFjay1iZyB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdC5xdW90ZS10ZXh0IHtcblx0XHRcdGNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHR9XG5cdH1cbn0iLCIuc3RhZmYtbWVtYmVycyB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgXG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNSk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTUpO1xuXG4gICAgLnN0YWZmLXBvc2l0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICBcbiAgICAuc3RhZmYtbWVtYmVyLWNhcmQge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgJHNpemU6IDEyLFxuICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiA2LFxuICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiA0LFxuICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICApO1xuICAgICAgfVxuICBcbiAgICAgIC5zdGFmZi1tZW1iZXItY2FyZC10ZXh0LWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sbGlucy1saWdodC1ncmF5O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAyMCk7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgIC5zdGFmZi1tZW1iZXItY2FyZC1pbnRlcmlvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpOyAgXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC04KTtcbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS1ncmF5LW5vdGNoLXNoYXBlLnN2Zyk7ICBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTgpO1xuICAgICAgICB9IFxuXG5cbiAgICAgICAgLnN0YWZmLW1lbWJlci1jYXJkLWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgfVxuICAgIH1cbiAgfSAgXG5cblxuXG4gIC5yZXZlYWwge1xuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgJi5zdGFmZi1iaW8tZGV0YWlscyB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgIC5zdGFmZi1wb3NpdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH0iLCIucHJvamVjdC1saXN0aW5ncy1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICBcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNSk7XG5cbiAgICAuc2luZ2xlLXByb2plY3QtY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICAgICAkc2l6ZTogNixcbiAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICRzaXplOiA0LFxuICAgICAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW5nbGUtcHJvamVjdC1jYXJkLWludGVyaW9yIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTsgIFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC04KTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICBcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogdXJsKC4uL3N2Z3MvYm90dG9tLWdyYXktbm90Y2gtc2hhcGUuc3ZnKTsgIFxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICBcbiAgICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKC04KTtcbiAgICAgICAgICAgIH0gICAgIFxuXG4gICAgICAgICAgICAuc2luZ2xlLXByb2plY3QtY2FyZC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH0gICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpbmdsZS1wcm9qZWN0LWNhcmQtdGV4dC1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xsaW5zLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAyMCk7XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgfVxufSIsIi5zZXJ2aWNlLWNhcmRzLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICBcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNSk7XG4gIFxuICAgIC5zaW5nbGUtc2VydmljZS1jYXJkIHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgJHNpemU6IDQsXG4gICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICk7XG4gICAgICB9XG4gIFxuICAgICAgLnNlcnZpY2UtY2FyZC10ZXh0LWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sbGlucy1saWdodC1ncmF5O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAyMCk7XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNlcnZpY2UtY2FyZC1pbnRlcmlvciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpOyAgXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC04KTtcbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS1ncmF5LW5vdGNoLXNoYXBlLnN2Zyk7ICBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTgpO1xuICAgICAgICB9IFxuXG5cbiAgICAgICAgLnNlcnZpY2UtY2FyZC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIFxuICAgICAgICAgICAgLnNlcnZpY2UtY2FyZC1oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMzKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzdWxsaXZhbi1mb250O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXG4gICAgICB9XG4gICAgfVxuICB9ICAiLCIuc29jaWFsLW1lZGlhLWxpbmtzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygzMik7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0NSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTsgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mYWNlYm9vayxcbiAgICAgICAgJi5pbnN0YWdyYW0sXG4gICAgICAgICYueW91dHViZSxcbiAgICAgICAgJi50d2l0dGVyLFxuICAgICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgICAgIGZpbGw6ICRibGFjaztcblxuICAgICAgICAgICAgJjpob3ZlciA+IHN2ZyxcbiAgICAgICAgICAgICY6Zm9jdXMgPiBzdmcge1xuICAgICAgICAgICAgZmlsbDogJGNvbGxpbnMtcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQmFzaWMgaW1hZ2UgZ2FsbGVyeSBncmlkIGZyYW1pbmdcbi5pbWctZ2FsbGVyeS1pdGVtIHtcblx0YSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4uaW1nLWdhbGxlcnktbG9nby1ibG9jayB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHQuc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEwMCU7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW1nLWdhbGxlcnktaXRlbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHQubGFyZ2UtdXAtNSwgLmxhcmdlLXVwLTYge1xuXHRcdC5pbWctZ2FsbGVyeS1pdGVtIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC5zdGQtYmxvY2stZ3JpZCAgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5pbWctZ2FsbGVyeS1pdGVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cblx0LmxhcmdlLXVwLTUsIC5sYXJnZS11cC02IHtcblx0XHQuaW1nLWdhbGxlcnktaXRlbSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC5pbWctZ2FsbGVyeS1pdGVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cblx0LmxhcmdlLXVwLTUsIC5sYXJnZS11cC02IHtcblx0XHQuaW1nLWdhbGxlcnktaXRlbSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEltYWdlIHNpemluZyBzdHlsaW5nXG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRpbWcubGFuZHNjYXBlLWltZyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIDApKTtcblx0fVxuXHRpbWcucG9ydHJhaXQtaW1nIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dG9wOiA1MCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIC01MCUpKTtcblx0fVxufSIsIi8vIE1vZGFsIHN0eWxlc1xuLmNhbGxvdXQtbW9kYWwucmV2ZWFsIHtcblx0cGFkZGluZzogcmVtLWNhbGMoNTApO1xuXG5cdHAsIHVsLCBvbCB7XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cdC5jYXB0aW9uIHtcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0fVxufVxuXG4vLyBJbWFnZSBncmlkIGZyYW1pbmdcbi5jYWxsb3V0IHtcblx0LnNjYWxlZC1pbWFnZSB7XG5cdFx0aW1nIHtcblx0XHRcdG1heC1oZWlnaHQ6IHJlbS1jYWxjKDM1MCk7XG5cdFx0fVxuXHR9XG5cdC5kZXNpZ25hdGlvbnMge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXHR9XG5cdC50aXRsZS10ZXh0LCAuZGVzaWduYXRpb25zIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0LmNhbGxvdXQtdGV4dCB7XG5cdFx0cGFkZGluZy10b3A6IChtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnc21hbGwnKSAvIDQpO1xuXG5cdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKGhlYWRlci1zaXplKG1lZGl1bSwgaDQpKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQsIC5jYWxsb3V0LW1vZGFsIHtcblx0LmNhcHRpb24ge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0fVxufVxuLmNhbGxvdXQtbW9kYWwge1xuXHQuZGVzaWduYXRpb25zIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0LmNhbGxvdXQge1xuXHRcdC5zY2FsZWQtaW1hZ2Uge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRlc2lnbmF0aW9ucyB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblx0XHR9XG5cdFx0LmNhbGxvdXQtdGV4dCB7XG5cdFx0XHRwYWRkaW5nOiAobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gNCkgMDtcblxuXHRcdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoaGVhZGVyLXNpemUobWVkaXVtLCBoNSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY2FsbG91dC1tb2RhbCB7XG5cdFx0LmRlc2lnbmF0aW9ucyB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0LmNhbGxvdXQtbW9kYWwge1xuXHRcdC5kZXNpZ25hdGlvbnMge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEltYWdlIGdyaWQgc3R5bGVzXG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQge1xuXHRhLnNjYWxlZC1pbWFnZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0KTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0fVxuXHQuc2NhbGVkLWltYWdlIHtcblx0XHQuaW1nLXdyYXAge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMTUlKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdFx0LmltZy13cmFwLCBpbWcge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRcblx0fVxuXHRhLm1haW4tdGV4dCB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG5cdFx0YmFja2dyb3VuZC1zaXplOiAwJSAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLXNpemUgMC4zcyBlYXNlKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5jYXB0aW9uLCAuc20tYnRucyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0fVxuXHQuY2FwdGlvbiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcblx0fVxufVxuXG4vLyBNb2RhbCBzdHlsZXNcbi5yZXZlYWwge1xuXHQuY2xvc2UtYnV0dG9uIHtcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4zcyBlYXNlLWluLW91dCk7XG5cdH1cbn0iLCIuc2luZ2xlLXByb2plY3QtdG9wLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzMCk7XG5cbiAgICBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBjb2xvcjogJGNvbGxpbnMtcmVkO1xuICAgIH1cblxuICAgIHAsIHVsLCBvbCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uc2luZ2xlLXByb2plY3QtYm90dG9tLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1NSk7XG59XG5cbi5zaW5nbGUtcHJvamVjdC1jb250YWN0LWNhbGxvdXQtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTUgMCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2luZ2xlLXByb2plY3QtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIFxuICAgIC5zaW5nbGUtcHJvamVjdC1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTUpO1xuXG5cbiAgICAgICAgLnNpbmdsZS1wcm9qZWN0LWNhbGxvdXQtYmxvY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICAgICAkc2l6ZTogMTIsXG4gICAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnNpbmdsZS1wcm9qZWN0LWJvdHRvbS1oYWxmLWNvbHVtbiB7XG5cbiAgICAgICAgICAgIC5zaW5nbGUtcHJvamVjdC1ib3R0b20tZGV0YWlscy1jYXJkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sbGlucy1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICAgICAkc2l6ZTogMTIsXG4gICAgICAgICAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICAgICAkc2l6ZTogNixcbiAgICAgICAgICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW5nbGUtcHJvamVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICAgICAgICAgJHNpemU6IDEyLFxuICAgICAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICAgICAgICAgJHNpemU6IDUsXG4gICAgICAgICAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2luZ2xlLXByb2plY3QtY2Fyb3VzZWwtYmxvY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICAgICAkc2l6ZTogMTIsXG4gICAgICAgICAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICAgICAkc2l6ZTogNyxcbiAgICAgICAgICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbn0gICIsIi8vIFRhYiBmcmFtaW5nICYgc3R5bGluZ1xuLnRhYnMsXG4uZG9jLWZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAudGFicy10aXRsZSxcbiAgLnJlcy1maWx0ZXIge1xuICAgIC8vZm9udC1mYW1pbHk6ICRib2xkLWZvbnQtZmFtaWx5O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE0KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UpO1xuICAgIH1cbiAgICAmOm5vdCguaXMtYWN0aXZlKSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC4xKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC4yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1hY3RpdmUgYSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAudGFicy10aXRsZSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg0MDAgZG93bikge1xuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAxcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVHdvIGNvbHVtbiAtIHNpZGViYXIgYWxpZ25tZW50IGNoYW5nZXNcbi5zYi1hbGlnbi1sZWZ0IHtcblx0LnNpZGViYXItY29udGVudC13cmFwcGVyIHtcblx0XHRvcmRlcjogMTtcblx0fVxuXHQubWFpbi1jb250ZW50LXdyYXBwZXIge1xuXHRcdG9yZGVyOiAyO1xuXHR9XG59XG4uc2ItYWxpZ24tcmlnaHQge1xuXHQuc2lkZWJhci1jb250ZW50LXdyYXBwZXIge1xuXHRcdG9yZGVyOiAyO1xuXHR9XG5cdC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0b3JkZXI6IDE7XG5cdH1cbn1cblxuLy8gQ3JlYXRpbmcgdmFyaWFudHMgZm9yIGJvdHRvbSBtYXJnaW4gY29sbGFwc2UgYXBwbGllZCBkaXJlY3RseSB0byBjb250ZW50IGJhbmRzXG4uY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2Uge1xuXHQuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIHtcblx0XHRwLCB1bCwgb2wsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGJ1dHRvbiwgLmJ1dHRvbiwgYmxvY2txdW90ZSB7XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBDcmVhdGluZyB2YXJpYW50cyBmb3IgYm90dG9tIG1hcmdpbiBjb2xsYXBzZSBhcHBsaWVkIHRvIGNvbnRlbnQvY29sdW1uIGNvbnRhaW5lcnNcbi5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIge1xuXHQmLmJ0bS1tYXItY29sbGFwc2Uge1xuXHRcdHAsIHVsLCBvbCwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgYnV0dG9uLCAuYnV0dG9uLCBibG9ja3F1b3RlIHtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBCYXNpYyBiYWNrZ3JvdW5kIGltYWdlIHN0eWxpbmdcbi5iYW5uZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9iYW5uZXItYm90dG9tLW5vdGNoLnN2Zyk7ICBcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgc2NhbGU6IDIuNTtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMTIpO1xuICAgICAgfSAgXG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTI0KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMjYpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzIpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTQwKTtcbiAgICAgIH1cbiAgICB9ICBcblxuXHRcdC5idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG5cblx0XHRcdC5tYWluLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsgICBcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjcpOyBcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygxMCk7XG5cblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyLjQ5MlwiIGhlaWdodD1cIjEyLjcyNlwiIHZpZXdCb3g9XCIwIDAgMTIuNDkyIDEyLjcyNlwiPjxnIGlkPVwiR3JvdXBfMzlcIiBkYXRhLW5hbWU9XCJHcm91cCAzOVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTA3LjQzNSAyMTYuMTU3KVwiPjxnIGlkPVwiR3JvdXBfMjdcIiBkYXRhLW5hbWU9XCJHcm91cCAyN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1MDcuNDM1IC0yMTYuMTU4KVwiPjxwYXRoIGlkPVwiUGF0aF8yOFwiIGRhdGEtbmFtZT1cIlBhdGggMjhcIiBkPVwiTTc3LjIyMiwwVjEyLjcyNkw4OS43MTQsNi4zNjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03Ny4yMjIpXCIgZmlsbD1cIiUyM2ZmZlwiLz48L2c+PC9nPjwvc3ZnPicpO1xuXHRcdFx0XHR9ICBcblx0XHRcdH1cblxuXHRcdFx0Ji5jMmEtYnRuIHtcblx0XHRcdFx0Y29sb3I6ICRjb2xsaW5zLXJlZDtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0fVx0XHRcblx0XHRcdH1cblx0XHR9XG5cbiAgICAmLmludGVyaW9yLXBhZ2UtYmFubmVyIHtcbiAgICAgIGgxIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2l6aW5nXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgLmJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1MCk7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2NTApO1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2NTApO1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgLmJhbm5lciB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNjUwKTtcbiAgfVxufVxuXG4vLyBCYW5uZXIgdHJhbnNpdGlvbnNcbi5iYW5uZXIge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1hcmdpbiAwLjJzIGVhc2UtaW4tb3V0LCBtaW4taGVpZ2h0IDAuMnMgZWFzZS1pbi1vdXQpO1xufVxuXG4vLyBCYW5uZXIgY29udGVudCBhbGlnbm1lbnRcbi5iYW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoOTUpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChiYW5uZXIpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQ1KTtcbiAgfVxuXG4gIC5jb250ZW50LWJhbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5hbGlnbi1jb250ZW50LXRvcCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAmLmFsaWduLWNvbnRlbnQtYm90dG9tIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCYW5uZXIgdGV4dCBzaGFkb3cgcnVsZXNcbi5iYW5uZXIge1xuICAudGV4dC1zaGFkb3ctbGlnaHQge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KDAsIDAsIDEwcHgsIHJnYmEoJHdoaXRlLCAwLjM1KSk7XG4gIH1cbiAgLnRleHQtc2hhZG93LWRhcmsge1xuICAgIEBpbmNsdWRlIHRleHQtc2hhZG93KDAsIDAsIDEwcHgsIHJnYmEoJGJvZHktZm9udC1jb2xvciwgMSkpO1xuICB9XG59XG5cbi8vIEJhbm5lciB0ZXh0IGNvbG91ciBydWxlc1xuLmJhbm5lciB7XG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHAge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmLmJhbm5lci1zdWJ0ZXh0IHtcbiAgICAgIGNvbG9yOiAkY29sbGlucy1yZWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICB9ICBcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbn1cblxuLmJsYWNrLWludHJvLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDUpO1xuXG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2MCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTsgIFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIGJvdHRvbTogcmVtLWNhbGMoLTkpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBzY2FsZTogMi41O1xuICAgIH1cbiAgfSAgXG59XG5cblxuLm5vdGNoZXMtd2l0aC1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiByZW0tY2FsYyg2MCAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAwIDApO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBjb250ZW50OiB1cmwoLi4vc3Zncy9ib3R0b20td2hpdGUtbm90Y2gtc2hhcGUuc3ZnKTsgIFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIHRvcDogcmVtLWNhbGMoLTkpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBzY2FsZTogMi41O1xuICAgIH1cbiAgfSBcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IHVybCguLi9zdmdzL2JvdHRvbS13aGl0ZS1ub3RjaC1zaGFwZS5zdmcpOyAgXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYm90dG9tOiByZW0tY2FsYygtOSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHNjYWxlOiAyLjU7XG4gICAgfVxuICB9IFxufVxuXG4iLCIvLyBQYWdlIGhlYWRlclxuLmZyb250LWhlcm8ge1xuICAubWFya2V0aW5nIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcig1NXJlbSk7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNjUlKSAwO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDMyKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnJykgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDY4NSk7XG4gICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoNzIpO1xuICB9XG5cbiAgLndhdGNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgI3N0YXJnYXplcnMge1xuICAgICAgOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICN0d2l0dGVyIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50YWdsaW5lIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDUpO1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIC5kb3dubG9hZCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICB9XG59XG5cbi8vIEludHJvXG4uaW50cm8ge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcblxuICAuZnAtaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEwKTtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KDEpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBkaXZpZGVyXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgaHIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIEBleHRlbmQgLmRvdHRlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbi8vIEJlbmVmaXRzXG4uYmVuZWZpdHMge1xuICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgfVxuICB9XG5cbiAgLnNlbWFudGljLFxuICAucmVzcG9uc2l2ZSxcbiAgLmN1c3RvbWl6YWJsZSxcbiAgLnByb2Zlc3Npb25hbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwIGF1dG87XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuICB9XG5cbiAgLndoeS1mb3VuZGF0aW9uIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICB9XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Lm93bC1zdGFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHR9XG5cblx0Lm93bC13cmFwcGVyLFxuXHQub3dsLWl0ZW17XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHR9XG5cblx0Lm93bC1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHR9XG5cdC5vd2wtaXRlbSBpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Lm93bC1uYXYuZGlzYWJsZWQsXG5cdC5vd2wtZG90cy5kaXNhYmxlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IC5vd2wtcHJldixcblx0Lm93bC1uYXYgLm93bC1uZXh0LFxuXHQub3dsLWRvdCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuXHQub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG5cdGJ1dHRvbi5vd2wtZG90IHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOjAhaW1wb3J0YW50O1xuXHRcdGZvbnQ6IGluaGVyaXQ7XG5cdH1cblxuXHQmLm93bC1sb2FkZWQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtbG9hZGluZyB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWhpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLm93bC1kcmFnIC5vd2wtaXRlbSB7XG5cdFx0dG91Y2gtYWN0aW9uOiBwYW4teTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Ji5vd2wtZ3JhYiB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdGN1cnNvcjogZ3JhYjtcblx0fVxuXG5cdCYub3dsLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdH1cblxuXHQmLm93bC1ydGwgLm93bC1pdGVtIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWx7XG5cdC5hbmltYXRlZCB7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLWluIHtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtb3V0IHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC5mYWRlT3V0IHtcblx0XHRhbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG5cbi5vd2wtaGVpZ2h0IHtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWwge1xuXHQub3dsLWl0ZW0ge1xuXHRcdC5vd2wtbGF6eSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0XHR9XG5cblx0XHQvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovXG5cdFx0Lm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcblx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0aW1nLm93bC1sYXp5IHtcblx0XHRcdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdFx0fVxuXHR9XG59XG5cbiIsIiRvd2wtaW1hZ2UtcGF0aDogXCJcIiAhZGVmYXVsdDtcblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbHtcblx0Lm93bC12aWRlby13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogODBweDtcblx0XHR3aWR0aDogODBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHRcdG1hcmdpbi10b3A6IC00MHB4O1xuXHRcdGJhY2tncm91bmQ6IHVybChcIiN7JG93bC1pbWFnZS1wYXRofW93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC12aWRlby10biB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLWZyYW1lIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi8qXG4gKiBcdERlZmF1bHQgdGhlbWUgLSBPd2wgQ2Fyb3VzZWwgQ1NTIEZpbGVcbiAqL1xuXG4kY29sb3ItYmFzZTpcdFx0XHQjODY5NzkxICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlOlx0XHRcdCNGRkYgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheTpcdFx0XHQjRDZENkQ2ICFkZWZhdWx0O1xuXG4vL25hdlxuXG4kbmF2LWNvbG9yOiBcdFx0XHQkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWhvdmVyOlx0XHQkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LWZvbnQtc2l6ZTogXHRcdDE0cHggIWRlZmF1bHQ7XG4kbmF2LXJvdW5kZWQ6IFx0XHRcdDNweCAhZGVmYXVsdDtcbiRuYXYtbWFyZ2luOiBcdFx0XHQ1cHggIWRlZmF1bHQ7XG4kbmF2LXBhZGRpbmc6IFx0XHRcdDRweCA3cHggIWRlZmF1bHQ7XG4kbmF2LWJhY2tncm91bmQ6IFx0XHQkY29sb3ItZ3JheSAhZGVmYXVsdDtcbiRuYXYtYmFja2dyb3VuZC1ob3ZlcjpcdCRjb2xvci1iYXNlICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1vcGFjaXR5OiBcdDAuNSAhZGVmYXVsdDtcblxuLy9kb3RzXG5cbiRkb3Qtd2lkdGg6XHRcdFx0XHQxMHB4ICFkZWZhdWx0O1xuJGRvdC1oZWlnaHQ6XHRcdFx0MTBweCAhZGVmYXVsdDtcbiRkb3Qtcm91bmRlZDpcdFx0XHQzMHB4ICFkZWZhdWx0O1xuJGRvdC1tYXJnaW46IFx0XHRcdDVweCA3cHggIWRlZmF1bHQ7XG4kZG90LWJhY2tncm91bmQ6XHRcdCRjb2xvci1ncmF5ICFkZWZhdWx0O1xuJGRvdC1iYWNrZ3JvdW5kLWFjdGl2ZTpcdCRjb2xvci1iYXNlICFkZWZhdWx0O1xuXG5AaW1wb3J0ICd0aGVtZSc7XG4iLCJcbi5vd2wtdGhlbWUge1xuXHQvLyBTdHlsaW5nIE5leHQgYW5kIFByZXYgYnV0dG9uc1xuXHQub3dsLW5hdiB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdFtjbGFzcyo9J293bC0nXSB7XG5cdFx0XHRjb2xvcjogJG5hdi1jb2xvcjtcblx0XHRcdGZvbnQtc2l6ZTogJG5hdi1mb250LXNpemU7XG5cdFx0XHRtYXJnaW46ICRuYXYtbWFyZ2luO1xuXHRcdFx0cGFkZGluZzogJG5hdi1wYWRkaW5nO1xuXHRcdFx0YmFja2dyb3VuZDogJG5hdi1iYWNrZ3JvdW5kO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJG5hdi1iYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0XHRjb2xvcjokbmF2LWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kaXNhYmxlZCB7XG5cdFx0XHRvcGFjaXR5OiAkbmF2LWRpc2FibGVkLW9wYWNpdHk7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHR9XG5cblx0Ly8gU3R5bGluZyBkb3RzXG5cdC5vd2wtbmF2LmRpc2FibGVkICsgLm93bC1kb3RzIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cblx0Lm93bC1kb3RzIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdC5vd2wtZG90IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHpvb206IDE7XG5cdFx0XHQqZGlzcGxheTogaW5saW5lO1xuXG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0d2lkdGg6ICRkb3Qtd2lkdGg7XG5cdFx0XHRcdGhlaWdodDogJGRvdC1oZWlnaHQ7XG5cdFx0XHRcdG1hcmdpbjogJGRvdC1tYXJnaW47XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRkb3QtYmFja2dyb3VuZDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkZG90LXJvdW5kZWQ7XG5cdFx0XHR9XG5cblx0XHRcdCYuYWN0aXZlLFxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRkb3QtYmFja2dyb3VuZC1hY3RpdmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5vd2wtY2Fyb3VzZWwge1xuXG4gICYucHJvamVjdC1jYXJvdXNlbCB7XG4gICAgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgIC5vd2wtZG90cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgYm90dG9tOiByZW0tY2FsYygtMzApO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICByaWdodDogNTAlO1xuICAgIH1cbiAgICBidXR0b24ub3dsLWRvdCB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNSk7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoOCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm93bC1jYXJvdXNlbCB7XG4gIGJ1dHRvbi5vd2wtZG90IHtcbiAgICBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgJi5hY3RpdmUgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGlucy1yZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLm93bC1jYXJvdXNlbCB7XG4gICYucGhvdG8tY29sbGFnZS1jYXJvdXNlbC1tb3ZlLXJpZ2h0LFxuICAmLnBob3RvLWNvbGxhZ2UtY2Fyb3VzZWwtbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cbiJdfQ== */
