@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! 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, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address {
  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=50em&xlarge=64em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: "poppinsmedium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #313941;
  -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: 0.25rem;
  padding-left: 0.25rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.5rem;
      padding-left: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-container {
      padding-right: 1rem;
      padding-left: 1rem; } }
  .grid-container.fluid {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.5rem;
        padding-left: 0.5rem; } }
    @media screen and (min-width: 64em) {
      .grid-container.fluid {
        padding-right: 1rem;
        padding-left: 1rem; } }
  .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, .grid-x > .small-13, .grid-x > .small-14, .grid-x > .small-15, .grid-x > .small-16 {
  -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, .grid-x > .medium-13, .grid-x > .medium-14, .grid-x > .medium-15, .grid-x > .medium-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 50em) {
  .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, .grid-x > .large-13, .grid-x > .large-14, .grid-x > .large-15, .grid-x > .large-16 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-x > .small-13 {
  width: 81.25%; }

.grid-x > .small-14 {
  width: 87.5%; }

.grid-x > .small-15 {
  width: 93.75%; }

.grid-x > .small-16 {
  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: 6.25%; }
  .grid-x > .medium-2 {
    width: 12.5%; }
  .grid-x > .medium-3 {
    width: 18.75%; }
  .grid-x > .medium-4 {
    width: 25%; }
  .grid-x > .medium-5 {
    width: 31.25%; }
  .grid-x > .medium-6 {
    width: 37.5%; }
  .grid-x > .medium-7 {
    width: 43.75%; }
  .grid-x > .medium-8 {
    width: 50%; }
  .grid-x > .medium-9 {
    width: 56.25%; }
  .grid-x > .medium-10 {
    width: 62.5%; }
  .grid-x > .medium-11 {
    width: 68.75%; }
  .grid-x > .medium-12 {
    width: 75%; }
  .grid-x > .medium-13 {
    width: 81.25%; }
  .grid-x > .medium-14 {
    width: 87.5%; }
  .grid-x > .medium-15 {
    width: 93.75%; }
  .grid-x > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .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: 6.25%; }
  .grid-x > .large-2 {
    width: 12.5%; }
  .grid-x > .large-3 {
    width: 18.75%; }
  .grid-x > .large-4 {
    width: 25%; }
  .grid-x > .large-5 {
    width: 31.25%; }
  .grid-x > .large-6 {
    width: 37.5%; }
  .grid-x > .large-7 {
    width: 43.75%; }
  .grid-x > .large-8 {
    width: 50%; }
  .grid-x > .large-9 {
    width: 56.25%; }
  .grid-x > .large-10 {
    width: 62.5%; }
  .grid-x > .large-11 {
    width: 68.75%; }
  .grid-x > .large-12 {
    width: 75%; }
  .grid-x > .large-13 {
    width: 81.25%; }
  .grid-x > .large-14 {
    width: 87.5%; }
  .grid-x > .large-15 {
    width: 93.75%; }
  .grid-x > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .grid-x > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 6.25%; }
  .grid-x > .xlarge-2 {
    width: 12.5%; }
  .grid-x > .xlarge-3 {
    width: 18.75%; }
  .grid-x > .xlarge-4 {
    width: 25%; }
  .grid-x > .xlarge-5 {
    width: 31.25%; }
  .grid-x > .xlarge-6 {
    width: 37.5%; }
  .grid-x > .xlarge-7 {
    width: 43.75%; }
  .grid-x > .xlarge-8 {
    width: 50%; }
  .grid-x > .xlarge-9 {
    width: 56.25%; }
  .grid-x > .xlarge-10 {
    width: 62.5%; }
  .grid-x > .xlarge-11 {
    width: 68.75%; }
  .grid-x > .xlarge-12 {
    width: 75%; }
  .grid-x > .xlarge-13 {
    width: 81.25%; }
  .grid-x > .xlarge-14 {
    width: 87.5%; }
  .grid-x > .xlarge-15 {
    width: 93.75%; }
  .grid-x > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 6.25%; }
  .grid-x > .xxlarge-2 {
    width: 12.5%; }
  .grid-x > .xxlarge-3 {
    width: 18.75%; }
  .grid-x > .xxlarge-4 {
    width: 25%; }
  .grid-x > .xxlarge-5 {
    width: 31.25%; }
  .grid-x > .xxlarge-6 {
    width: 37.5%; }
  .grid-x > .xxlarge-7 {
    width: 43.75%; }
  .grid-x > .xxlarge-8 {
    width: 50%; }
  .grid-x > .xxlarge-9 {
    width: 56.25%; }
  .grid-x > .xxlarge-10 {
    width: 62.5%; }
  .grid-x > .xxlarge-11 {
    width: 68.75%; }
  .grid-x > .xxlarge-12 {
    width: 75%; }
  .grid-x > .xxlarge-13 {
    width: 81.25%; }
  .grid-x > .xxlarge-14 {
    width: 87.5%; }
  .grid-x > .xxlarge-15 {
    width: 93.75%; }
  .grid-x > .xxlarge-16 {
    width: 100%; } }

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

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

.grid-margin-x {
  margin-left: -0.25rem;
  margin-right: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.5rem;
      margin-right: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-x {
      margin-left: -1rem;
      margin-right: -1rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.5rem);
    margin-left: 0.25rem;
    margin-right: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1rem);
      margin-left: 0.5rem;
      margin-right: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-x > .cell {
      width: calc(100% - 2rem);
      margin-left: 1rem;
      margin-right: 1rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(6.25% - 0.5rem); }
  .grid-margin-x > .small-2 {
    width: calc(12.5% - 0.5rem); }
  .grid-margin-x > .small-3 {
    width: calc(18.75% - 0.5rem); }
  .grid-margin-x > .small-4 {
    width: calc(25% - 0.5rem); }
  .grid-margin-x > .small-5 {
    width: calc(31.25% - 0.5rem); }
  .grid-margin-x > .small-6 {
    width: calc(37.5% - 0.5rem); }
  .grid-margin-x > .small-7 {
    width: calc(43.75% - 0.5rem); }
  .grid-margin-x > .small-8 {
    width: calc(50% - 0.5rem); }
  .grid-margin-x > .small-9 {
    width: calc(56.25% - 0.5rem); }
  .grid-margin-x > .small-10 {
    width: calc(62.5% - 0.5rem); }
  .grid-margin-x > .small-11 {
    width: calc(68.75% - 0.5rem); }
  .grid-margin-x > .small-12 {
    width: calc(75% - 0.5rem); }
  .grid-margin-x > .small-13 {
    width: calc(81.25% - 0.5rem); }
  .grid-margin-x > .small-14 {
    width: calc(87.5% - 0.5rem); }
  .grid-margin-x > .small-15 {
    width: calc(93.75% - 0.5rem); }
  .grid-margin-x > .small-16 {
    width: calc(100% - 0.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(6.25% - 1rem); }
    .grid-margin-x > .small-2 {
      width: calc(12.5% - 1rem); }
    .grid-margin-x > .small-3 {
      width: calc(18.75% - 1rem); }
    .grid-margin-x > .small-4 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .small-5 {
      width: calc(31.25% - 1rem); }
    .grid-margin-x > .small-6 {
      width: calc(37.5% - 1rem); }
    .grid-margin-x > .small-7 {
      width: calc(43.75% - 1rem); }
    .grid-margin-x > .small-8 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .small-9 {
      width: calc(56.25% - 1rem); }
    .grid-margin-x > .small-10 {
      width: calc(62.5% - 1rem); }
    .grid-margin-x > .small-11 {
      width: calc(68.75% - 1rem); }
    .grid-margin-x > .small-12 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .small-13 {
      width: calc(81.25% - 1rem); }
    .grid-margin-x > .small-14 {
      width: calc(87.5% - 1rem); }
    .grid-margin-x > .small-15 {
      width: calc(93.75% - 1rem); }
    .grid-margin-x > .small-16 {
      width: calc(100% - 1rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(6.25% - 1rem); }
    .grid-margin-x > .medium-2 {
      width: calc(12.5% - 1rem); }
    .grid-margin-x > .medium-3 {
      width: calc(18.75% - 1rem); }
    .grid-margin-x > .medium-4 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .medium-5 {
      width: calc(31.25% - 1rem); }
    .grid-margin-x > .medium-6 {
      width: calc(37.5% - 1rem); }
    .grid-margin-x > .medium-7 {
      width: calc(43.75% - 1rem); }
    .grid-margin-x > .medium-8 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .medium-9 {
      width: calc(56.25% - 1rem); }
    .grid-margin-x > .medium-10 {
      width: calc(62.5% - 1rem); }
    .grid-margin-x > .medium-11 {
      width: calc(68.75% - 1rem); }
    .grid-margin-x > .medium-12 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .medium-13 {
      width: calc(81.25% - 1rem); }
    .grid-margin-x > .medium-14 {
      width: calc(87.5% - 1rem); }
    .grid-margin-x > .medium-15 {
      width: calc(93.75% - 1rem); }
    .grid-margin-x > .medium-16 {
      width: calc(100% - 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(6.25% - 1rem); }
    .grid-margin-x > .large-2 {
      width: calc(12.5% - 1rem); }
    .grid-margin-x > .large-3 {
      width: calc(18.75% - 1rem); }
    .grid-margin-x > .large-4 {
      width: calc(25% - 1rem); }
    .grid-margin-x > .large-5 {
      width: calc(31.25% - 1rem); }
    .grid-margin-x > .large-6 {
      width: calc(37.5% - 1rem); }
    .grid-margin-x > .large-7 {
      width: calc(43.75% - 1rem); }
    .grid-margin-x > .large-8 {
      width: calc(50% - 1rem); }
    .grid-margin-x > .large-9 {
      width: calc(56.25% - 1rem); }
    .grid-margin-x > .large-10 {
      width: calc(62.5% - 1rem); }
    .grid-margin-x > .large-11 {
      width: calc(68.75% - 1rem); }
    .grid-margin-x > .large-12 {
      width: calc(75% - 1rem); }
    .grid-margin-x > .large-13 {
      width: calc(81.25% - 1rem); }
    .grid-margin-x > .large-14 {
      width: calc(87.5% - 1rem); }
    .grid-margin-x > .large-15 {
      width: calc(93.75% - 1rem); }
    .grid-margin-x > .large-16 {
      width: calc(100% - 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .small-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .small-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .small-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .small-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .small-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .small-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .small-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .small-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .small-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .small-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .small-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .small-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .small-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .small-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .small-16 {
      width: calc(100% - 2rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .medium-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .medium-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .medium-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .medium-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .medium-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .medium-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .medium-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .medium-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .medium-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .medium-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .medium-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .medium-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .medium-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .medium-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .medium-16 {
      width: calc(100% - 2rem); }
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .xlarge-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .xlarge-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .xlarge-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .xlarge-16 {
      width: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(6.25% - 2rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(12.5% - 2rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(18.75% - 2rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(25% - 2rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(31.25% - 2rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(37.5% - 2rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(43.75% - 2rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(50% - 2rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(56.25% - 2rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(62.5% - 2rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(68.75% - 2rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(75% - 2rem); }
    .grid-margin-x > .xxlarge-13 {
      width: calc(81.25% - 2rem); }
    .grid-margin-x > .xxlarge-14 {
      width: calc(87.5% - 2rem); }
    .grid-margin-x > .xxlarge-15 {
      width: calc(93.75% - 2rem); }
    .grid-margin-x > .xxlarge-16 {
      width: calc(100% - 2rem); } }

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

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

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

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

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

.small-up-3 > .cell {
  width: 33.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 screen and (min-width: 50em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 6.25%; }
  .small-margin-collapse > .small-2 {
    width: 12.5%; }
  .small-margin-collapse > .small-3 {
    width: 18.75%; }
  .small-margin-collapse > .small-4 {
    width: 25%; }
  .small-margin-collapse > .small-5 {
    width: 31.25%; }
  .small-margin-collapse > .small-6 {
    width: 37.5%; }
  .small-margin-collapse > .small-7 {
    width: 43.75%; }
  .small-margin-collapse > .small-8 {
    width: 50%; }
  .small-margin-collapse > .small-9 {
    width: 56.25%; }
  .small-margin-collapse > .small-10 {
    width: 62.5%; }
  .small-margin-collapse > .small-11 {
    width: 68.75%; }
  .small-margin-collapse > .small-12 {
    width: 75%; }
  .small-margin-collapse > .small-13 {
    width: 81.25%; }
  .small-margin-collapse > .small-14 {
    width: 87.5%; }
  .small-margin-collapse > .small-15 {
    width: 93.75%; }
  .small-margin-collapse > .small-16 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 6.25%; }
    .small-margin-collapse > .medium-2 {
      width: 12.5%; }
    .small-margin-collapse > .medium-3 {
      width: 18.75%; }
    .small-margin-collapse > .medium-4 {
      width: 25%; }
    .small-margin-collapse > .medium-5 {
      width: 31.25%; }
    .small-margin-collapse > .medium-6 {
      width: 37.5%; }
    .small-margin-collapse > .medium-7 {
      width: 43.75%; }
    .small-margin-collapse > .medium-8 {
      width: 50%; }
    .small-margin-collapse > .medium-9 {
      width: 56.25%; }
    .small-margin-collapse > .medium-10 {
      width: 62.5%; }
    .small-margin-collapse > .medium-11 {
      width: 68.75%; }
    .small-margin-collapse > .medium-12 {
      width: 75%; }
    .small-margin-collapse > .medium-13 {
      width: 81.25%; }
    .small-margin-collapse > .medium-14 {
      width: 87.5%; }
    .small-margin-collapse > .medium-15 {
      width: 93.75%; }
    .small-margin-collapse > .medium-16 {
      width: 100%; } }
  @media screen and (min-width: 50em) {
    .small-margin-collapse > .large-1 {
      width: 6.25%; }
    .small-margin-collapse > .large-2 {
      width: 12.5%; }
    .small-margin-collapse > .large-3 {
      width: 18.75%; }
    .small-margin-collapse > .large-4 {
      width: 25%; }
    .small-margin-collapse > .large-5 {
      width: 31.25%; }
    .small-margin-collapse > .large-6 {
      width: 37.5%; }
    .small-margin-collapse > .large-7 {
      width: 43.75%; }
    .small-margin-collapse > .large-8 {
      width: 50%; }
    .small-margin-collapse > .large-9 {
      width: 56.25%; }
    .small-margin-collapse > .large-10 {
      width: 62.5%; }
    .small-margin-collapse > .large-11 {
      width: 68.75%; }
    .small-margin-collapse > .large-12 {
      width: 75%; }
    .small-margin-collapse > .large-13 {
      width: 81.25%; }
    .small-margin-collapse > .large-14 {
      width: 87.5%; }
    .small-margin-collapse > .large-15 {
      width: 93.75%; }
    .small-margin-collapse > .large-16 {
      width: 100%; } }
  @media screen and (min-width: 64em) {
    .small-margin-collapse > .xlarge-1 {
      width: 6.25%; }
    .small-margin-collapse > .xlarge-2 {
      width: 12.5%; }
    .small-margin-collapse > .xlarge-3 {
      width: 18.75%; }
    .small-margin-collapse > .xlarge-4 {
      width: 25%; }
    .small-margin-collapse > .xlarge-5 {
      width: 31.25%; }
    .small-margin-collapse > .xlarge-6 {
      width: 37.5%; }
    .small-margin-collapse > .xlarge-7 {
      width: 43.75%; }
    .small-margin-collapse > .xlarge-8 {
      width: 50%; }
    .small-margin-collapse > .xlarge-9 {
      width: 56.25%; }
    .small-margin-collapse > .xlarge-10 {
      width: 62.5%; }
    .small-margin-collapse > .xlarge-11 {
      width: 68.75%; }
    .small-margin-collapse > .xlarge-12 {
      width: 75%; }
    .small-margin-collapse > .xlarge-13 {
      width: 81.25%; }
    .small-margin-collapse > .xlarge-14 {
      width: 87.5%; }
    .small-margin-collapse > .xlarge-15 {
      width: 93.75%; }
    .small-margin-collapse > .xlarge-16 {
      width: 100%; } }
  @media screen and (min-width: 90em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 6.25%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 12.5%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 18.75%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 31.25%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 37.5%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 43.75%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 56.25%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 62.5%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 68.75%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-13 {
      width: 81.25%; }
    .small-margin-collapse > .xxlarge-14 {
      width: 87.5%; }
    .small-margin-collapse > .xxlarge-15 {
      width: 93.75%; }
    .small-margin-collapse > .xxlarge-16 {
      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: 6.25%; }
  .medium-margin-collapse > .small-2 {
    width: 12.5%; }
  .medium-margin-collapse > .small-3 {
    width: 18.75%; }
  .medium-margin-collapse > .small-4 {
    width: 25%; }
  .medium-margin-collapse > .small-5 {
    width: 31.25%; }
  .medium-margin-collapse > .small-6 {
    width: 37.5%; }
  .medium-margin-collapse > .small-7 {
    width: 43.75%; }
  .medium-margin-collapse > .small-8 {
    width: 50%; }
  .medium-margin-collapse > .small-9 {
    width: 56.25%; }
  .medium-margin-collapse > .small-10 {
    width: 62.5%; }
  .medium-margin-collapse > .small-11 {
    width: 68.75%; }
  .medium-margin-collapse > .small-12 {
    width: 75%; }
  .medium-margin-collapse > .small-13 {
    width: 81.25%; }
  .medium-margin-collapse > .small-14 {
    width: 87.5%; }
  .medium-margin-collapse > .small-15 {
    width: 93.75%; }
  .medium-margin-collapse > .small-16 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 6.25%; }
  .medium-margin-collapse > .medium-2 {
    width: 12.5%; }
  .medium-margin-collapse > .medium-3 {
    width: 18.75%; }
  .medium-margin-collapse > .medium-4 {
    width: 25%; }
  .medium-margin-collapse > .medium-5 {
    width: 31.25%; }
  .medium-margin-collapse > .medium-6 {
    width: 37.5%; }
  .medium-margin-collapse > .medium-7 {
    width: 43.75%; }
  .medium-margin-collapse > .medium-8 {
    width: 50%; }
  .medium-margin-collapse > .medium-9 {
    width: 56.25%; }
  .medium-margin-collapse > .medium-10 {
    width: 62.5%; }
  .medium-margin-collapse > .medium-11 {
    width: 68.75%; }
  .medium-margin-collapse > .medium-12 {
    width: 75%; }
  .medium-margin-collapse > .medium-13 {
    width: 81.25%; }
  .medium-margin-collapse > .medium-14 {
    width: 87.5%; }
  .medium-margin-collapse > .medium-15 {
    width: 93.75%; }
  .medium-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .medium-margin-collapse > .large-1 {
    width: 6.25%; }
  .medium-margin-collapse > .large-2 {
    width: 12.5%; }
  .medium-margin-collapse > .large-3 {
    width: 18.75%; }
  .medium-margin-collapse > .large-4 {
    width: 25%; }
  .medium-margin-collapse > .large-5 {
    width: 31.25%; }
  .medium-margin-collapse > .large-6 {
    width: 37.5%; }
  .medium-margin-collapse > .large-7 {
    width: 43.75%; }
  .medium-margin-collapse > .large-8 {
    width: 50%; }
  .medium-margin-collapse > .large-9 {
    width: 56.25%; }
  .medium-margin-collapse > .large-10 {
    width: 62.5%; }
  .medium-margin-collapse > .large-11 {
    width: 68.75%; }
  .medium-margin-collapse > .large-12 {
    width: 75%; }
  .medium-margin-collapse > .large-13 {
    width: 81.25%; }
  .medium-margin-collapse > .large-14 {
    width: 87.5%; }
  .medium-margin-collapse > .large-15 {
    width: 93.75%; }
  .medium-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .medium-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .medium-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .medium-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .medium-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .medium-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .medium-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .medium-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .medium-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .medium-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .medium-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .medium-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .medium-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .medium-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .medium-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .medium-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .medium-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .medium-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .medium-margin-collapse > .xxlarge-16 {
    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 screen and (min-width: 50em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse > .small-1 {
    width: 6.25%; }
  .large-margin-collapse > .small-2 {
    width: 12.5%; }
  .large-margin-collapse > .small-3 {
    width: 18.75%; }
  .large-margin-collapse > .small-4 {
    width: 25%; }
  .large-margin-collapse > .small-5 {
    width: 31.25%; }
  .large-margin-collapse > .small-6 {
    width: 37.5%; }
  .large-margin-collapse > .small-7 {
    width: 43.75%; }
  .large-margin-collapse > .small-8 {
    width: 50%; }
  .large-margin-collapse > .small-9 {
    width: 56.25%; }
  .large-margin-collapse > .small-10 {
    width: 62.5%; }
  .large-margin-collapse > .small-11 {
    width: 68.75%; }
  .large-margin-collapse > .small-12 {
    width: 75%; }
  .large-margin-collapse > .small-13 {
    width: 81.25%; }
  .large-margin-collapse > .small-14 {
    width: 87.5%; }
  .large-margin-collapse > .small-15 {
    width: 93.75%; }
  .large-margin-collapse > .small-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse > .medium-1 {
    width: 6.25%; }
  .large-margin-collapse > .medium-2 {
    width: 12.5%; }
  .large-margin-collapse > .medium-3 {
    width: 18.75%; }
  .large-margin-collapse > .medium-4 {
    width: 25%; }
  .large-margin-collapse > .medium-5 {
    width: 31.25%; }
  .large-margin-collapse > .medium-6 {
    width: 37.5%; }
  .large-margin-collapse > .medium-7 {
    width: 43.75%; }
  .large-margin-collapse > .medium-8 {
    width: 50%; }
  .large-margin-collapse > .medium-9 {
    width: 56.25%; }
  .large-margin-collapse > .medium-10 {
    width: 62.5%; }
  .large-margin-collapse > .medium-11 {
    width: 68.75%; }
  .large-margin-collapse > .medium-12 {
    width: 75%; }
  .large-margin-collapse > .medium-13 {
    width: 81.25%; }
  .large-margin-collapse > .medium-14 {
    width: 87.5%; }
  .large-margin-collapse > .medium-15 {
    width: 93.75%; }
  .large-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 50em) {
  .large-margin-collapse > .large-1 {
    width: 6.25%; }
  .large-margin-collapse > .large-2 {
    width: 12.5%; }
  .large-margin-collapse > .large-3 {
    width: 18.75%; }
  .large-margin-collapse > .large-4 {
    width: 25%; }
  .large-margin-collapse > .large-5 {
    width: 31.25%; }
  .large-margin-collapse > .large-6 {
    width: 37.5%; }
  .large-margin-collapse > .large-7 {
    width: 43.75%; }
  .large-margin-collapse > .large-8 {
    width: 50%; }
  .large-margin-collapse > .large-9 {
    width: 56.25%; }
  .large-margin-collapse > .large-10 {
    width: 62.5%; }
  .large-margin-collapse > .large-11 {
    width: 68.75%; }
  .large-margin-collapse > .large-12 {
    width: 75%; }
  .large-margin-collapse > .large-13 {
    width: 81.25%; }
  .large-margin-collapse > .large-14 {
    width: 87.5%; }
  .large-margin-collapse > .large-15 {
    width: 93.75%; }
  .large-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .large-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .large-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .large-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .large-margin-collapse > .xlarge-4 {
    width: 25%; }
  .large-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .large-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .large-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .large-margin-collapse > .xlarge-8 {
    width: 50%; }
  .large-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .large-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .large-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .large-margin-collapse > .xlarge-12 {
    width: 75%; }
  .large-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .large-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .large-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .large-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .large-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .large-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .large-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .large-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .large-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .large-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .large-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .large-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .large-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .large-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .large-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .large-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .large-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .large-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .large-margin-collapse > .xxlarge-16 {
    width: 100%; } }

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

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

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .small-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .small-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .small-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .small-4 {
    width: 25%; }
  .xlarge-margin-collapse > .small-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .small-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .small-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .small-8 {
    width: 50%; }
  .xlarge-margin-collapse > .small-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .small-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .small-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .small-12 {
    width: 75%; }
  .xlarge-margin-collapse > .small-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .small-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .small-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .small-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .medium-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .medium-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .large-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .large-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .large-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .large-4 {
    width: 25%; }
  .xlarge-margin-collapse > .large-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .large-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .large-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .large-8 {
    width: 50%; }
  .xlarge-margin-collapse > .large-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .large-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .large-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .large-12 {
    width: 75%; }
  .xlarge-margin-collapse > .large-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .large-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .large-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 64em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .xlarge-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .xlarge-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .xlarge-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .xlarge-margin-collapse > .xxlarge-16 {
    width: 100%; } }

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

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

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .small-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .small-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .small-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .small-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .small-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .small-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .small-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .small-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .small-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .small-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .small-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .small-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .small-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .small-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .small-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .medium-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .medium-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .medium-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .medium-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .medium-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .medium-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .medium-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .medium-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .medium-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .medium-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .medium-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .medium-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .medium-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .medium-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .medium-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .large-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .large-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .large-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .large-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .large-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .large-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .large-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .large-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .large-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .large-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .large-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .large-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .large-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .large-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .large-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .xlarge-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .xlarge-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .xlarge-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .xlarge-16 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 6.25%; }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 12.5%; }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 18.75%; }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 25%; }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 31.25%; }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 37.5%; }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 43.75%; }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 50%; }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 56.25%; }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 62.5%; }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 68.75%; }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 75%; }
  .xxlarge-margin-collapse > .xxlarge-13 {
    width: 81.25%; }
  .xxlarge-margin-collapse > .xxlarge-14 {
    width: 87.5%; }
  .xxlarge-margin-collapse > .xxlarge-15 {
    width: 93.75%; }
  .xxlarge-margin-collapse > .xxlarge-16 {
    width: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-offset-13 {
  margin-left: 81.25%; }

.grid-margin-x > .small-offset-13 {
  margin-left: calc(81.25% + 0.25rem); }

.small-offset-14 {
  margin-left: 87.5%; }

.grid-margin-x > .small-offset-14 {
  margin-left: calc(87.5% + 0.25rem); }

.small-offset-15 {
  margin-left: 93.75%; }

.grid-margin-x > .small-offset-15 {
  margin-left: calc(93.75% + 0.25rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.5rem); }
  .medium-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(6.25% + 0.5rem); }
  .medium-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(12.5% + 0.5rem); }
  .medium-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(18.75% + 0.5rem); }
  .medium-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(25% + 0.5rem); }
  .medium-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(31.25% + 0.5rem); }
  .medium-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(37.5% + 0.5rem); }
  .medium-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(43.75% + 0.5rem); }
  .medium-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(50% + 0.5rem); }
  .medium-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(56.25% + 0.5rem); }
  .medium-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(62.5% + 0.5rem); }
  .medium-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(68.75% + 0.5rem); }
  .medium-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-12 {
    margin-left: calc(75% + 0.5rem); }
  .medium-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .medium-offset-13 {
    margin-left: calc(81.25% + 0.5rem); }
  .medium-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .medium-offset-14 {
    margin-left: calc(87.5% + 0.5rem); }
  .medium-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .medium-offset-15 {
    margin-left: calc(93.75% + 0.5rem); } }

@media screen and (min-width: 50em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.5rem); }
  .large-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(6.25% + 0.5rem); }
  .large-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(12.5% + 0.5rem); }
  .large-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(18.75% + 0.5rem); }
  .large-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(25% + 0.5rem); }
  .large-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(31.25% + 0.5rem); }
  .large-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(37.5% + 0.5rem); }
  .large-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(43.75% + 0.5rem); }
  .large-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(50% + 0.5rem); }
  .large-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(56.25% + 0.5rem); }
  .large-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(62.5% + 0.5rem); }
  .large-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(68.75% + 0.5rem); }
  .large-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-12 {
    margin-left: calc(75% + 0.5rem); }
  .large-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .large-offset-13 {
    margin-left: calc(81.25% + 0.5rem); }
  .large-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .large-offset-14 {
    margin-left: calc(87.5% + 0.5rem); }
  .large-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .large-offset-15 {
    margin-left: calc(93.75% + 0.5rem); } }

@media screen and (min-width: 64em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1rem); }
  .xlarge-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(6.25% + 1rem); }
  .xlarge-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(12.5% + 1rem); }
  .xlarge-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(18.75% + 1rem); }
  .xlarge-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(25% + 1rem); }
  .xlarge-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(31.25% + 1rem); }
  .xlarge-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(37.5% + 1rem); }
  .xlarge-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(43.75% + 1rem); }
  .xlarge-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(50% + 1rem); }
  .xlarge-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(56.25% + 1rem); }
  .xlarge-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(62.5% + 1rem); }
  .xlarge-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(68.75% + 1rem); }
  .xlarge-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-12 {
    margin-left: calc(75% + 1rem); }
  .xlarge-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .xlarge-offset-13 {
    margin-left: calc(81.25% + 1rem); }
  .xlarge-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .xlarge-offset-14 {
    margin-left: calc(87.5% + 1rem); }
  .xlarge-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .xlarge-offset-15 {
    margin-left: calc(93.75% + 1rem); } }

@media screen and (min-width: 90em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 1rem); }
  .xxlarge-offset-1 {
    margin-left: 6.25%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(6.25% + 1rem); }
  .xxlarge-offset-2 {
    margin-left: 12.5%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(12.5% + 1rem); }
  .xxlarge-offset-3 {
    margin-left: 18.75%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(18.75% + 1rem); }
  .xxlarge-offset-4 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(25% + 1rem); }
  .xxlarge-offset-5 {
    margin-left: 31.25%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(31.25% + 1rem); }
  .xxlarge-offset-6 {
    margin-left: 37.5%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(37.5% + 1rem); }
  .xxlarge-offset-7 {
    margin-left: 43.75%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(43.75% + 1rem); }
  .xxlarge-offset-8 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(50% + 1rem); }
  .xxlarge-offset-9 {
    margin-left: 56.25%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(56.25% + 1rem); }
  .xxlarge-offset-10 {
    margin-left: 62.5%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(62.5% + 1rem); }
  .xxlarge-offset-11 {
    margin-left: 68.75%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(68.75% + 1rem); }
  .xxlarge-offset-12 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-12 {
    margin-left: calc(75% + 1rem); }
  .xxlarge-offset-13 {
    margin-left: 81.25%; }
  .grid-margin-x > .xxlarge-offset-13 {
    margin-left: calc(81.25% + 1rem); }
  .xxlarge-offset-14 {
    margin-left: 87.5%; }
  .grid-margin-x > .xxlarge-offset-14 {
    margin-left: calc(87.5% + 1rem); }
  .xxlarge-offset-15 {
    margin-left: 93.75%; }
  .grid-margin-x > .xxlarge-offset-15 {
    margin-left: calc(93.75% + 1rem); } }

.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, .grid-y > .small-13, .grid-y > .small-14, .grid-y > .small-15, .grid-y > .small-16 {
    -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, .grid-y > .medium-13, .grid-y > .medium-14, .grid-y > .medium-15, .grid-y > .medium-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 50em) {
    .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, .grid-y > .large-13, .grid-y > .large-14, .grid-y > .large-15, .grid-y > .large-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 64em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12, .grid-y > .xlarge-13, .grid-y > .xlarge-14, .grid-y > .xlarge-15, .grid-y > .xlarge-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12, .grid-y > .xxlarge-13, .grid-y > .xxlarge-14, .grid-y > .xxlarge-15, .grid-y > .xxlarge-16 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 6.25%; }
  .grid-y > .small-2 {
    height: 12.5%; }
  .grid-y > .small-3 {
    height: 18.75%; }
  .grid-y > .small-4 {
    height: 25%; }
  .grid-y > .small-5 {
    height: 31.25%; }
  .grid-y > .small-6 {
    height: 37.5%; }
  .grid-y > .small-7 {
    height: 43.75%; }
  .grid-y > .small-8 {
    height: 50%; }
  .grid-y > .small-9 {
    height: 56.25%; }
  .grid-y > .small-10 {
    height: 62.5%; }
  .grid-y > .small-11 {
    height: 68.75%; }
  .grid-y > .small-12 {
    height: 75%; }
  .grid-y > .small-13 {
    height: 81.25%; }
  .grid-y > .small-14 {
    height: 87.5%; }
  .grid-y > .small-15 {
    height: 93.75%; }
  .grid-y > .small-16 {
    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: 6.25%; }
    .grid-y > .medium-2 {
      height: 12.5%; }
    .grid-y > .medium-3 {
      height: 18.75%; }
    .grid-y > .medium-4 {
      height: 25%; }
    .grid-y > .medium-5 {
      height: 31.25%; }
    .grid-y > .medium-6 {
      height: 37.5%; }
    .grid-y > .medium-7 {
      height: 43.75%; }
    .grid-y > .medium-8 {
      height: 50%; }
    .grid-y > .medium-9 {
      height: 56.25%; }
    .grid-y > .medium-10 {
      height: 62.5%; }
    .grid-y > .medium-11 {
      height: 68.75%; }
    .grid-y > .medium-12 {
      height: 75%; }
    .grid-y > .medium-13 {
      height: 81.25%; }
    .grid-y > .medium-14 {
      height: 87.5%; }
    .grid-y > .medium-15 {
      height: 93.75%; }
    .grid-y > .medium-16 {
      height: 100%; } }
  @media screen and (min-width: 50em) {
    .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: 6.25%; }
    .grid-y > .large-2 {
      height: 12.5%; }
    .grid-y > .large-3 {
      height: 18.75%; }
    .grid-y > .large-4 {
      height: 25%; }
    .grid-y > .large-5 {
      height: 31.25%; }
    .grid-y > .large-6 {
      height: 37.5%; }
    .grid-y > .large-7 {
      height: 43.75%; }
    .grid-y > .large-8 {
      height: 50%; }
    .grid-y > .large-9 {
      height: 56.25%; }
    .grid-y > .large-10 {
      height: 62.5%; }
    .grid-y > .large-11 {
      height: 68.75%; }
    .grid-y > .large-12 {
      height: 75%; }
    .grid-y > .large-13 {
      height: 81.25%; }
    .grid-y > .large-14 {
      height: 87.5%; }
    .grid-y > .large-15 {
      height: 93.75%; }
    .grid-y > .large-16 {
      height: 100%; } }
  @media screen and (min-width: 64em) {
    .grid-y > .xlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 6.25%; }
    .grid-y > .xlarge-2 {
      height: 12.5%; }
    .grid-y > .xlarge-3 {
      height: 18.75%; }
    .grid-y > .xlarge-4 {
      height: 25%; }
    .grid-y > .xlarge-5 {
      height: 31.25%; }
    .grid-y > .xlarge-6 {
      height: 37.5%; }
    .grid-y > .xlarge-7 {
      height: 43.75%; }
    .grid-y > .xlarge-8 {
      height: 50%; }
    .grid-y > .xlarge-9 {
      height: 56.25%; }
    .grid-y > .xlarge-10 {
      height: 62.5%; }
    .grid-y > .xlarge-11 {
      height: 68.75%; }
    .grid-y > .xlarge-12 {
      height: 75%; }
    .grid-y > .xlarge-13 {
      height: 81.25%; }
    .grid-y > .xlarge-14 {
      height: 87.5%; }
    .grid-y > .xlarge-15 {
      height: 93.75%; }
    .grid-y > .xlarge-16 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 6.25%; }
    .grid-y > .xxlarge-2 {
      height: 12.5%; }
    .grid-y > .xxlarge-3 {
      height: 18.75%; }
    .grid-y > .xxlarge-4 {
      height: 25%; }
    .grid-y > .xxlarge-5 {
      height: 31.25%; }
    .grid-y > .xxlarge-6 {
      height: 37.5%; }
    .grid-y > .xxlarge-7 {
      height: 43.75%; }
    .grid-y > .xxlarge-8 {
      height: 50%; }
    .grid-y > .xxlarge-9 {
      height: 56.25%; }
    .grid-y > .xxlarge-10 {
      height: 62.5%; }
    .grid-y > .xxlarge-11 {
      height: 68.75%; }
    .grid-y > .xxlarge-12 {
      height: 75%; }
    .grid-y > .xxlarge-13 {
      height: 81.25%; }
    .grid-y > .xxlarge-14 {
      height: 87.5%; }
    .grid-y > .xxlarge-15 {
      height: 93.75%; }
    .grid-y > .xxlarge-16 {
      height: 100%; } }

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

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

.grid-margin-y {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.5rem;
      margin-bottom: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.5rem);
    margin-top: 0.25rem;
    margin-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1rem);
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2rem);
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(6.25% - 0.5rem); }
  .grid-margin-y > .small-2 {
    height: calc(12.5% - 0.5rem); }
  .grid-margin-y > .small-3 {
    height: calc(18.75% - 0.5rem); }
  .grid-margin-y > .small-4 {
    height: calc(25% - 0.5rem); }
  .grid-margin-y > .small-5 {
    height: calc(31.25% - 0.5rem); }
  .grid-margin-y > .small-6 {
    height: calc(37.5% - 0.5rem); }
  .grid-margin-y > .small-7 {
    height: calc(43.75% - 0.5rem); }
  .grid-margin-y > .small-8 {
    height: calc(50% - 0.5rem); }
  .grid-margin-y > .small-9 {
    height: calc(56.25% - 0.5rem); }
  .grid-margin-y > .small-10 {
    height: calc(62.5% - 0.5rem); }
  .grid-margin-y > .small-11 {
    height: calc(68.75% - 0.5rem); }
  .grid-margin-y > .small-12 {
    height: calc(75% - 0.5rem); }
  .grid-margin-y > .small-13 {
    height: calc(81.25% - 0.5rem); }
  .grid-margin-y > .small-14 {
    height: calc(87.5% - 0.5rem); }
  .grid-margin-y > .small-15 {
    height: calc(93.75% - 0.5rem); }
  .grid-margin-y > .small-16 {
    height: calc(100% - 0.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(6.25% - 1rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 1rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .large-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .large-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .large-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .large-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .large-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .large-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .large-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .large-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .large-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .large-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .large-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .large-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .large-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .large-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .large-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xlarge-16 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xxlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xxlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xxlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xxlarge-16 {
      height: calc(100% - 2rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: -0.25rem;
  margin-bottom: -0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.5rem;
      margin-bottom: -0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y {
      margin-top: -1rem;
      margin-bottom: -1rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.5rem);
    margin-top: 0.25rem;
    margin-bottom: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1rem);
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .cell {
      height: calc(100% - 2rem);
      margin-top: 1rem;
      margin-bottom: 1rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(6.25% - 0.5rem); }
  .grid-margin-y > .small-2 {
    height: calc(12.5% - 0.5rem); }
  .grid-margin-y > .small-3 {
    height: calc(18.75% - 0.5rem); }
  .grid-margin-y > .small-4 {
    height: calc(25% - 0.5rem); }
  .grid-margin-y > .small-5 {
    height: calc(31.25% - 0.5rem); }
  .grid-margin-y > .small-6 {
    height: calc(37.5% - 0.5rem); }
  .grid-margin-y > .small-7 {
    height: calc(43.75% - 0.5rem); }
  .grid-margin-y > .small-8 {
    height: calc(50% - 0.5rem); }
  .grid-margin-y > .small-9 {
    height: calc(56.25% - 0.5rem); }
  .grid-margin-y > .small-10 {
    height: calc(62.5% - 0.5rem); }
  .grid-margin-y > .small-11 {
    height: calc(68.75% - 0.5rem); }
  .grid-margin-y > .small-12 {
    height: calc(75% - 0.5rem); }
  .grid-margin-y > .small-13 {
    height: calc(81.25% - 0.5rem); }
  .grid-margin-y > .small-14 {
    height: calc(87.5% - 0.5rem); }
  .grid-margin-y > .small-15 {
    height: calc(93.75% - 0.5rem); }
  .grid-margin-y > .small-16 {
    height: calc(100% - 0.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(6.25% - 1rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 1rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 50em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(6.25% - 1rem); }
    .grid-margin-y > .large-2 {
      height: calc(12.5% - 1rem); }
    .grid-margin-y > .large-3 {
      height: calc(18.75% - 1rem); }
    .grid-margin-y > .large-4 {
      height: calc(25% - 1rem); }
    .grid-margin-y > .large-5 {
      height: calc(31.25% - 1rem); }
    .grid-margin-y > .large-6 {
      height: calc(37.5% - 1rem); }
    .grid-margin-y > .large-7 {
      height: calc(43.75% - 1rem); }
    .grid-margin-y > .large-8 {
      height: calc(50% - 1rem); }
    .grid-margin-y > .large-9 {
      height: calc(56.25% - 1rem); }
    .grid-margin-y > .large-10 {
      height: calc(62.5% - 1rem); }
    .grid-margin-y > .large-11 {
      height: calc(68.75% - 1rem); }
    .grid-margin-y > .large-12 {
      height: calc(75% - 1rem); }
    .grid-margin-y > .large-13 {
      height: calc(81.25% - 1rem); }
    .grid-margin-y > .large-14 {
      height: calc(87.5% - 1rem); }
    .grid-margin-y > .large-15 {
      height: calc(93.75% - 1rem); }
    .grid-margin-y > .large-16 {
      height: calc(100% - 1rem); } }
  @media screen and (min-width: 64em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .small-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .small-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .small-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .small-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .small-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .small-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .small-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .small-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .small-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .small-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .small-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .small-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .small-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .small-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .small-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .medium-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .medium-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .medium-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .medium-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .medium-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .medium-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .medium-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .medium-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .medium-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .medium-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .medium-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .medium-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .medium-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .medium-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .medium-16 {
      height: calc(100% - 2rem); }
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xlarge-16 {
      height: calc(100% - 2rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(6.25% - 2rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(12.5% - 2rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(18.75% - 2rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(25% - 2rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(31.25% - 2rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(37.5% - 2rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(43.75% - 2rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(50% - 2rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(56.25% - 2rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(62.5% - 2rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(68.75% - 2rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(75% - 2rem); }
    .grid-margin-y > .xxlarge-13 {
      height: calc(81.25% - 2rem); }
    .grid-margin-y > .xxlarge-14 {
      height: calc(87.5% - 2rem); }
    .grid-margin-y > .xxlarge-15 {
      height: calc(93.75% - 2rem); }
    .grid-margin-y > .xxlarge-16 {
      height: calc(100% - 2rem); } }

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

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

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

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

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

div,
dl,
dt,
dd,
ul,
ol,
li, h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address,
h2,
h3,
.char-wrapper:before,
h4,
h5,
h6,
.archiv-view .results-item .entry-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: bold;
  line-height: inherit; }

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

h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address, .h1,
h2, .h2,
h3,
.char-wrapper:before, .h3,
h4, .h4,
h5, .h5,
h6,
.archiv-view .results-item .entry-title, .h6 {
  font-family: "poppinsbold";
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, #contact-overlay .contact_title small, #contact-overlay .large_tel small, #contact-overlay .large_email small, #contact-overlay .large_address small, .h1 small,
  h2 small, .h2 small,
  h3 small,
  .char-wrapper:before small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small,
  .archiv-view .results-item .entry-title small, .h6 small {
    line-height: 0;
    color: #DFDFDF; }

h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address, .h1 {
  font-size: 1.75rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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


h3,
.char-wrapper:before, .h3 {
  font-size: 1.25rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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


h6,
.archiv-view .results-item .entry-title, .h6 {
  font-size: 1rem;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media screen and (min-width: 50em) {
  h1, #contact-overlay .contact_title, #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 1.625rem; }
  
  h3,
  .char-wrapper:before, .h3 {
    font-size: 1.4375rem; }
  h4, .h4 {
    font-size: 1.3125rem; }
  h5, .h5 {
    font-size: 1.375rem; }
  
  h6,
  .archiv-view .results-item .entry-title, .h6 {
    font-size: 1.0625rem; } }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DFDFDF; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #313941; }

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

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

figure {
  margin: 0; }

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

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

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

.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 screen and (min-width: 50em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

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

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #313941;
    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,
  .char-wrapper:before {
    orphans: 3;
    widows: 3; }
  h2,
  h3,
  .char-wrapper:before {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, .gform_wrapper .gform_footer input.button[type=submit],
.gform_wrapper .gform_button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.4em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 2.5rem;
  transition: background-color 0.2s ease, color 0.2s ease;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #313941;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer [data-whatinput='mouse'] input.button[type=submit],
  [data-whatinput='mouse'] .gform_wrapper .gform_button, .gform_wrapper [data-whatinput='mouse'] .gform_button {
    outline: 0; }
  .button:hover, .gform_wrapper .gform_footer input.button:hover[type=submit],
  .gform_wrapper .gform_button:hover, .button:focus, .gform_wrapper .gform_footer input.button:focus[type=submit],
  .gform_wrapper .gform_button:focus {
    background-color: #313941;
    color: #FFFFFF; }
  .button.tiny, .gform_wrapper .gform_footer input.tiny.button[type=submit],
  .gform_wrapper .tiny.gform_button {
    font-size: 0.6rem; }
  .button.small, .gform_wrapper .gform_footer input.small.button[type=submit],
  .gform_wrapper .small.gform_button {
    font-size: 0.75rem; }
  .button.large, .gform_wrapper .gform_footer input.large.button[type=submit],
  .gform_wrapper .large.gform_button {
    font-size: 1.25rem; }
  .button.expanded, .gform_wrapper .gform_footer input.expanded.button[type=submit],
  .gform_wrapper .expanded.gform_button {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .gform_wrapper .gform_footer input.primary.button[type=submit],
  .gform_wrapper .primary.gform_button {
    background-color: #313941;
    color: #FFFFFF; }
    .button.primary:hover, .gform_wrapper .gform_footer input.primary.button:hover[type=submit],
    .gform_wrapper .primary.gform_button:hover, .button.primary:focus, .gform_wrapper .gform_footer input.primary.button:focus[type=submit],
    .gform_wrapper .primary.gform_button:focus {
      background-color: #272e34;
      color: #FFFFFF; }
  .button.secondary, .gform_wrapper .gform_footer input.secondary.button[type=submit],
  .gform_wrapper .secondary.gform_button {
    background-color: #10516b;
    color: #FFFFFF; }
    .button.secondary:hover, .gform_wrapper .gform_footer input.secondary.button:hover[type=submit],
    .gform_wrapper .secondary.gform_button:hover, .button.secondary:focus, .gform_wrapper .gform_footer input.secondary.button:focus[type=submit],
    .gform_wrapper .secondary.gform_button:focus {
      background-color: #0d4156;
      color: #FFFFFF; }
  .button.success, .gform_wrapper .gform_footer input.success.button[type=submit],
  .gform_wrapper .success.gform_button {
    background-color: #6EB533;
    color: #000000; }
    .button.success:hover, .gform_wrapper .gform_footer input.success.button:hover[type=submit],
    .gform_wrapper .success.gform_button:hover, .button.success:focus, .gform_wrapper .gform_footer input.success.button:focus[type=submit],
    .gform_wrapper .success.gform_button:focus {
      background-color: #589129;
      color: #000000; }
  .button.warning, .gform_wrapper .gform_footer input.warning.button[type=submit],
  .gform_wrapper .warning.gform_button {
    background-color: #fffb00;
    color: #000000; }
    .button.warning:hover, .gform_wrapper .gform_footer input.warning.button:hover[type=submit],
    .gform_wrapper .warning.gform_button:hover, .button.warning:focus, .gform_wrapper .gform_footer input.warning.button:focus[type=submit],
    .gform_wrapper .warning.gform_button:focus {
      background-color: #ccc900;
      color: #000000; }
  .button.alert, .gform_wrapper .gform_footer input.alert.button[type=submit],
  .gform_wrapper .alert.gform_button {
    background-color: #cc4b37;
    color: #000000; }
    .button.alert:hover, .gform_wrapper .gform_footer input.alert.button:hover[type=submit],
    .gform_wrapper .alert.gform_button:hover, .button.alert:focus, .gform_wrapper .gform_footer input.alert.button:focus[type=submit],
    .gform_wrapper .alert.gform_button:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button.disabled, .gform_wrapper .gform_footer input.disabled.button[type=submit],
  .gform_wrapper .disabled.gform_button, .button[disabled], .gform_wrapper .gform_footer input.button[disabled][type=submit],
  .gform_wrapper .gform_button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .gform_wrapper .gform_footer input.disabled.button[type=submit],
    .gform_wrapper .disabled.gform_button, .button.disabled:hover, .gform_wrapper .gform_footer input.disabled.button:hover[type=submit],
    .gform_wrapper .disabled.gform_button:hover, .button.disabled:focus, .gform_wrapper .gform_footer input.disabled.button:focus[type=submit],
    .gform_wrapper .disabled.gform_button:focus, .button[disabled], .gform_wrapper .gform_footer input.button[disabled][type=submit],
    .gform_wrapper .gform_button[disabled], .button[disabled]:hover, .gform_wrapper .gform_footer input.button[disabled]:hover[type=submit],
    .gform_wrapper .gform_button[disabled]:hover, .button[disabled]:focus, .gform_wrapper .gform_footer input.button[disabled]:focus[type=submit],
    .gform_wrapper .gform_button[disabled]:focus {
      background-color: #313941;
      color: #FFFFFF; }
    .button.disabled.primary, .gform_wrapper .gform_footer input.disabled.primary.button[type=submit],
    .gform_wrapper .disabled.primary.gform_button, .button[disabled].primary, .gform_wrapper .gform_footer input.button[disabled].primary[type=submit],
    .gform_wrapper .gform_button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .gform_wrapper .gform_footer input.disabled.primary.button[type=submit],
      .gform_wrapper .disabled.primary.gform_button, .button.disabled.primary:hover, .gform_wrapper .gform_footer input.disabled.primary.button:hover[type=submit],
      .gform_wrapper .disabled.primary.gform_button:hover, .button.disabled.primary:focus, .gform_wrapper .gform_footer input.disabled.primary.button:focus[type=submit],
      .gform_wrapper .disabled.primary.gform_button:focus, .button[disabled].primary, .gform_wrapper .gform_footer input.button[disabled].primary[type=submit],
      .gform_wrapper .gform_button[disabled].primary, .button[disabled].primary:hover, .gform_wrapper .gform_footer input.button[disabled].primary:hover[type=submit],
      .gform_wrapper .gform_button[disabled].primary:hover, .button[disabled].primary:focus, .gform_wrapper .gform_footer input.button[disabled].primary:focus[type=submit],
      .gform_wrapper .gform_button[disabled].primary:focus {
        background-color: #313941;
        color: #FFFFFF; }
    .button.disabled.secondary, .gform_wrapper .gform_footer input.disabled.secondary.button[type=submit],
    .gform_wrapper .disabled.secondary.gform_button, .button[disabled].secondary, .gform_wrapper .gform_footer input.button[disabled].secondary[type=submit],
    .gform_wrapper .gform_button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .gform_wrapper .gform_footer input.disabled.secondary.button[type=submit],
      .gform_wrapper .disabled.secondary.gform_button, .button.disabled.secondary:hover, .gform_wrapper .gform_footer input.disabled.secondary.button:hover[type=submit],
      .gform_wrapper .disabled.secondary.gform_button:hover, .button.disabled.secondary:focus, .gform_wrapper .gform_footer input.disabled.secondary.button:focus[type=submit],
      .gform_wrapper .disabled.secondary.gform_button:focus, .button[disabled].secondary, .gform_wrapper .gform_footer input.button[disabled].secondary[type=submit],
      .gform_wrapper .gform_button[disabled].secondary, .button[disabled].secondary:hover, .gform_wrapper .gform_footer input.button[disabled].secondary:hover[type=submit],
      .gform_wrapper .gform_button[disabled].secondary:hover, .button[disabled].secondary:focus, .gform_wrapper .gform_footer input.button[disabled].secondary:focus[type=submit],
      .gform_wrapper .gform_button[disabled].secondary:focus {
        background-color: #10516b;
        color: #FFFFFF; }
    .button.disabled.success, .gform_wrapper .gform_footer input.disabled.success.button[type=submit],
    .gform_wrapper .disabled.success.gform_button, .button[disabled].success, .gform_wrapper .gform_footer input.button[disabled].success[type=submit],
    .gform_wrapper .gform_button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .gform_wrapper .gform_footer input.disabled.success.button[type=submit],
      .gform_wrapper .disabled.success.gform_button, .button.disabled.success:hover, .gform_wrapper .gform_footer input.disabled.success.button:hover[type=submit],
      .gform_wrapper .disabled.success.gform_button:hover, .button.disabled.success:focus, .gform_wrapper .gform_footer input.disabled.success.button:focus[type=submit],
      .gform_wrapper .disabled.success.gform_button:focus, .button[disabled].success, .gform_wrapper .gform_footer input.button[disabled].success[type=submit],
      .gform_wrapper .gform_button[disabled].success, .button[disabled].success:hover, .gform_wrapper .gform_footer input.button[disabled].success:hover[type=submit],
      .gform_wrapper .gform_button[disabled].success:hover, .button[disabled].success:focus, .gform_wrapper .gform_footer input.button[disabled].success:focus[type=submit],
      .gform_wrapper .gform_button[disabled].success:focus {
        background-color: #6EB533;
        color: #000000; }
    .button.disabled.warning, .gform_wrapper .gform_footer input.disabled.warning.button[type=submit],
    .gform_wrapper .disabled.warning.gform_button, .button[disabled].warning, .gform_wrapper .gform_footer input.button[disabled].warning[type=submit],
    .gform_wrapper .gform_button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .gform_wrapper .gform_footer input.disabled.warning.button[type=submit],
      .gform_wrapper .disabled.warning.gform_button, .button.disabled.warning:hover, .gform_wrapper .gform_footer input.disabled.warning.button:hover[type=submit],
      .gform_wrapper .disabled.warning.gform_button:hover, .button.disabled.warning:focus, .gform_wrapper .gform_footer input.disabled.warning.button:focus[type=submit],
      .gform_wrapper .disabled.warning.gform_button:focus, .button[disabled].warning, .gform_wrapper .gform_footer input.button[disabled].warning[type=submit],
      .gform_wrapper .gform_button[disabled].warning, .button[disabled].warning:hover, .gform_wrapper .gform_footer input.button[disabled].warning:hover[type=submit],
      .gform_wrapper .gform_button[disabled].warning:hover, .button[disabled].warning:focus, .gform_wrapper .gform_footer input.button[disabled].warning:focus[type=submit],
      .gform_wrapper .gform_button[disabled].warning:focus {
        background-color: #fffb00;
        color: #000000; }
    .button.disabled.alert, .gform_wrapper .gform_footer input.disabled.alert.button[type=submit],
    .gform_wrapper .disabled.alert.gform_button, .button[disabled].alert, .gform_wrapper .gform_footer input.button[disabled].alert[type=submit],
    .gform_wrapper .gform_button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .gform_wrapper .gform_footer input.disabled.alert.button[type=submit],
      .gform_wrapper .disabled.alert.gform_button, .button.disabled.alert:hover, .gform_wrapper .gform_footer input.disabled.alert.button:hover[type=submit],
      .gform_wrapper .disabled.alert.gform_button:hover, .button.disabled.alert:focus, .gform_wrapper .gform_footer input.disabled.alert.button:focus[type=submit],
      .gform_wrapper .disabled.alert.gform_button:focus, .button[disabled].alert, .gform_wrapper .gform_footer input.button[disabled].alert[type=submit],
      .gform_wrapper .gform_button[disabled].alert, .button[disabled].alert:hover, .gform_wrapper .gform_footer input.button[disabled].alert:hover[type=submit],
      .gform_wrapper .gform_button[disabled].alert:hover, .button[disabled].alert:focus, .gform_wrapper .gform_footer input.button[disabled].alert:focus[type=submit],
      .gform_wrapper .gform_button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #000000; }
  .button.hollow, .gform_wrapper .gform_footer input.hollow.button[type=submit],
  .gform_wrapper .hollow.gform_button {
    border: 1px solid #313941;
    color: #313941; }
    .button.hollow, .gform_wrapper .gform_footer input.hollow.button[type=submit],
    .gform_wrapper .hollow.gform_button, .button.hollow:hover, .gform_wrapper .gform_footer input.hollow.button:hover[type=submit],
    .gform_wrapper .hollow.gform_button:hover, .button.hollow:focus, .gform_wrapper .gform_footer input.hollow.button:focus[type=submit],
    .gform_wrapper .hollow.gform_button:focus {
      background-color: transparent; }
    .button.hollow.disabled, .gform_wrapper .gform_footer input.hollow.disabled.button[type=submit],
    .gform_wrapper .hollow.disabled.gform_button, .button.hollow.disabled:hover, .gform_wrapper .gform_footer input.hollow.disabled.button:hover[type=submit],
    .gform_wrapper .hollow.disabled.gform_button:hover, .button.hollow.disabled:focus, .gform_wrapper .gform_footer input.hollow.disabled.button:focus[type=submit],
    .gform_wrapper .hollow.disabled.gform_button:focus, .button.hollow[disabled], .gform_wrapper .gform_footer input.hollow.button[disabled][type=submit],
    .gform_wrapper .hollow.gform_button[disabled], .button.hollow[disabled]:hover, .gform_wrapper .gform_footer input.hollow.button[disabled]:hover[type=submit],
    .gform_wrapper .hollow.gform_button[disabled]:hover, .button.hollow[disabled]:focus, .gform_wrapper .gform_footer input.hollow.button[disabled]:focus[type=submit],
    .gform_wrapper .hollow.gform_button[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .gform_wrapper .gform_footer input.hollow.button:hover[type=submit],
    .gform_wrapper .hollow.gform_button:hover, .button.hollow:focus, .gform_wrapper .gform_footer input.hollow.button:focus[type=submit],
    .gform_wrapper .hollow.gform_button:focus {
      border-color: #191d21;
      color: #191d21; }
      .button.hollow:hover.disabled, .gform_wrapper .gform_footer input.hollow.button:hover.disabled[type=submit],
      .gform_wrapper .hollow.gform_button:hover.disabled, .button.hollow:hover[disabled], .gform_wrapper .gform_footer input.hollow.button:hover[disabled][type=submit],
      .gform_wrapper .hollow.gform_button:hover[disabled], .button.hollow:focus.disabled, .gform_wrapper .gform_footer input.hollow.button:focus.disabled[type=submit],
      .gform_wrapper .hollow.gform_button:focus.disabled, .button.hollow:focus[disabled], .gform_wrapper .gform_footer input.hollow.button:focus[disabled][type=submit],
      .gform_wrapper .hollow.gform_button:focus[disabled] {
        border: 1px solid #313941;
        color: #313941; }
    .button.hollow.primary, .gform_wrapper .gform_footer input.hollow.primary.button[type=submit],
    .gform_wrapper .hollow.primary.gform_button {
      border: 1px solid #313941;
      color: #313941; }
      .button.hollow.primary:hover, .gform_wrapper .gform_footer input.hollow.primary.button:hover[type=submit],
      .gform_wrapper .hollow.primary.gform_button:hover, .button.hollow.primary:focus, .gform_wrapper .gform_footer input.hollow.primary.button:focus[type=submit],
      .gform_wrapper .hollow.primary.gform_button:focus {
        border-color: #191d21;
        color: #191d21; }
        .button.hollow.primary:hover.disabled,
        .gform_wrapper .hollow.primary.gform_button:hover.disabled, .button.hollow.primary:hover[disabled],
        .gform_wrapper .hollow.primary.gform_button:hover[disabled], .button.hollow.primary:focus.disabled,
        .gform_wrapper .hollow.primary.gform_button:focus.disabled, .button.hollow.primary:focus[disabled],
        .gform_wrapper .hollow.primary.gform_button:focus[disabled] {
          border: 1px solid #313941;
          color: #313941; }
    .button.hollow.secondary, .gform_wrapper .gform_footer input.hollow.secondary.button[type=submit],
    .gform_wrapper .hollow.secondary.gform_button {
      border: 1px solid #10516b;
      color: #10516b; }
      .button.hollow.secondary:hover, .gform_wrapper .gform_footer input.hollow.secondary.button:hover[type=submit],
      .gform_wrapper .hollow.secondary.gform_button:hover, .button.hollow.secondary:focus, .gform_wrapper .gform_footer input.hollow.secondary.button:focus[type=submit],
      .gform_wrapper .hollow.secondary.gform_button:focus {
        border-color: #082936;
        color: #082936; }
        .button.hollow.secondary:hover.disabled,
        .gform_wrapper .hollow.secondary.gform_button:hover.disabled, .button.hollow.secondary:hover[disabled],
        .gform_wrapper .hollow.secondary.gform_button:hover[disabled], .button.hollow.secondary:focus.disabled,
        .gform_wrapper .hollow.secondary.gform_button:focus.disabled, .button.hollow.secondary:focus[disabled],
        .gform_wrapper .hollow.secondary.gform_button:focus[disabled] {
          border: 1px solid #10516b;
          color: #10516b; }
    .button.hollow.success, .gform_wrapper .gform_footer input.hollow.success.button[type=submit],
    .gform_wrapper .hollow.success.gform_button {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.hollow.success:hover, .gform_wrapper .gform_footer input.hollow.success.button:hover[type=submit],
      .gform_wrapper .hollow.success.gform_button:hover, .button.hollow.success:focus, .gform_wrapper .gform_footer input.hollow.success.button:focus[type=submit],
      .gform_wrapper .hollow.success.gform_button:focus {
        border-color: #375b1a;
        color: #375b1a; }
        .button.hollow.success:hover.disabled,
        .gform_wrapper .hollow.success.gform_button:hover.disabled, .button.hollow.success:hover[disabled],
        .gform_wrapper .hollow.success.gform_button:hover[disabled], .button.hollow.success:focus.disabled,
        .gform_wrapper .hollow.success.gform_button:focus.disabled, .button.hollow.success:focus[disabled],
        .gform_wrapper .hollow.success.gform_button:focus[disabled] {
          border: 1px solid #6EB533;
          color: #6EB533; }
    .button.hollow.warning, .gform_wrapper .gform_footer input.hollow.warning.button[type=submit],
    .gform_wrapper .hollow.warning.gform_button {
      border: 1px solid #fffb00;
      color: #fffb00; }
      .button.hollow.warning:hover, .gform_wrapper .gform_footer input.hollow.warning.button:hover[type=submit],
      .gform_wrapper .hollow.warning.gform_button:hover, .button.hollow.warning:focus, .gform_wrapper .gform_footer input.hollow.warning.button:focus[type=submit],
      .gform_wrapper .hollow.warning.gform_button:focus {
        border-color: #807e00;
        color: #807e00; }
        .button.hollow.warning:hover.disabled,
        .gform_wrapper .hollow.warning.gform_button:hover.disabled, .button.hollow.warning:hover[disabled],
        .gform_wrapper .hollow.warning.gform_button:hover[disabled], .button.hollow.warning:focus.disabled,
        .gform_wrapper .hollow.warning.gform_button:focus.disabled, .button.hollow.warning:focus[disabled],
        .gform_wrapper .hollow.warning.gform_button:focus[disabled] {
          border: 1px solid #fffb00;
          color: #fffb00; }
    .button.hollow.alert, .gform_wrapper .gform_footer input.hollow.alert.button[type=submit],
    .gform_wrapper .hollow.alert.gform_button {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .gform_wrapper .gform_footer input.hollow.alert.button:hover[type=submit],
      .gform_wrapper .hollow.alert.gform_button:hover, .button.hollow.alert:focus, .gform_wrapper .gform_footer input.hollow.alert.button:focus[type=submit],
      .gform_wrapper .hollow.alert.gform_button:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled,
        .gform_wrapper .hollow.alert.gform_button:hover.disabled, .button.hollow.alert:hover[disabled],
        .gform_wrapper .hollow.alert.gform_button:hover[disabled], .button.hollow.alert:focus.disabled,
        .gform_wrapper .hollow.alert.gform_button:focus.disabled, .button.hollow.alert:focus[disabled],
        .gform_wrapper .hollow.alert.gform_button:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear, .gform_wrapper .gform_footer input.clear.button[type=submit],
  .gform_wrapper .clear.gform_button {
    border: 1px solid #313941;
    color: #313941; }
    .button.clear, .gform_wrapper .gform_footer input.clear.button[type=submit],
    .gform_wrapper .clear.gform_button, .button.clear:hover, .gform_wrapper .gform_footer input.clear.button:hover[type=submit],
    .gform_wrapper .clear.gform_button:hover, .button.clear:focus, .gform_wrapper .gform_footer input.clear.button:focus[type=submit],
    .gform_wrapper .clear.gform_button:focus {
      background-color: transparent; }
    .button.clear.disabled, .gform_wrapper .gform_footer input.clear.disabled.button[type=submit],
    .gform_wrapper .clear.disabled.gform_button, .button.clear.disabled:hover, .gform_wrapper .gform_footer input.clear.disabled.button:hover[type=submit],
    .gform_wrapper .clear.disabled.gform_button:hover, .button.clear.disabled:focus, .gform_wrapper .gform_footer input.clear.disabled.button:focus[type=submit],
    .gform_wrapper .clear.disabled.gform_button:focus, .button.clear[disabled], .gform_wrapper .gform_footer input.clear.button[disabled][type=submit],
    .gform_wrapper .clear.gform_button[disabled], .button.clear[disabled]:hover, .gform_wrapper .gform_footer input.clear.button[disabled]:hover[type=submit],
    .gform_wrapper .clear.gform_button[disabled]:hover, .button.clear[disabled]:focus, .gform_wrapper .gform_footer input.clear.button[disabled]:focus[type=submit],
    .gform_wrapper .clear.gform_button[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .gform_wrapper .gform_footer input.clear.button:hover[type=submit],
    .gform_wrapper .clear.gform_button:hover, .button.clear:focus, .gform_wrapper .gform_footer input.clear.button:focus[type=submit],
    .gform_wrapper .clear.gform_button:focus {
      border-color: #191d21;
      color: #191d21; }
      .button.clear:hover.disabled, .gform_wrapper .gform_footer input.clear.button:hover.disabled[type=submit],
      .gform_wrapper .clear.gform_button:hover.disabled, .button.clear:hover[disabled], .gform_wrapper .gform_footer input.clear.button:hover[disabled][type=submit],
      .gform_wrapper .clear.gform_button:hover[disabled], .button.clear:focus.disabled, .gform_wrapper .gform_footer input.clear.button:focus.disabled[type=submit],
      .gform_wrapper .clear.gform_button:focus.disabled, .button.clear:focus[disabled], .gform_wrapper .gform_footer input.clear.button:focus[disabled][type=submit],
      .gform_wrapper .clear.gform_button:focus[disabled] {
        border: 1px solid #313941;
        color: #313941; }
    .button.clear, .gform_wrapper .gform_footer input.clear.button[type=submit],
    .gform_wrapper .clear.gform_button, .button.clear.disabled, .gform_wrapper .gform_footer input.clear.disabled.button[type=submit],
    .gform_wrapper .clear.disabled.gform_button, .button.clear[disabled], .gform_wrapper .gform_footer input.clear.button[disabled][type=submit],
    .gform_wrapper .clear.gform_button[disabled], .button.clear:hover, .gform_wrapper .gform_footer input.clear.button:hover[type=submit],
    .gform_wrapper .clear.gform_button:hover, .button.clear:hover.disabled, .gform_wrapper .gform_footer input.clear.button:hover.disabled[type=submit],
    .gform_wrapper .clear.gform_button:hover.disabled, .button.clear:hover[disabled], .gform_wrapper .gform_footer input.clear.button:hover[disabled][type=submit],
    .gform_wrapper .clear.gform_button:hover[disabled], .button.clear:focus, .gform_wrapper .gform_footer input.clear.button:focus[type=submit],
    .gform_wrapper .clear.gform_button:focus, .button.clear:focus.disabled, .gform_wrapper .gform_footer input.clear.button:focus.disabled[type=submit],
    .gform_wrapper .clear.gform_button:focus.disabled, .button.clear:focus[disabled], .gform_wrapper .gform_footer input.clear.button:focus[disabled][type=submit],
    .gform_wrapper .clear.gform_button:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, .gform_wrapper .gform_footer input.clear.primary.button[type=submit],
    .gform_wrapper .clear.primary.gform_button {
      border: 1px solid #313941;
      color: #313941; }
      .button.clear.primary:hover, .gform_wrapper .gform_footer input.clear.primary.button:hover[type=submit],
      .gform_wrapper .clear.primary.gform_button:hover, .button.clear.primary:focus, .gform_wrapper .gform_footer input.clear.primary.button:focus[type=submit],
      .gform_wrapper .clear.primary.gform_button:focus {
        border-color: #191d21;
        color: #191d21; }
        .button.clear.primary:hover.disabled,
        .gform_wrapper .clear.primary.gform_button:hover.disabled, .button.clear.primary:hover[disabled],
        .gform_wrapper .clear.primary.gform_button:hover[disabled], .button.clear.primary:focus.disabled,
        .gform_wrapper .clear.primary.gform_button:focus.disabled, .button.clear.primary:focus[disabled],
        .gform_wrapper .clear.primary.gform_button:focus[disabled] {
          border: 1px solid #313941;
          color: #313941; }
      .button.clear.primary, .gform_wrapper .gform_footer input.clear.primary.button[type=submit],
      .gform_wrapper .clear.primary.gform_button, .button.clear.primary.disabled, .gform_wrapper .gform_footer input.clear.primary.disabled.button[type=submit],
      .gform_wrapper .clear.primary.disabled.gform_button, .button.clear.primary[disabled], .gform_wrapper .gform_footer input.clear.primary.button[disabled][type=submit],
      .gform_wrapper .clear.primary.gform_button[disabled], .button.clear.primary:hover, .gform_wrapper .gform_footer input.clear.primary.button:hover[type=submit],
      .gform_wrapper .clear.primary.gform_button:hover, .button.clear.primary:hover.disabled,
      .gform_wrapper .clear.primary.gform_button:hover.disabled, .button.clear.primary:hover[disabled],
      .gform_wrapper .clear.primary.gform_button:hover[disabled], .button.clear.primary:focus, .gform_wrapper .gform_footer input.clear.primary.button:focus[type=submit],
      .gform_wrapper .clear.primary.gform_button:focus, .button.clear.primary:focus.disabled,
      .gform_wrapper .clear.primary.gform_button:focus.disabled, .button.clear.primary:focus[disabled],
      .gform_wrapper .clear.primary.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, .gform_wrapper .gform_footer input.clear.secondary.button[type=submit],
    .gform_wrapper .clear.secondary.gform_button {
      border: 1px solid #10516b;
      color: #10516b; }
      .button.clear.secondary:hover, .gform_wrapper .gform_footer input.clear.secondary.button:hover[type=submit],
      .gform_wrapper .clear.secondary.gform_button:hover, .button.clear.secondary:focus, .gform_wrapper .gform_footer input.clear.secondary.button:focus[type=submit],
      .gform_wrapper .clear.secondary.gform_button:focus {
        border-color: #082936;
        color: #082936; }
        .button.clear.secondary:hover.disabled,
        .gform_wrapper .clear.secondary.gform_button:hover.disabled, .button.clear.secondary:hover[disabled],
        .gform_wrapper .clear.secondary.gform_button:hover[disabled], .button.clear.secondary:focus.disabled,
        .gform_wrapper .clear.secondary.gform_button:focus.disabled, .button.clear.secondary:focus[disabled],
        .gform_wrapper .clear.secondary.gform_button:focus[disabled] {
          border: 1px solid #10516b;
          color: #10516b; }
      .button.clear.secondary, .gform_wrapper .gform_footer input.clear.secondary.button[type=submit],
      .gform_wrapper .clear.secondary.gform_button, .button.clear.secondary.disabled, .gform_wrapper .gform_footer input.clear.secondary.disabled.button[type=submit],
      .gform_wrapper .clear.secondary.disabled.gform_button, .button.clear.secondary[disabled], .gform_wrapper .gform_footer input.clear.secondary.button[disabled][type=submit],
      .gform_wrapper .clear.secondary.gform_button[disabled], .button.clear.secondary:hover, .gform_wrapper .gform_footer input.clear.secondary.button:hover[type=submit],
      .gform_wrapper .clear.secondary.gform_button:hover, .button.clear.secondary:hover.disabled,
      .gform_wrapper .clear.secondary.gform_button:hover.disabled, .button.clear.secondary:hover[disabled],
      .gform_wrapper .clear.secondary.gform_button:hover[disabled], .button.clear.secondary:focus, .gform_wrapper .gform_footer input.clear.secondary.button:focus[type=submit],
      .gform_wrapper .clear.secondary.gform_button:focus, .button.clear.secondary:focus.disabled,
      .gform_wrapper .clear.secondary.gform_button:focus.disabled, .button.clear.secondary:focus[disabled],
      .gform_wrapper .clear.secondary.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, .gform_wrapper .gform_footer input.clear.success.button[type=submit],
    .gform_wrapper .clear.success.gform_button {
      border: 1px solid #6EB533;
      color: #6EB533; }
      .button.clear.success:hover, .gform_wrapper .gform_footer input.clear.success.button:hover[type=submit],
      .gform_wrapper .clear.success.gform_button:hover, .button.clear.success:focus, .gform_wrapper .gform_footer input.clear.success.button:focus[type=submit],
      .gform_wrapper .clear.success.gform_button:focus {
        border-color: #375b1a;
        color: #375b1a; }
        .button.clear.success:hover.disabled,
        .gform_wrapper .clear.success.gform_button:hover.disabled, .button.clear.success:hover[disabled],
        .gform_wrapper .clear.success.gform_button:hover[disabled], .button.clear.success:focus.disabled,
        .gform_wrapper .clear.success.gform_button:focus.disabled, .button.clear.success:focus[disabled],
        .gform_wrapper .clear.success.gform_button:focus[disabled] {
          border: 1px solid #6EB533;
          color: #6EB533; }
      .button.clear.success, .gform_wrapper .gform_footer input.clear.success.button[type=submit],
      .gform_wrapper .clear.success.gform_button, .button.clear.success.disabled, .gform_wrapper .gform_footer input.clear.success.disabled.button[type=submit],
      .gform_wrapper .clear.success.disabled.gform_button, .button.clear.success[disabled], .gform_wrapper .gform_footer input.clear.success.button[disabled][type=submit],
      .gform_wrapper .clear.success.gform_button[disabled], .button.clear.success:hover, .gform_wrapper .gform_footer input.clear.success.button:hover[type=submit],
      .gform_wrapper .clear.success.gform_button:hover, .button.clear.success:hover.disabled,
      .gform_wrapper .clear.success.gform_button:hover.disabled, .button.clear.success:hover[disabled],
      .gform_wrapper .clear.success.gform_button:hover[disabled], .button.clear.success:focus, .gform_wrapper .gform_footer input.clear.success.button:focus[type=submit],
      .gform_wrapper .clear.success.gform_button:focus, .button.clear.success:focus.disabled,
      .gform_wrapper .clear.success.gform_button:focus.disabled, .button.clear.success:focus[disabled],
      .gform_wrapper .clear.success.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, .gform_wrapper .gform_footer input.clear.warning.button[type=submit],
    .gform_wrapper .clear.warning.gform_button {
      border: 1px solid #fffb00;
      color: #fffb00; }
      .button.clear.warning:hover, .gform_wrapper .gform_footer input.clear.warning.button:hover[type=submit],
      .gform_wrapper .clear.warning.gform_button:hover, .button.clear.warning:focus, .gform_wrapper .gform_footer input.clear.warning.button:focus[type=submit],
      .gform_wrapper .clear.warning.gform_button:focus {
        border-color: #807e00;
        color: #807e00; }
        .button.clear.warning:hover.disabled,
        .gform_wrapper .clear.warning.gform_button:hover.disabled, .button.clear.warning:hover[disabled],
        .gform_wrapper .clear.warning.gform_button:hover[disabled], .button.clear.warning:focus.disabled,
        .gform_wrapper .clear.warning.gform_button:focus.disabled, .button.clear.warning:focus[disabled],
        .gform_wrapper .clear.warning.gform_button:focus[disabled] {
          border: 1px solid #fffb00;
          color: #fffb00; }
      .button.clear.warning, .gform_wrapper .gform_footer input.clear.warning.button[type=submit],
      .gform_wrapper .clear.warning.gform_button, .button.clear.warning.disabled, .gform_wrapper .gform_footer input.clear.warning.disabled.button[type=submit],
      .gform_wrapper .clear.warning.disabled.gform_button, .button.clear.warning[disabled], .gform_wrapper .gform_footer input.clear.warning.button[disabled][type=submit],
      .gform_wrapper .clear.warning.gform_button[disabled], .button.clear.warning:hover, .gform_wrapper .gform_footer input.clear.warning.button:hover[type=submit],
      .gform_wrapper .clear.warning.gform_button:hover, .button.clear.warning:hover.disabled,
      .gform_wrapper .clear.warning.gform_button:hover.disabled, .button.clear.warning:hover[disabled],
      .gform_wrapper .clear.warning.gform_button:hover[disabled], .button.clear.warning:focus, .gform_wrapper .gform_footer input.clear.warning.button:focus[type=submit],
      .gform_wrapper .clear.warning.gform_button:focus, .button.clear.warning:focus.disabled,
      .gform_wrapper .clear.warning.gform_button:focus.disabled, .button.clear.warning:focus[disabled],
      .gform_wrapper .clear.warning.gform_button:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, .gform_wrapper .gform_footer input.clear.alert.button[type=submit],
    .gform_wrapper .clear.alert.gform_button {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .gform_wrapper .gform_footer input.clear.alert.button:hover[type=submit],
      .gform_wrapper .clear.alert.gform_button:hover, .button.clear.alert:focus, .gform_wrapper .gform_footer input.clear.alert.button:focus[type=submit],
      .gform_wrapper .clear.alert.gform_button:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled,
        .gform_wrapper .clear.alert.gform_button:hover.disabled, .button.clear.alert:hover[disabled],
        .gform_wrapper .clear.alert.gform_button:hover[disabled], .button.clear.alert:focus.disabled,
        .gform_wrapper .clear.alert.gform_button:focus.disabled, .button.clear.alert:focus[disabled],
        .gform_wrapper .clear.alert.gform_button:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .gform_wrapper .gform_footer input.clear.alert.button[type=submit],
      .gform_wrapper .clear.alert.gform_button, .button.clear.alert.disabled, .gform_wrapper .gform_footer input.clear.alert.disabled.button[type=submit],
      .gform_wrapper .clear.alert.disabled.gform_button, .button.clear.alert[disabled], .gform_wrapper .gform_footer input.clear.alert.button[disabled][type=submit],
      .gform_wrapper .clear.alert.gform_button[disabled], .button.clear.alert:hover, .gform_wrapper .gform_footer input.clear.alert.button:hover[type=submit],
      .gform_wrapper .clear.alert.gform_button:hover, .button.clear.alert:hover.disabled,
      .gform_wrapper .clear.alert.gform_button:hover.disabled, .button.clear.alert:hover[disabled],
      .gform_wrapper .clear.alert.gform_button:hover[disabled], .button.clear.alert:focus, .gform_wrapper .gform_footer input.clear.alert.button:focus[type=submit],
      .gform_wrapper .clear.alert.gform_button:focus, .button.clear.alert:focus.disabled,
      .gform_wrapper .clear.alert.gform_button:focus.disabled, .button.clear.alert:focus[disabled],
      .gform_wrapper .clear.alert.gform_button:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, .gform_wrapper .gform_footer input.dropdown.button[type=submit]::after,
  .gform_wrapper .dropdown.gform_button::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .gform_wrapper .gform_footer input.dropdown.hollow.button[type=submit]::after,
  .gform_wrapper .dropdown.hollow.gform_button::after {
    border-top-color: #313941; }
  .button.dropdown.hollow.primary::after,
  .gform_wrapper .dropdown.hollow.primary.gform_button::after {
    border-top-color: #313941; }
  .button.dropdown.hollow.secondary::after,
  .gform_wrapper .dropdown.hollow.secondary.gform_button::after {
    border-top-color: #10516b; }
  .button.dropdown.hollow.success::after,
  .gform_wrapper .dropdown.hollow.success.gform_button::after {
    border-top-color: #6EB533; }
  .button.dropdown.hollow.warning::after,
  .gform_wrapper .dropdown.hollow.warning.gform_button::after {
    border-top-color: #fffb00; }
  .button.dropdown.hollow.alert::after,
  .gform_wrapper .dropdown.hollow.alert.gform_button::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after, .gform_wrapper .gform_footer input.arrow-only.button[type=submit]::after,
  .gform_wrapper .arrow-only.gform_button::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #DFDFDF;
  border-radius: 0.1875rem;
  background-color: #FFFFFF;
  box-shadow: inset 0 0px 0px rgba(0, 0, 0, 0);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  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 #313941;
    background-color: #FFFFFF;
    box-shadow: 0 0 0px #DFDFDF;
    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: #DFDFDF; }

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

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

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #DFDFDF;
  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: normal;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0.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 #DFDFDF;
  background: #DFDFDF;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

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

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

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #DFDFDF; }
  .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 #DFDFDF;
  border-radius: 0.1875rem;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #000000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2849, 57, 65%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 #313941;
    background-color: #FFFFFF;
    box-shadow: 0 0 0px #DFDFDF;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #DFDFDF;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

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

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

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #313941;
  color: #FFFFFF; }
  .badge.primary {
    background: #313941;
    color: #FFFFFF; }
  .badge.secondary {
    background: #10516b;
    color: #FFFFFF; }
  .badge.success {
    background: #6EB533;
    color: #000000; }
  .badge.warning {
    background: #fffb00;
    color: #000000; }
  .badge.alert {
    background: #cc4b37;
    color: #000000; }

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

.button-group {
  margin-bottom: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button, .button-group .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group input.button[type=submit],
  .button-group .gform_wrapper .gform_button, .gform_wrapper .button-group .gform_button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child, .button-group .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group input.button:last-child[type=submit],
    .button-group .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group .gform_button:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.tiny input.button[type=submit],
  .button-group.tiny .gform_wrapper .gform_button, .gform_wrapper .button-group.tiny .gform_button {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.small input.button[type=submit],
  .button-group.small .gform_wrapper .gform_button, .gform_wrapper .button-group.small .gform_button {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.large input.button[type=submit],
  .button-group.large .gform_wrapper .gform_button, .gform_wrapper .button-group.large .gform_button {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.expanded input.button[type=submit],
  .button-group.expanded .gform_wrapper .gform_button, .gform_wrapper .button-group.expanded .gform_button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.primary input.button[type=submit],
  .button-group.primary .gform_wrapper .gform_button, .gform_wrapper .button-group.primary .gform_button {
    background-color: #313941;
    color: #FFFFFF; }
    .button-group.primary .button:hover, .button-group.primary .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.primary input.button:hover[type=submit],
    .button-group.primary .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.primary .gform_button:hover, .button-group.primary .button:focus, .button-group.primary .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.primary input.button:focus[type=submit],
    .button-group.primary .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.primary .gform_button:focus {
      background-color: #272e34;
      color: #FFFFFF; }
  .button-group.secondary .button, .button-group.secondary .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.secondary input.button[type=submit],
  .button-group.secondary .gform_wrapper .gform_button, .gform_wrapper .button-group.secondary .gform_button {
    background-color: #10516b;
    color: #FFFFFF; }
    .button-group.secondary .button:hover, .button-group.secondary .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.secondary input.button:hover[type=submit],
    .button-group.secondary .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.secondary .gform_button:hover, .button-group.secondary .button:focus, .button-group.secondary .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.secondary input.button:focus[type=submit],
    .button-group.secondary .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.secondary .gform_button:focus {
      background-color: #0d4156;
      color: #FFFFFF; }
  .button-group.success .button, .button-group.success .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.success input.button[type=submit],
  .button-group.success .gform_wrapper .gform_button, .gform_wrapper .button-group.success .gform_button {
    background-color: #6EB533;
    color: #000000; }
    .button-group.success .button:hover, .button-group.success .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.success input.button:hover[type=submit],
    .button-group.success .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.success .gform_button:hover, .button-group.success .button:focus, .button-group.success .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.success input.button:focus[type=submit],
    .button-group.success .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.success .gform_button:focus {
      background-color: #589129;
      color: #000000; }
  .button-group.warning .button, .button-group.warning .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.warning input.button[type=submit],
  .button-group.warning .gform_wrapper .gform_button, .gform_wrapper .button-group.warning .gform_button {
    background-color: #fffb00;
    color: #000000; }
    .button-group.warning .button:hover, .button-group.warning .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.warning input.button:hover[type=submit],
    .button-group.warning .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.warning .gform_button:hover, .button-group.warning .button:focus, .button-group.warning .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.warning input.button:focus[type=submit],
    .button-group.warning .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.warning .gform_button:focus {
      background-color: #ccc900;
      color: #000000; }
  .button-group.alert .button, .button-group.alert .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.alert input.button[type=submit],
  .button-group.alert .gform_wrapper .gform_button, .gform_wrapper .button-group.alert .gform_button {
    background-color: #cc4b37;
    color: #000000; }
    .button-group.alert .button:hover, .button-group.alert .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .button-group.alert input.button:hover[type=submit],
    .button-group.alert .gform_wrapper .gform_button:hover, .gform_wrapper .button-group.alert .gform_button:hover, .button-group.alert .button:focus, .button-group.alert .gform_wrapper .gform_footer input.button:focus[type=submit], .gform_wrapper .gform_footer .button-group.alert input.button:focus[type=submit],
    .button-group.alert .gform_wrapper .gform_button:focus, .gform_wrapper .button-group.alert .gform_button:focus {
      background-color: #a53b2a;
      color: #000000; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked input.button[type=submit],
    .button-group.stacked .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked .gform_button, .button-group.stacked-for-small .button, .button-group.stacked-for-small .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small input.button[type=submit],
    .button-group.stacked-for-small .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-small .gform_button, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-medium input.button[type=submit],
    .button-group.stacked-for-medium .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-medium .gform_button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group.stacked input.button:last-child[type=submit],
      .button-group.stacked .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group.stacked .gform_button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small input.button:last-child[type=submit],
      .button-group.stacked-for-small .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group.stacked-for-small .gform_button:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .gform_wrapper .gform_footer input.button:last-child[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-medium input.button:last-child[type=submit],
      .button-group.stacked-for-medium .gform_wrapper .gform_button:last-child, .gform_wrapper .button-group.stacked-for-medium .gform_button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button, .button-group.stacked-for-small .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small input.button[type=submit],
    .button-group.stacked-for-small .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-small .gform_button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 50em) {
    .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-medium input.button[type=submit],
    .button-group.stacked-for-medium .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-medium .gform_button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .button-group.stacked-for-small.expanded input.button[type=submit],
      .button-group.stacked-for-small.expanded .gform_wrapper .gform_button, .gform_wrapper .button-group.stacked-for-small.expanded .gform_button {
        display: block;
        margin-right: 0; } }

.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 .gform_wrapper .gform_footer input.button[type=submit],
  .gform_wrapper .gform_footer .menu input.button[type=submit],
  .menu .gform_wrapper .gform_button,
  .gform_wrapper .menu .gform_button {
    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: 0; }
    .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 screen and (min-width: 50em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 64em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #FFFFFF; }
  .menu .active > a {
    background: transparent;
    color: #FFFFFF; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 0rem;
    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: #313941;
    box-shadow: 0 7px 0 #313941, 0 14px 0 #313941;
    content: ''; }
  .menu-icon:hover::after {
    background: #313941;
    box-shadow: 0 7px 0 #313941, 0 14px 0 #313941; }

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

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

.drilldown a {
  padding: 0.7rem 0rem;
  background: #FFFFFF; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #FFFFFF;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 0rem; }

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

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

.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 #313941 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 #313941 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  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: #313941;
  color: #FFFFFF; }
  .label.primary {
    background: #313941;
    color: #FFFFFF; }
  .label.secondary {
    background: #10516b;
    color: #FFFFFF; }
  .label.success {
    background: #6EB533;
    color: #000000; }
  .label.warning {
    background: #fffb00;
    color: #000000; }
  .label.alert {
    background: #cc4b37;
    color: #000000; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 49.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#wpadminbar {
  position: fixed !important; }

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

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

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

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

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

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

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

@font-face {
  font-family: 'open_sansregular';
  src: url("../fonts/opensans-regular-webfont.woff2") format("woff2"), url("../fonts/opensans-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback; }

@font-face {
  font-family: 'open_sansbold';
  src: url("../fonts/opensans-bold-webfont.woff2") format("woff2"), url("../fonts/opensans-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback; }

/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on July 5, 2023 */
@font-face {
  font-family: 'poppinsbold';
  src: url("../fonts/poppins-bold-webfont.woff2") format("woff2"), url("../fonts/poppins-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinsblack';
  src: url("../fonts/poppins-black-webfont.woff2") format("woff2"), url("../fonts/poppins-black-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinsregular';
  src: url("../fonts/poppins-regular-webfont.woff2") format("woff2"), url("../fonts/poppins-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinsmedium';
  src: url("../fonts/poppins-medium-webfont.woff2") format("woff2"), url("../fonts/poppins-medium-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'poppinssemibold';
  src: url("../fonts/poppins-semibold-webfont.woff2") format("woff2"), url("../fonts/poppins-semibold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

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

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

.site-desktop-title a {
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.menu {
  list-style-type: none; }
  .menu .current_page_item a,
  .menu .current-page-ancestor a {
    background-color: inherit; }

.mobile-menu {
  display: none; }

.title-bar {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.menu-icon-button {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #313941;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  font-size: 0.8125rem;
  text-transform: uppercase;
  padding: 0.5625rem 0;
  transition: color 0.2 ease;
  margin-left: 8px; }
  .menu-icon-button:hover, .menu-icon-button:focus, .menu-icon-button:active {
    cursor: pointer;
    color: #10516b; }
    .menu-icon-button:hover span, .menu-icon-button:focus span, .menu-icon-button:active span {
      color: #313941; }
  .menu-icon-button button:hover {
    cursor: pointer; }
  .menu-icon-button span {
    margin-right: 0.75rem; }

.off-canvas {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden; }
  .off-canvas > ul.menu {
    height: 100vh;
    padding: 1rem; }
    .off-canvas > ul.menu a {
      color: #FFFFFF;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.9375rem; }
  .off-canvas .menu .active > a {
    background-color: #ccc; }

.top-bar .childnav {
  display: none; }
  @media screen and (min-width: 90em) {
    .top-bar .childnav {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .top-bar .childnav, .top-bar .childnav ul {
    list-style-type: none;
    margin: 0; }
  .top-bar .childnav a {
    color: rgba(49, 57, 65, 0.85);
    display: block;
    line-height: 1.2;
    padding: 0.625rem 0.625rem;
    font-size: 0.8125rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .top-bar .childnav > li {
    margin: 0 0.125rem; }
    .top-bar .childnav > li > a {
      width: 100%;
      font-weight: normal;
      border-bottom: 2px solid #313941; }
    .top-bar .childnav > li.is-active a,
    .top-bar .childnav > li > a:hover {
      color: #313941; }

.drilldown {
  background: white; }
  .drilldown .height-wrapper {
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01); }
  .drilldown .childnav {
    position: relative;
    -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%);
    list-style-type: none;
    margin: 0;
    opacity: 0; }
    .drilldown .childnav.ready {
      transition: opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01);
      transition: transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01), opacity 0.2s ease;
      transition: transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01), opacity 0.2s ease, -webkit-transform 0.5s cubic-bezier(0.61, 0.005, 0.36, 1.01);
      opacity: 1; }
    .drilldown .childnav[data-depth="1"] {
      -webkit-transform: translateX(-100%);
          -ms-transform: translateX(-100%);
              transform: translateX(-100%); }
    .drilldown .childnav[data-depth="2"] {
      -webkit-transform: translateX(-200%);
          -ms-transform: translateX(-200%);
              transform: translateX(-200%); }
    .drilldown .childnav[data-depth="3"] {
      -webkit-transform: translateX(-300%);
          -ms-transform: translateX(-300%);
              transform: translateX(-300%); }
    .drilldown .childnav[data-depth="4"] {
      -webkit-transform: translateX(-400%);
          -ms-transform: translateX(-400%);
              transform: translateX(-400%); }
    .drilldown .childnav[data-depth="5"] {
      -webkit-transform: translateX(-500%);
          -ms-transform: translateX(-500%);
              transform: translateX(-500%); }
    .drilldown .childnav .children {
      margin: 0;
      display: none;
      position: absolute;
      left: 100%;
      top: 0;
      width: 100%;
      list-style-type: none; }
    .drilldown .childnav li[class*="current"] .children {
      display: block; }
    .drilldown .childnav > li > a {
      border-left: 0.1875rem solid var(--main-color); }
  .drilldown li.page_item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #DFDFDF; }
    .drilldown li.page_item_has_children > a:not(.back) {
      width: calc(100% - 2.625rem); }
    .drilldown li.page_item a {
      position: relative;
      width: 100%;
      min-height: 2.625rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.875rem;
      padding: 0.625rem 0.75rem;
      line-height: 1.3;
      transition: all 0.2s ease; }
      .drilldown li.page_item a:hover {
        color: rgba(255, 255, 255, 0.8); }
        @media screen and (min-width: 64em) {
          .drilldown li.page_item a:hover {
            color: var(--main-color); } }
      .drilldown li.page_item a.back {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        background-color: #FFFFFF;
        color: #313941; }
        .drilldown li.page_item a.back svg {
          color: inherit;
          width: 0.5625rem;
          height: 0.875rem;
          transition: -webkit-transform 0.3s ease;
          transition: transform 0.3s ease;
          transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
        .drilldown li.page_item a.back:hover svg {
          -webkit-transform: translateX(-5px);
              -ms-transform: translateX(-5px);
                  transform: translateX(-5px); }
        .drilldown li.page_item a.back div {
          white-space: nowrap;
          -webkit-justify-content: left;
              -ms-flex-pack: left;
                  justify-content: left;
          width: calc(100% - 1.125rem);
          display: block;
          text-overflow: ellipsis;
          overflow: hidden; }
      .drilldown li.page_item a * {
        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; }
    .drilldown li.page_item span {
      cursor: pointer;
      background: rgba(223, 223, 223, 0.2);
      width: 2.625rem;
      height: 1fr;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      transition: all 0.3s ease;
      text-align: center; }
      .drilldown li.page_item span:hover {
        background: var(--main-color);
        color: #FFFFFF; }
      .drilldown li.page_item span svg {
        width: 0.875rem;
        height: 0.875rem; }
    .drilldown li.page_item:last-of-type a {
      border-bottom: none; }

.off-canvas {
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  .off-canvas .servicenav-langswitch {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 16px;
    height: 3.75rem;
    min-height: 3.75rem;
    border-bottom: 1px solid rgba(223, 223, 223, 0.1); }
    .off-canvas .servicenav-langswitch .menu-sprachauswahl-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .off-canvas .servicenav-langswitch a {
      color: #FFFFFF;
      font-size: 0.875rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      margin: 4px;
      border-radius: 31.25rem;
      width: 1.875rem;
      height: 1.875rem;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      line-height: 0;
      background: rgba(255, 255, 255, 0.2); }
      .off-canvas .servicenav-langswitch a:hover {
        background: #10516b; }
    .off-canvas .servicenav-langswitch button {
      margin: 16px 16px 16px auto;
      cursor: pointer;
      color: #FFFFFF;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 2;
          -ms-flex: 2;
              flex: 2;
      height: 100%;
      width: 100%;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .off-canvas .servicenav-langswitch button span {
        text-transform: uppercase;
        font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal;
        font-size: 0.8125rem;
        margin-right: 1.25rem; }
      .off-canvas .servicenav-langswitch button:hover {
        color: #FFFFFF; }
        .off-canvas .servicenav-langswitch button:hover span {
          color: #FFFFFF; }
      .off-canvas .servicenav-langswitch button svg {
        width: 1.3125rem; }
  .off-canvas .drilldown .height-wrapper {
    border: none;
    border-bottom: 1px solid rgba(223, 223, 223, 0.1); }
  .off-canvas .drilldown, .off-canvas .drilldown a {
    background: transparent;
    color: #FFFFFF; }
  .off-canvas .drilldown li.page_item {
    border-bottom: 1px solid rgba(223, 223, 223, 0.1); }
    .off-canvas .drilldown li.page_item span {
      background: #2a3138; }
  .off-canvas .servicenav-menu ul {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 32px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 8px; }
    .off-canvas .servicenav-menu ul li a {
      color: #FFFFFF;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.8125rem;
      margin-bottom: 8px; }
      .off-canvas .servicenav-menu ul li a:after {
        content: "•";
        margin: 0 8px; }
      .off-canvas .servicenav-menu ul li a:hover {
        color: rgba(255, 255, 255, 0.7); }
        .off-canvas .servicenav-menu ul li a:hover:after {
          color: #FFFFFF; }
    .off-canvas .servicenav-menu ul li:last-of-type a:after {
      display: none; }
  .off-canvas .servicenav-search {
    width: 70%;
    margin: 24px auto; }
    .off-canvas .servicenav-search .input-group {
      border: 0; }
    .off-canvas .servicenav-search input[type="text"] {
      width: 100%;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      text-align: left;
      color: #FFFFFF; }
      .off-canvas .servicenav-search input[type="text"]:focus {
        border-bottom: 1px solid #FFFFFF; }
    .off-canvas .servicenav-search .input-group-button {
      color: #FFFFFF; }
      .off-canvas .servicenav-search .input-group-button svg {
        color: #FFFFFF;
        -webkit-transform: scale(1.3) translate(5px, 5px);
            -ms-transform: scale(1.3) translate(5px, 5px);
                transform: scale(1.3) translate(5px, 5px); }

.off-canvas-footer {
  margin-top: auto;
  text-align: center; }
  .off-canvas-footer .fb {
    color: #FFFFFF;
    background: #3B5998;
    padding: 8px 16px;
    font-size: 0.875rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .off-canvas-footer .servicenav-logos {
    background: #FFFFFF;
    width: 100%;
    margin-top: 24px;
    padding-bottom: 64px; }
    .off-canvas-footer .servicenav-logos img {
      margin: 8px; }

.off-canvas-content.is-open-right {
  height: 100vh;
  overflow: hidden; }

.top-bar a {
  transition: color 0.1s ease; }

.top-bar .menu li {
  margin: 0 0.625rem; }
  .top-bar .menu li:not(:last-child) {
    border-right: 0; }
  .top-bar .menu li:not(.menu-text) a {
    padding: 0;
    color: #313941;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: 0.875rem;
    transition: all 0.1s ease; }

.top-bar #menu-sprachauswahl * {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 32px;
  height: 32px;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid rgba(49, 57, 65, 0.1);
  border-radius: 50%;
  line-height: 0; }

.top-bar #menu-sprachauswahl li {
  margin: 0 0.125rem; }

.top-bar #menu-sprachauswahl a {
  font-size: 0.8125rem;
  color: #313941;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  transition: background-color 0.1s ease-in; }
  .top-bar #menu-sprachauswahl a:hover {
    background: rgba(49, 57, 65, 0.1); }

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

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

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

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

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

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

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

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

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

@use "sass:math";
.pagination {
  text-align: center;
  margin: 64px 0 16px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) {
    .pagination {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .pagination * {
    font-family: 'open_sansbold';
    color: #313941;
    margin: 0 8px;
    text-transform: uppercase;
    font-size: 0.8125rem; }
  .pagination .page-numbers {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    transition: all 0.4s ease; }
    .pagination .page-numbers:not(.prev):not(.next) {
      width: 2.1875rem;
      height: 2.1875rem;
      line-height: 2;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        margin: 0 8px; }
      .pagination .page-numbers.prev path, .pagination .page-numbers.next path {
        transition: all 0.2s ease; }
      .pagination .page-numbers.prev:hover path, .pagination .page-numbers.next:hover path {
        color: #313941; }
    .pagination .page-numbers.prev svg {
      margin-left: 0; }
    .pagination .page-numbers.next svg {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      margin-right: 0; }
    @media screen and (max-width: 39.9375em) {
      .pagination .page-numbers {
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .pagination .page-numbers:not(.next):not(.prev) {
          display: none; } }
  .pagination a:not(.prev):not(.next):hover,
  .pagination .current {
    background: #10516b;
    color: #FFFFFF; }
  .pagination a:hover {
    color: #10516b; }

ul.pagination {
  text-align: center;
  padding: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 16px; }
  ul.pagination li {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    border-radius: 0;
    color: #313941; }
    ul.pagination li > * {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      height: 1.875rem;
      width: 1.875rem;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      border-radius: 125rem;
      padding: 0.3125rem;
      font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      color: #313941;
      margin: 0.3125rem; }
      ul.pagination li > *:hover {
        background: #313941;
        color: #FFFFFF !important;
        cursor: pointer; }
    ul.pagination li a {
      color: #313941; }
    ul.pagination li .current {
      background: #313941; }
      ul.pagination li .current, ul.pagination li .current span {
        background: #313941;
        color: #FFFFFF; }

#contact-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #FFFFFF;
  z-index: 100;
  text-align: center;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  overflow: hidden; }
  #contact-overlay:before, #contact-overlay:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    content: '';
    background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    height: 2.8125rem;
    z-index: 101; }
  #contact-overlay:after {
    top: auto;
    bottom: 0;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  #contact-overlay .desc {
    color: rgba(49, 57, 65, 0.6);
    font-size: 0.875rem;
    line-height: 1.4;
    margin: 16px 0 0 0; }
  #contact-overlay .scroll {
    width: 100%;
    height: 100%;
    padding: 16px 0;
    -webkit-overflow-scrolling: touch;
    /*display: flex;
        justify-content: start;
        align-items: center;*/
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .scroll {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  #contact-overlay.open {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
    #contact-overlay.open .scroll {
      overflow: auto; }
  #contact-overlay .contact_title {
    margin-top: 16px; }
  #contact-overlay img {
    width: 4.0625rem;
    margin-top: 32px; }
    @media screen and (min-width: 50em) {
      #contact-overlay img {
        width: 5.5rem;
        margin-bottom: 32px; } }
    @media screen and (min-width: 64em) {
      #contact-overlay img {
        width: 7.5rem; } }
  #contact-overlay svg {
    position: absolute;
    width: 2.25rem;
    height: 2.25rem;
    top: 16px;
    right: 32px;
    z-index: 102;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay svg {
        top: 32px;
        right: 32px;
        width: 3.375rem;
        height: 3.375rem; } }
    @media screen and (min-width: 64em) {
      #contact-overlay svg {
        top: 64px;
        right: 64px; } }
    #contact-overlay svg:hover rect {
      fill: #10516b; }
  #contact-overlay a {
    display: inline-block; }
  #contact-overlay p {
    color: rgba(49, 57, 65, 0.6);
    font-size: 0.875rem; }
    @media screen and (min-width: 64em) {
      #contact-overlay p {
        margin-bottom: 48px;
        font-size: 1.0625rem; } }
  #contact-overlay .grid {
    padding: 0 16px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    max-width: 64rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    @media screen and (min-width: 64em) {
      #contact-overlay .grid {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .grid {
        padding: 16px; } }
    @media screen and (min-width: 64em) {
      #contact-overlay .grid {
        text-align: left; } }
    #contact-overlay .grid > div {
      -webkit-flex: 1 1 100%;
          -ms-flex: 1 1 100%;
              flex: 1 1 100%; }
      @media screen and (min-width: 64em) {
        #contact-overlay .grid > div {
          -webkit-flex: 1 1 50%;
              -ms-flex: 1 1 50%;
                  flex: 1 1 50%; } }
    #contact-overlay .grid > div:last-of-type {
      font-size: 1.125rem;
      line-height: 1.375rem;
      margin-bottom: 32px; }
      @media print, screen and (min-width: 40em) {
        #contact-overlay .grid > div:last-of-type {
          font-size: 1.4375rem;
          line-height: 1.625rem; } }
      #contact-overlay .grid > div:last-of-type div {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin-top: 16px;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        text-align: center;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal; }
        @media print, screen and (min-width: 40em) {
          #contact-overlay .grid > div:last-of-type div {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            text-align: left;
            margin-top: 40px; } }
      #contact-overlay .grid > div:last-of-type .button,
      #contact-overlay .grid > div:last-of-type .gform_wrapper .gform_button, .gform_wrapper #contact-overlay .grid > div:last-of-type .gform_button {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-top: 16px;
        margin-bottom: 0;
        padding: 10.66667px 16px; }
        @media print, screen and (min-width: 40em) {
          #contact-overlay .grid > div:last-of-type .button,
          #contact-overlay .grid > div:last-of-type .gform_wrapper .gform_button, .gform_wrapper #contact-overlay .grid > div:last-of-type .gform_button {
            margin: 0 0 0 auto; } }
  #contact-overlay .home_subtitle {
    padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    #contact-overlay .large_tel, #contact-overlay .large_email, #contact-overlay .large_address {
      margin-bottom: 40px; } }
  #contact-overlay .large_tel {
    font-size: 2.375rem; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .large_tel {
        font-size: 3.75rem; } }
  #contact-overlay .large_email {
    display: inline-block;
    font-size: 2rem; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .large_email {
        font-size: 3.0625rem; } }
  #contact-overlay .large_address {
    font-size: 1.125rem;
    line-height: 1.3; }
    @media print, screen and (min-width: 40em) {
      #contact-overlay .large_address {
        font-size: 1.625rem;
        line-height: 1.3; } }
    #contact-overlay .large_address div {
      display: block; }
    #contact-overlay .large_address a {
      color: rgba(49, 57, 65, 0.6);
      font-size: 0.875rem; }

html.contact-is-open[data-whatinput='touch'] {
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  html.contact-is-open[data-whatinput='touch'] #contact-overlay.open .scroll {
    overflow: scroll; }

.card-wrapper {
  margin: 40px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media print, screen and (min-width: 40em) {
    .card-wrapper {
      margin: 48px 0;
      margin-left: -8px;
      margin-right: -8px; } }
  .card-wrapper > * {
    width: calc( 50% - 16px);
    margin: 8px; }
    @media screen and (min-width: 50em) {
      .card-wrapper > * {
        width: calc( 33% - 16px); } }
  @supports (display: grid) {
    .card-wrapper {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (minmax(230px, 1fr))[auto-fill];
          grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
      grid-gap: 0.9375rem; }
      @media print, screen and (min-width: 40em) {
        .card-wrapper {
          margin-left: 0;
          margin-right: 0; } }
      .card-wrapper .card {
        margin: 0;
        width: auto; } }
  @supports (display: -ms-grid) {
    .card-wrapper {
      display: -webkit-flex !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .card-wrapper > * {
        -webkit-flex: 0 1 48%;
            -ms-flex: 0 1 48%;
                flex: 0 1 48%;
        padding: 0.625rem; } }

.card {
  background: #FFFFFF; }
  .card:hover .kachel-meta, .card:hover .kachel-meta h5 svg {
    background: var(--main-color);
    color: #FFFFFF; }

.kachel-image {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .kachel-image:after {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    content: '';
    background: #313941;
    opacity: 0;
    z-index: 5;
    transition: opacity 0.3s ease; }
  .kachel-image:hover:after {
    opacity: 0.8; }
  .kachel-image:hover .meta {
    background: #10516b; }
    .kachel-image:hover .meta, .kachel-image:hover .meta svg {
      color: #FFFFFF; }
  .kachel-image img {
    width: 100%; }
  .kachel-image .kachel-meta {
    z-index: 10;
    position: absolute;
    bottom: 0;
    right: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #FFFFFF;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 2.5625rem;
    max-width: 85%; }
    .kachel-image .kachel-meta h5 {
      text-align: right;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.9375rem;
      margin: 0;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      padding: 0.625rem 1.25rem; }
      .kachel-image .kachel-meta h5 svg {
        color: var(--main-color);
        margin-right: 0.3125rem;
        min-width: 0.75rem; }
    .kachel-image .kachel-meta img {
      margin: 0; }

.blog .wrapper--news {
  grid-gap: 16px; }

.wrapper--news {
  font-size: 0.875rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-left: -2.66667px;
  margin-right: -2.66667px; }
  @supports (display: grid) {
    .wrapper--news {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (minmax(280px, 1fr))[auto-fill];
          grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      -ms-grid-rows: auto;
          grid-template-rows: auto; } }
  @supports (display: -ms-grid) {
    .wrapper--news {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  .wrapper--news .card {
    border-bottom: 0.1875rem solid var(--main-color);
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
    @media print, screen and (min-width: 40em) {
      .wrapper--news .card {
        -webkit-flex: 1 1 50%;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%; } }
    @media screen and (min-width: 50em) {
      .wrapper--news .card {
        -webkit-flex: 1 1 25%;
            -ms-flex: 1 1 25%;
                flex: 1 1 25%; } }
    .wrapper--news .card:hover {
      border-bottom: 0.1875rem solid rgba(0, 0, 0, 0.25); }
      .wrapper--news .card:hover, .wrapper--news .card:hover .news-meta {
        background: #10516b; }
      .wrapper--news .card:hover .news-meta, .wrapper--news .card:hover .description, .wrapper--news .card:hover span, .wrapper--news .card:hover h5 {
        color: #FFFFFF; }
  .wrapper--news h5, .wrapper--news .description {
    padding: 0 16px; }
  .wrapper--news h5 {
    font-size: 1.125rem;
    color: #313941;
    line-height: 1.4;
    padding-bottom: 8px; }
  .wrapper--news .news-kachel-image {
    position: relative;
    margin-bottom: 16px; }
    .wrapper--news .news-kachel-image img {
      object-fit: cover;
      width: 100%; }
    .wrapper--news .news-kachel-image .news-meta {
      background: #FFFFFF;
      padding: 8px 16px 0 16px;
      display: inline-block;
      position: absolute;
      left: 0;
      bottom: -1px;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      font-size: 0.75rem;
      color: rgba(49, 57, 65, 0.9);
      transition: all 0.2s ease; }
  .wrapper--news span {
    margin-top: auto;
    text-align: right;
    padding: 16px;
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    .wrapper--news span svg {
      margin-left: 8px; }

.accordion .accordion-item {
  border-top: 1px solid rgba(49, 57, 65, 0.3); }

.accordion .accordion-title {
  padding-right: 64px;
  line-height: 1.4;
  font-family: 'open_sansbold'; }
  .accordion .accordion-title:before {
    font-size: 1.4375rem;
    margin: 0;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  max-width: 100%;
  height: auto; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.top-bar .top-bar-innerwrapper {
  position: relative;
  z-index: 2;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media screen and (min-width: 64em) {
    .top-bar .top-bar-innerwrapper {
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.top-bar .top-bar-title {
  margin: 0;
  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;
  position: absolute;
  left: 0; }
  @media screen and (max-width: 39.9375em) {
    .top-bar .top-bar-title {
      top: -3rem; } }
  @media screen and (min-width: 50em) {
    .top-bar .top-bar-title {
      z-index: 2;
      top: 0;
      left: 0; } }
  .top-bar .top-bar-title a {
    /*
            padding: rem-calc(11 15);
            @include breakpoint(small only) { padding: rem-calc(12 14); }
            @include breakpoint(xlarge) {padding: rem-calc(20 30 20 20);}
            */
    padding: 0.3125rem 1rem;
    display: block;
    position: relative; }
    @media screen and (min-width: 64em) and (max-width: 89.9375em) {
      .top-bar .top-bar-title a {
        -webkit-transform: scale(1.3);
            -ms-transform: scale(1.3);
                transform: scale(1.3);
        padding: 0.3125rem 2rem; } }
    @media screen and (min-width: 90em) {
      .top-bar .top-bar-title a {
        padding-top: 16px; } }
    .top-bar .top-bar-title a img {
      position: relative;
      height: 9.375rem;
      width: auto; }
      @media print, screen and (min-width: 40em) {
        .top-bar .top-bar-title a img {
          height: 7.5rem; } }
      @media screen and (min-width: 64em) and (max-width: 89.9375em) {
        .top-bar .top-bar-title a img {
          margin-top: -20px; } }
      @media screen and (min-width: 90em) {
        .top-bar .top-bar-title a img {
          height: 10.625rem;
          -webkit-transform: translateY(45px);
              -ms-transform: translateY(45px);
                  transform: translateY(45px); } }
    .top-bar .top-bar-title a:before {
      content: '';
      background: #FFFFFF;
      position: absolute;
      width: 175px;
      height: 175px;
      left: 50%;
      top: 50%;
      -webkit-transform: rotate(45deg) translate(-50%, -50%);
          -ms-transform: rotate(45deg) translate(-50%, -50%);
              transform: rotate(45deg) translate(-50%, -50%);
      -webkit-transform-origin: left top;
          -ms-transform-origin: left top;
              transform-origin: left top; }
      @media screen and (min-width: 50em) {
        .top-bar .top-bar-title a:before {
          z-index: -1;
          width: 175px;
          height: 175px;
          -webkit-transform: rotate(45deg) translate(-57%, -55%);
              -ms-transform: rotate(45deg) translate(-57%, -55%);
                  transform: rotate(45deg) translate(-57%, -55%); } }
      @media screen and (min-width: 64em) {
        .top-bar .top-bar-title a:before {
          width: 240px;
          height: 240px;
          -webkit-transform: rotate(45deg) translate(-73%, -73%);
              -ms-transform: rotate(45deg) translate(-73%, -73%);
                  transform: rotate(45deg) translate(-73%, -73%); } }
      @media screen and (min-width: 90em) {
        .top-bar .top-bar-title a:before {
          width: 250px;
          height: 250px;
          -webkit-transform: rotate(45deg) translate(-45%, -45%);
              -ms-transform: rotate(45deg) translate(-45%, -45%);
                  transform: rotate(45deg) translate(-45%, -45%); } }

.top-bar .top-bar-right {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex: inherit;
      -ms-flex: inherit;
          flex: inherit; }

.top-bar .mobile-patches {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (min-width: 40em) {
    .top-bar .mobile-patches {
      display: none; } }
  .top-bar .mobile-patches a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--shop-color);
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: .7125rem;
    text-transform: uppercase;
    background-color: transparent;
    border-bottom: 0;
    margin: 0;
    padding: 16px 8px; }
    @media print, screen and (min-width: 40em) {
      .top-bar .mobile-patches a {
        display: none; } }
    .top-bar .mobile-patches a svg {
      width: 16px;
      margin-right: 8px; }
  .top-bar .mobile-patches a.patch-eguichet {
    color: #ff6b6b;
    background-color: transparent !important; }

.servicenav, .servicenav * {
  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;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.servicenav {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 1.25rem 0;
  display: none; }
  @media screen and (min-width: 90em) {
    .servicenav {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.servicenav .servicenav-search {
  margin: 0 1.875rem 0 0;
  max-width: 11.25rem;
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.servicenav .servicenav-logos > * {
  margin-left: 1.875rem; }

.servicenav .servicenav-langswitch li {
  margin: 0; }
  .servicenav .servicenav-langswitch li a {
    box-shadow: 0px 0px 0px 1px #DFDFDF;
    border-radius: 50%;
    opacity: 1; }
    .servicenav .servicenav-langswitch li a:hover {
      box-shadow: 0px 0px 0px 1px #313941; }

.servicenav .servicenav-langswitch a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 0.5;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 1.875rem;
  width: 1.875rem;
  margin: 0 0.25rem;
  transition: all 0.2s ease; }
  .servicenav .servicenav-langswitch a img {
    height: 100%;
    width: 100%;
    object-fit: contain; }
  .servicenav .servicenav-langswitch a:hover {
    opacity: 1; }

.page-template-anliegen .entry-title {
  text-align: center; }

.anliegen-list small {
  font-size: 0.75rem; }

.anliegen-list h3, .anliegen-list .char-wrapper:before {
  color: #313941; }

.anliegen-header {
  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; }
  .anliegen-header > * {
    margin: auto; }
  .anliegen-header .input-group {
    width: 15.625rem;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 32px auto 0 auto; }
    .anliegen-header .input-group input:not([type=submit]) {
      text-align: left; }
  .anliegen-header .input-group-button {
    color: var(--main-color);
    width: 1.375rem;
    height: 1.375rem;
    transition: color 0.2s ease; }
    .anliegen-header .input-group-button:hover {
      color: #313941; }
    .anliegen-header .input-group-button svg {
      -webkit-transform: scale(1.5);
          -ms-transform: scale(1.5);
              transform: scale(1.5);
      -webkit-transform-origin: top left;
          -ms-transform-origin: top left;
              transform-origin: top left; }

.charmenu {
  color: #313941;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .charmenu > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 2.125rem;
    height: 2.125rem;
    line-height: 1;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: rgba(49, 57, 65, 0.4); }
  .charmenu a {
    color: var(--main-color); }
    .charmenu a:hover {
      background: var(--main-color);
      color: #FFFFFF; }

.char-wrapper {
  margin-top: 32px; }
  .char-wrapper:before {
    color: #313941;
    content: attr(data-char);
    margin-bottom: 16px;
    display: inline-block; }
    @media screen and (max-width: 39.9375em) {
      .char-wrapper:before {
        padding-left: 16px; } }
  .char-wrapper .button, .char-wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .char-wrapper input.button[type=submit],
  .char-wrapper .gform_wrapper .gform_button, .gform_wrapper .char-wrapper .gform_button {
    border-radius: 3.125rem;
    font-size: 0.75rem;
    text-transform: none;
    padding: 0.25rem 0.625rem;
    margin: 0; }

.anliegen:not(.results-item) {
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .anliegen:not(.results-item).even {
    background: rgba(181, 180, 168, 0.1); }
  .anliegen:not(.results-item) .anliegen-title-wrapper {
    padding: 10.66667px 0;
    margin-right: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 1 1 75%;
        -ms-flex: 1 1 75%;
            flex: 1 1 75%;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.3; }
    .anliegen:not(.results-item) .anliegen-title-wrapper > * {
      padding: 0 16px;
      width: 100%; }
    @media screen and (min-width: 50em) {
      .anliegen:not(.results-item) .anliegen-title-wrapper {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; }
        .anliegen:not(.results-item) .anliegen-title-wrapper > * {
          -webkit-flex: 1 1 50%;
              -ms-flex: 1 1 50%;
                  flex: 1 1 50%; } }
    .anliegen:not(.results-item) .anliegen-title-wrapper a {
      display: block;
      color: var(--main-color);
      transition: color 0.2s ease; }
      .anliegen:not(.results-item) .anliegen-title-wrapper a:hover {
        color: #313941; }
      @media screen and (max-width: 49.9375em) {
        .anliegen:not(.results-item) .anliegen-title-wrapper a {
          padding-top: 8px; } }
  .anliegen:not(.results-item) .anliegen-link-wrapper {
    -webkit-flex: 1 1 25%;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
    text-align: right;
    padding-right: 16px; }
    @media screen and (max-width: 39.9375em) {
      .anliegen:not(.results-item) .anliegen-link-wrapper .button, .anliegen:not(.results-item) .anliegen-link-wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .anliegen:not(.results-item) .anliegen-link-wrapper input.button[type=submit],
      .anliegen:not(.results-item) .anliegen-link-wrapper .gform_wrapper .gform_button, .gform_wrapper .anliegen:not(.results-item) .anliegen-link-wrapper .gform_button {
        white-space: nowrap; } }

.partner-innerwrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -ms-grid;
  display: grid;
  grid-gap: 15px;
  -ms-grid-columns: (minmax(260px, 1fr))[auto-fill];
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  text-align: center;
  margin-top: 16px; }
  @supports (display: -ms-grid) {
    .partner-innerwrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .partner-innerwrapper > * {
        -webkit-flex: 1 1 33.33%;
            -ms-flex: 1 1 33.33%;
                flex: 1 1 33.33%; } }
  @media print, screen and (min-width: 40em) {
    .partner-innerwrapper {
      margin-top: 48px; } }
  .partner-innerwrapper > * {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
    padding: 16px;
    border-bottom: 3px solid var(--main-color); }
  .partner-innerwrapper .partner-item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0.625rem; }
    @media screen and (max-width: 39.9375em) {
      .partner-innerwrapper .partner-item {
        min-height: 18.75rem; } }
    @supports (display: grid) {
      .partner-innerwrapper .partner-item {
        margin: 0 auto; } }
    .partner-innerwrapper .partner-item img {
      margin-bottom: 16px; }
    .partner-innerwrapper .partner-item p {
      font-size: 0.875rem;
      color: rgba(49, 57, 65, 0.6); }
    .partner-innerwrapper .partner-item h6, .partner-innerwrapper .partner-item .archiv-view .results-item .entry-title, .archiv-view .results-item .partner-innerwrapper .partner-item .entry-title {
      font-size: 1.0625rem; }
    .partner-innerwrapper .partner-item span {
      display: block;
      margin-top: auto;
      font-size: 0.875rem;
      transition: all 0.3s ease; }
      .partner-innerwrapper .partner-item span svg {
        margin-left: 0.625rem; }
      .partner-innerwrapper .partner-item span path {
        color: var(--main-color); }
    .partner-innerwrapper .partner-item:hover span {
      color: var(--main-color);
      margin-left: 0.625rem; }
    .partner-innerwrapper .partner-item .inner-meta {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }

.magazin-innerwrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-align: center;
  margin-top: 16px; }
  .magazin-innerwrapper > * {
    -webkit-flex: 1 1 33.33%;
        -ms-flex: 1 1 33.33%;
            flex: 1 1 33.33%; }
  @supports (display: grid) {
    .magazin-innerwrapper {
      display: -ms-grid;
      display: grid;
      grid-gap: 16px;
      -ms-grid-columns: (minmax(160px, 1fr))[auto-fill];
          grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); } }
  @supports (display: -ms-grid) {
    .magazin-innerwrapper {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media print, screen and (min-width: 40em) {
    .magazin-innerwrapper {
      margin-top: 48px; } }
  .magazin-innerwrapper .magazin-item {
    padding: 8px;
    width: 50%; }
    @media print, screen and (min-width: 40em) {
      .magazin-innerwrapper .magazin-item {
        width: 33%; } }
    @media screen and (min-width: 50em) {
      .magazin-innerwrapper .magazin-item {
        width: 25%; } }
    @supports (display: grid) {
      .magazin-innerwrapper .magazin-item {
        width: auto;
        padding: 0; } }
    .magazin-innerwrapper .magazin-item img {
      border: 1px solid #DFDFDF;
      box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.15);
      margin-bottom: 16px; }
    .magazin-innerwrapper .magazin-item h6, .magazin-innerwrapper .magazin-item .archiv-view .results-item .entry-title, .archiv-view .results-item .magazin-innerwrapper .magazin-item .entry-title {
      font-size: 1.0625rem; }
    .magazin-innerwrapper .magazin-item:hover span {
      background-color: #313941; }

.search-results-wrapper {
  font-size: 0.875rem; }
  .search-results-wrapper .description {
    color: rgba(49, 57, 65, 0.6); }
  .search-results-wrapper .crumb {
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    @media print, screen and (min-width: 40em) {
      .search-results-wrapper .crumb {
        text-align: right; } }
  .search-results-wrapper a {
    color: var(--main-color); }
    .search-results-wrapper a:hover {
      color: #313941; }
  .search-results-wrapper .flexible-downloads-wrapper li {
    border: 0;
    padding: 0; }
    .search-results-wrapper .flexible-downloads-wrapper li:last-child {
      border-bottom: 0; }
  .search-results-wrapper .ap-item {
    border: 0;
    margin-bottom: 0; }

.input-group {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
  border: 1px solid #DFDFDF;
  padding: 0.1875rem 0.625rem; }
  .input-group input:not([type=submit]) {
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    background: transparent; }
    .input-group input:not([type=submit]):focus {
      border: 0; }
  .input-group .input-group-field {
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset; }
  .input-group .input-group-button {
    position: relative;
    width: 1.5625rem;
    height: 1.5625rem;
    color: #313941;
    margin-left: 0.1875rem;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .input-group .input-group-button:hover {
      color: #10516b; }
    .input-group .input-group-button > * {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 100%;
      height: 100%; }
    .input-group .input-group-button input {
      z-index: 2;
      font-size: 0;
      background: transparent; }
      .input-group .input-group-button input[type="submit"] {
        background-color: transparent; }
    .input-group .input-group-button svg {
      -webkit-transform: scale(1.1) translate(12px, 7px);
          -ms-transform: scale(1.1) translate(12px, 7px);
              transform: scale(1.1) translate(12px, 7px); }
      .input-group .input-group-button svg:hover {
        cursor: pointer; }

.button, .gform_wrapper .gform_footer input.button[type=submit],
.gform_wrapper .gform_button {
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.3;
  display: inline-block;
  background-color: #313941; }
  @media screen and (max-width: 39.9375em) {
    .button, .gform_wrapper .gform_footer input.button[type=submit],
    .gform_wrapper .gform_button {
      font-size: 0.8125rem; } }
  .button:hover, .gform_wrapper .gform_footer input.button:hover[type=submit],
  .gform_wrapper .gform_button:hover {
    background-color: var(--main-color); }

.infobox-wrapper {
  position: relative;
  z-index: 2;
  background-color: #313941;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .infobox-wrapper {
      margin-bottom: 32px; } }
  .infobox-wrapper h4 {
    font-size: 1.0625rem;
    color: #FFFFFF;
    margin-bottom: 8px; }
    @media print, screen and (min-width: 40em) {
      .infobox-wrapper h4 {
        font-size: 1.25rem; } }
  .infobox-wrapper a {
    color: #FFFFFF;
    font-family: 'open_sansbold';
    font-weight: normal; }
    .infobox-wrapper a:hover {
      color: rgba(255, 255, 255, 0.7); }
  .infobox-wrapper p {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.3;
    color: #FFFFFF;
    font-family: 'open_sansregular'; }
    @media print, screen and (min-width: 40em) {
      .infobox-wrapper p {
        font-size: 0.9375rem; } }
  .infobox-wrapper .inner-wrapper {
    display: block;
    max-width: 75rem;
    margin: 0 auto;
    position: relative;
    padding: 16px 32px 16px 16px; }
  .infobox-wrapper .infobox-close {
    color: #FFFFFF;
    position: absolute;
    top: 0;
    right: 0;
    transition: color 0.2s ease;
    padding: 16px; }
    .infobox-wrapper .infobox-close:hover {
      cursor: pointer;
      color: rgba(255, 255, 255, 0.6); }

[data-fancybox] picture {
  position: relative;
  overflow: hidden; }
  [data-fancybox] picture:before, [data-fancybox] picture:after {
    position: absolute;
    content: "";
    opacity: 0;
    transition: all 0.4s ease; }
  [data-fancybox] picture:before {
    transition: all 0.6s ease;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  [data-fancybox] picture:after {
    content: "+";
    font-family: Arial;
    width: 2.5rem;
    height: 2.5rem;
    background: rgba(0, 0, 0, 0.65) center center no-repeat;
    border-radius: 2.5rem;
    z-index: 2;
    color: #FFFFFF;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    font-size: 1.25rem;
    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;
    font-size: 1.25rem; }
  [data-fancybox] picture:hover:after, [data-fancybox] picture:hover:before {
    opacity: 1; }

figure {
  position: relative;
  overflow: hidden;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  background-color: rgba(255, 255, 255, 0.15);
  display: block; }
  figure figcaption {
    background-color: rgba(16, 81, 107, 0.1);
    padding: 16px;
    line-height: 1.5;
    font-size: 0.9375rem;
    color: #313941; }

.patch {
  padding: 8px 16px 8px 16px;
  color: #FFFFFF;
  background: #10516b;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  font-size: 0.9375rem;
  border-radius: 0;
  border-bottom: 3px solid rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease;
  top: 0;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 16px;
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  @media screen and (min-width: 64em) {
    .patch {
      padding: 21px 16px 16px 16px; } }
  .patch:focus-visible {
    outline: 3px solid #fffb00; }
  .patch svg {
    margin-right: 8px;
    width: 1.125rem;
    height: 1.125rem; }
  .patch:hover {
    cursor: pointer;
    top: 0;
    color: #FFFFFF; }

.kopfbild-wrapper .patch-eshop {
  background: var(--shop-color);
  display: none; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper .patch-eshop {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.kopfbild-wrapper .patch-contact {
  background: var(--shop-color); }

.kopfbild-wrapper .patch-eguichet {
  background: #ff6b6b;
  display: none; }
  .kopfbild-wrapper .patch-eguichet:focus {
    color: #FFFFFF; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper .patch-eguichet {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.kopfbild-wrapper .patch-extra {
  bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper .patch-extra {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

/************ EMBED PLUGIN ************/
.privacy-embed-container {
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding: 8px 12px;
  margin-bottom: 16px;
  background-color: #10516b;
  background-size: cover;
  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;
  text-align: center;
  position: absolute;
  transition: all 0.4s ease; }
  @media print, screen and (min-width: 40em) {
    .privacy-embed-container {
      padding: 32px; } }
  .privacy-embed-container:hover {
    background-color: rgba(16, 81, 107, 0.7); }
    .privacy-embed-container:hover * {
      color: #FFFFFF; }
  .privacy-embed-container * {
    color: #FFFFFF;
    font-size: 0.75rem;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container * {
        margin-bottom: 16px;
        font-size: 1rem; } }
  .privacy-embed-container p {
    margin: 0;
    line-height: 1.2; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container p {
        line-height: 1.4;
        margin-bottom: 16px; } }
  .privacy-embed-container h3, .privacy-embed-container .char-wrapper:before {
    font-size: 1.125rem; }
    @media screen and (min-width: 50em) {
      .privacy-embed-container h3, .privacy-embed-container .char-wrapper:before {
        font-size: 1.5rem; } }
  .privacy-embed-container a {
    color: #FFFFFF !important;
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
    text-underline-offset: 0.3em;
    -webkit-text-decoration-style: dotted;
            text-decoration-style: dotted;
    text-decoration-thickness: 1px; }
    .privacy-embed-container a:hover {
      text-decoration: none; }
  .privacy-embed-container img {
    max-width: 20%;
    margin-bottom: 8px; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container img {
        max-width: 30%;
        margin-bottom: 32px; } }
  .privacy-embed-container[data-type="embed-twitter"] img {
    max-width: 10%; }
  .privacy-embed-container input {
    -webkit-transform: scale(1.75);
        -ms-transform: scale(1.75);
            transform: scale(1.75);
    border: 0; }
  .privacy-embed-container label {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    margin-top: 16px; }
    @media print, screen and (min-width: 40em) {
      .privacy-embed-container label {
        margin-top: 32px; } }
    .privacy-embed-container label p {
      margin-top: 0;
      text-align: left;
      font-size: 0.6875rem; }
      @media print, screen and (min-width: 40em) {
        .privacy-embed-container label p {
          font-size: 0.8125rem; } }
  .privacy-embed-container .embed-privacy-inner {
    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; }
  .privacy-embed-container .embed-privacy-logo {
    width: 100%; }

.responsive-imagemap {
  position: relative;
  display: inline-block;
  max-width: 100%; }

.responsive-imagemap .imap-img {
  display: block;
  max-width: 100%;
  height: auto; }

.responsive-imagemap .imap-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* nur sichtbar, nicht klicken-blocken */ }

.responsive-imagemap .imap-shape {
  position: absolute;
  background: rgba(0, 160, 255, 0.25);
  outline: 2px solid rgba(0, 160, 255, 0.75);
  border-radius: 6px; }

.responsive-imagemap .imap-shape--circle {
  border-radius: 9999px; }

.top-bar-right .page-item-11356, .top-bar-right .page-item-11593 {
  display: none; }

.home .kopfbild-wrapper .childnav li.page-item-11593,
.home .kopfbild-wrapper .childnav li.page-item-11356 {
  display: none; }

body.woocommerce .main-container a, body.woocommerce .main-container .back svg {
  color: var(--shop-color); }

body.woocommerce .main-container .childnav a:not(.back) {
  color: #FFFFFF; }
  @media screen and (min-width: 50em) {
    body.woocommerce .main-container .childnav a:not(.back) {
      color: #313941; } }

body.woocommerce .main-container .back:hover, body.woocommerce .main-container .back:hover svg {
  color: #FFFFFF; }

body.woocommerce a.button,
body.woocommerce .gform_wrapper a.gform_button, .gform_wrapper body.woocommerce a.gform_button,
body.woocommerce a.button.alt,
body.woocommerce .gform_wrapper a.alt.gform_button,
.gform_wrapper body.woocommerce a.alt.gform_button,
body.woocommerce button.button,
body.woocommerce .gform_wrapper button.gform_button,
.gform_wrapper body.woocommerce button.gform_button,
body.woocommerce button.button.alt,
body.woocommerce .gform_wrapper button.alt.gform_button,
.gform_wrapper body.woocommerce button.alt.gform_button {
  background-color: var(--shop-color);
  color: #FFFFFF; }
  body.woocommerce a.button:disabled,
  body.woocommerce .gform_wrapper a.gform_button:disabled, .gform_wrapper body.woocommerce a.gform_button:disabled, body.woocommerce a.button:disabled[disabled],
  body.woocommerce .gform_wrapper a.gform_button:disabled[disabled], .gform_wrapper body.woocommerce a.gform_button:disabled[disabled], body.woocommerce a.button.disabled,
  body.woocommerce .gform_wrapper a.disabled.gform_button, .gform_wrapper body.woocommerce a.disabled.gform_button,
  body.woocommerce a.button.alt:disabled,
  body.woocommerce .gform_wrapper a.alt.gform_button:disabled,
  .gform_wrapper body.woocommerce a.alt.gform_button:disabled,
  body.woocommerce a.button.alt:disabled[disabled],
  body.woocommerce .gform_wrapper a.alt.gform_button:disabled[disabled],
  .gform_wrapper body.woocommerce a.alt.gform_button:disabled[disabled],
  body.woocommerce a.button.alt.disabled,
  body.woocommerce .gform_wrapper a.alt.disabled.gform_button,
  .gform_wrapper body.woocommerce a.alt.disabled.gform_button,
  body.woocommerce button.button:disabled,
  body.woocommerce .gform_wrapper button.gform_button:disabled,
  .gform_wrapper body.woocommerce button.gform_button:disabled,
  body.woocommerce button.button:disabled[disabled],
  body.woocommerce .gform_wrapper button.gform_button:disabled[disabled],
  .gform_wrapper body.woocommerce button.gform_button:disabled[disabled],
  body.woocommerce button.button.disabled,
  body.woocommerce .gform_wrapper button.disabled.gform_button,
  .gform_wrapper body.woocommerce button.disabled.gform_button,
  body.woocommerce button.button.alt:disabled,
  body.woocommerce .gform_wrapper button.alt.gform_button:disabled,
  .gform_wrapper body.woocommerce button.alt.gform_button:disabled,
  body.woocommerce button.button.alt:disabled[disabled],
  body.woocommerce .gform_wrapper button.alt.gform_button:disabled[disabled],
  .gform_wrapper body.woocommerce button.alt.gform_button:disabled[disabled],
  body.woocommerce button.button.alt.disabled,
  body.woocommerce .gform_wrapper button.alt.disabled.gform_button,
  .gform_wrapper body.woocommerce button.alt.disabled.gform_button {
    opacity: 0.6; }
    body.woocommerce a.button:disabled,
    body.woocommerce .gform_wrapper a.gform_button:disabled, .gform_wrapper body.woocommerce a.gform_button:disabled, body.woocommerce a.button:disabled:hover,
    body.woocommerce .gform_wrapper a.gform_button:disabled:hover, .gform_wrapper body.woocommerce a.gform_button:disabled:hover, body.woocommerce a.button:disabled[disabled],
    body.woocommerce .gform_wrapper a.gform_button:disabled[disabled], .gform_wrapper body.woocommerce a.gform_button:disabled[disabled], body.woocommerce a.button:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper a.gform_button:disabled[disabled]:hover, .gform_wrapper body.woocommerce a.gform_button:disabled[disabled]:hover, body.woocommerce a.button.disabled,
    body.woocommerce .gform_wrapper a.disabled.gform_button, .gform_wrapper body.woocommerce a.disabled.gform_button, body.woocommerce a.button.disabled:hover,
    body.woocommerce .gform_wrapper a.disabled.gform_button:hover, .gform_wrapper body.woocommerce a.disabled.gform_button:hover,
    body.woocommerce a.button.alt:disabled,
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled,
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled,
    body.woocommerce a.button.alt:disabled:hover,
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled:hover,
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled:hover,
    body.woocommerce a.button.alt:disabled[disabled],
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled[disabled],
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled[disabled],
    body.woocommerce a.button.alt:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper a.alt.gform_button:disabled[disabled]:hover,
    .gform_wrapper body.woocommerce a.alt.gform_button:disabled[disabled]:hover,
    body.woocommerce a.button.alt.disabled,
    body.woocommerce .gform_wrapper a.alt.disabled.gform_button,
    .gform_wrapper body.woocommerce a.alt.disabled.gform_button,
    body.woocommerce a.button.alt.disabled:hover,
    body.woocommerce .gform_wrapper a.alt.disabled.gform_button:hover,
    .gform_wrapper body.woocommerce a.alt.disabled.gform_button:hover,
    body.woocommerce button.button:disabled,
    body.woocommerce .gform_wrapper button.gform_button:disabled,
    .gform_wrapper body.woocommerce button.gform_button:disabled,
    body.woocommerce button.button:disabled:hover,
    body.woocommerce .gform_wrapper button.gform_button:disabled:hover,
    .gform_wrapper body.woocommerce button.gform_button:disabled:hover,
    body.woocommerce button.button:disabled[disabled],
    body.woocommerce .gform_wrapper button.gform_button:disabled[disabled],
    .gform_wrapper body.woocommerce button.gform_button:disabled[disabled],
    body.woocommerce button.button:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper button.gform_button:disabled[disabled]:hover,
    .gform_wrapper body.woocommerce button.gform_button:disabled[disabled]:hover,
    body.woocommerce button.button.disabled,
    body.woocommerce .gform_wrapper button.disabled.gform_button,
    .gform_wrapper body.woocommerce button.disabled.gform_button,
    body.woocommerce button.button.disabled:hover,
    body.woocommerce .gform_wrapper button.disabled.gform_button:hover,
    .gform_wrapper body.woocommerce button.disabled.gform_button:hover,
    body.woocommerce button.button.alt:disabled,
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled,
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled,
    body.woocommerce button.button.alt:disabled:hover,
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled:hover,
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled:hover,
    body.woocommerce button.button.alt:disabled[disabled],
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled[disabled],
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled[disabled],
    body.woocommerce button.button.alt:disabled[disabled]:hover,
    body.woocommerce .gform_wrapper button.alt.gform_button:disabled[disabled]:hover,
    .gform_wrapper body.woocommerce button.alt.gform_button:disabled[disabled]:hover,
    body.woocommerce button.button.alt.disabled,
    body.woocommerce .gform_wrapper button.alt.disabled.gform_button,
    .gform_wrapper body.woocommerce button.alt.disabled.gform_button,
    body.woocommerce button.button.alt.disabled:hover,
    body.woocommerce .gform_wrapper button.alt.disabled.gform_button:hover,
    .gform_wrapper body.woocommerce button.alt.disabled.gform_button:hover {
      background-color: var(--shop-color);
      color: #FFFFFF; }
  body.woocommerce a.button:hover,
  body.woocommerce .gform_wrapper a.gform_button:hover, .gform_wrapper body.woocommerce a.gform_button:hover,
  body.woocommerce a.button.alt:hover,
  body.woocommerce .gform_wrapper a.alt.gform_button:hover,
  .gform_wrapper body.woocommerce a.alt.gform_button:hover,
  body.woocommerce button.button:hover,
  body.woocommerce .gform_wrapper button.gform_button:hover,
  .gform_wrapper body.woocommerce button.gform_button:hover,
  body.woocommerce button.button.alt:hover,
  body.woocommerce .gform_wrapper button.alt.gform_button:hover,
  .gform_wrapper body.woocommerce button.alt.gform_button:hover {
    background-color: #313941;
    color: #FFFFFF; }

body.woocommerce .widget_shopping_cart {
  margin: 32px 0;
  border-bottom: 1px solid #DFDFDF; }

body.woocommerce .sku_wrapper, body.woocommerce .posted_in, body.woocommerce .woocommerce-ordering {
  display: none; }

.woocommerce form .form-row label {
  font-size: 1rem;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.woocommerce-error li:before {
  display: none; }

.woocommerce ul.products {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px; }
  .woocommerce ul.products li.product {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-radius: 0.1875rem;
    width: calc( 100% - 16px) !important;
    margin: 8px !important;
    background: rgba(223, 223, 223, 0.35);
    padding: 8px; }
    @media print, screen and (min-width: 40em) {
      .woocommerce ul.products li.product {
        width: calc( 33.33% - 16px) !important; } }
    @media screen and (min-width: 90em) {
      .woocommerce ul.products li.product {
        width: calc( 25% - 16px) !important; } }
    .woocommerce ul.products li.product:before {
      display: none; }
    .woocommerce ul.products li.product p:empty {
      display: none; }
    .woocommerce ul.products li.product a.button,
    .woocommerce ul.products li.product .gform_wrapper a.gform_button, .gform_wrapper .woocommerce ul.products li.product a.gform_button {
      width: calc( 100% + 16px);
      font-size: 0.875rem;
      margin-left: -8px;
      margin-bottom: -8px;
      border-top-right-radius: 0px;
      border-top-left-radius: 0px; }
    .woocommerce ul.products li.product h2.woocommerce-loop-product__title {
      color: #313941; }
    .woocommerce ul.products li.product:hover a.button,
    .woocommerce ul.products li.product:hover .gform_wrapper a.gform_button, .gform_wrapper .woocommerce ul.products li.product:hover a.gform_button {
      background-color: #313941; }

.single-product .label {
  background: none; }

.single-product .related.products {
  display: none; }

body.woocommerce-page.single-product .product {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  body.woocommerce-page.single-product .product p.price {
    background-color: var(--main-color);
    display: inline-block;
    padding: 0 0.375rem;
    color: #FFFFFF;
    font-family: 'open_sansbold'; }
  body.woocommerce-page.single-product .product div.woocommerce-product-gallery {
    width: 100%;
    max-width: 16.25rem;
    margin-right: 32px;
    margin-top: 16px; }
    body.woocommerce-page.single-product .product div.woocommerce-product-gallery figure {
      border: 1px solid #DFDFDF; }
  body.woocommerce-page.single-product .product div.summary {
    width: auto; }

li.wc_payment_method.payment_method_ogone label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  li.wc_payment_method.payment_method_ogone label img {
    width: 80px; }

#customer_details {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  padding: 16px 32px; }
  #customer_details .col-1 {
    width: 100%; }
  #customer_details .col-2 {
    display: none; }
  #customer_details .woocommerce-billing-fields__field-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end; }
  #customer_details .address-field {
    width: 100%; }
  #customer_details #billing_company_field {
    display: none; }
  @media screen and (min-width: 50em) {
    #customer_details #billing_postcode_field,
    #customer_details #billing_city_field,
    #customer_details #billing_country_field {
      width: 30%; }
    #customer_details #billing_email_field,
    #customer_details #billing_phone_field {
      width: 100%; } }
  #customer_details .select2-container {
    height: 39px; }
    #customer_details .select2-container .select2-selection--single {
      height: 39px; }
      #customer_details .select2-container .select2-selection--single .select2-selection__rendered {
        line-height: 35px; }
      #customer_details .select2-container .select2-selection--single .select2-selection__arrow {
        height: 35px; }

#order_review_heading,
#order_payment_heading {
  margin-top: 32px; }

.woocommerce-order-overview li:before {
  display: none; }

.woocommerce-order-details-title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16px; }

@media print {
  .woocommerce-order-details-title button {
    display: none !important; } }

body.woocommerce-checkout .shop_table {
  background-color: transparent; }

.cart_totals {
  text-align: center; }
  .cart_totals h2 {
    text-align: left; }

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  margin-bottom: 0; }

.checkout-other {
  font-family: 'open_sansbold'; }

.woocommerce .widget_shopping_cart .cart_list li a.remove, .woocommerce.widget_shopping_cart .cart_list li a.remove {
  line-height: 0.73; }

.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
  display: none; }

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 0px; }

.woocommerce #order_review .legal {
  margin: 16px 0; }
  .woocommerce #order_review .legal label {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.3; }

.woocommerce form .form-row .woocommerce-form__input-checkbox {
  margin-right: 20px; }

.archiv-view h2, .archiv-view h2 a {
  color: var(--main-color); }

.archiv-view .grid-wrapper {
  max-width: 44.5rem; }

.archiv-view .results-item {
  border-top: 1px solid #DFDFDF;
  padding: 16px 0; }
  @media print, screen and (min-width: 40em) {
    .archiv-view .results-item {
      padding: 16px 0; } }
  .archiv-view .results-item .entry-title {
    margin: 0 0 0.3125rem 0; }

.parent-newsarchiv .wrapper--news {
  grid-gap: 16px; }

.single .post-thumb-wrapper {
  position: relative; }

@media screen and (max-width: 39.9375em) {
  .single .back {
    display: block;
    margin: 16px 0 16px 0;
    text-align: center; } }

@media print, screen and (min-width: 40em) {
  .single header .back {
    display: none; } }

.single .innermeta-wrapper {
  position: relative;
  top: -4.375rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: -3.75rem; }
  @media screen and (max-width: 39.9375em) {
    .single .innermeta-wrapper {
      width: 100%;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .single .innermeta-wrapper p {
    padding: 0.1875rem 0.9375rem;
    font-family: 'poppinsregular', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: 0.875rem; }
    @media screen and (max-width: 39.9375em) {
      .single .innermeta-wrapper p {
        margin: auto; } }
  .single .innermeta-wrapper a {
    color: #313941; }
    .single .innermeta-wrapper a:hover {
      color: var(--main-color); }
  @media print, screen and (min-width: 40em) {
    .single .innermeta-wrapper .date {
      margin-left: auto; } }
  .single .innermeta-wrapper .print svg {
    margin: 0 0.25rem 0 0; }
  .single .innermeta-wrapper .share {
    margin-left: 1.25rem; }
    .single .innermeta-wrapper .share a {
      display: inline-block; }
      .single .innermeta-wrapper .share a.facebook {
        margin: 0 0.1875rem; }

/****** PRINT STYLESHEET *********/
@media print {
  .top-bar-right,
  .title-bar,
  .kopfbild-wrapper,
  .site-header:after,
  .sidebar,
  .innermeta-wrapper,
  .footer,
  .card-wrapper img,
  .flexible-form-wrapper,
  .flexible-oembed-wrapper,
  .flexible-galerie-wrapper,
  .flexible-childpages-wrapper,
  .flexible-txtimg-wrapper,
  .ap-thumb a:after,
  .filter-wrapper,
  .anliegen-header,
  #contact-overlay {
    display: none !important; }
  img {
    -webkit-filter: greyscale(100%) !important;
            filter: greyscale(100%) !important; }
  .top-bar .top-bar-title {
    position: static; }
    .top-bar .top-bar-title a {
      text-align: center; }
      .top-bar .top-bar-title a img {
        display: inline-block;
        width: 7.1875rem; }
      .top-bar .top-bar-title a:before, .top-bar .top-bar-title a:after {
        display: none; }
  .top-bar .top-bar-innerwrapper {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  h1.entry-title, #contact-overlay .entry-title.contact_title, #contact-overlay .entry-title.large_tel, #contact-overlay .entry-title.large_email, #contact-overlay .entry-title.large_address {
    font-size: 26pt; }
  a {
    text-decoration: none; }
  .flexible-links-wrapper .button-group, .flexible-links-wrapper .button-group li, .flexible-links-wrapper .button-group a {
    display: block;
    text-align: left;
    padding: 0; } }

/* Placeholder */
.top-bar .childnav > li > a, .drilldown li.page_item a, .off-canvas .servicenav-langswitch a, .wrapper--news .news-kachel-image .news-meta, .top-bar .childnav, .anliegen-list h3, .charmenu, .char-wrapper:before, .home .home_subtitle {
  text-transform: uppercase; }

.results-item ul, .flexible-editor-wrapper ul, .flexible-infobox-wrapper div ul {
  margin: 16px 0;
  list-style-type: none; }
  .results-item ul li, .flexible-editor-wrapper ul li, .flexible-infobox-wrapper div ul li {
    position: relative;
    font-family: 'open_sansregular';
    padding-left: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .results-item ul li, .flexible-editor-wrapper ul li, .flexible-infobox-wrapper div ul li {
        margin-left: 16px; } }
    .results-item ul li:not(:last-child), .flexible-editor-wrapper ul li:not(:last-child), .flexible-infobox-wrapper div ul li:not(:last-child) {
      margin-bottom: 0.625rem; }
    .results-item ul li:before, .flexible-editor-wrapper ul li:before, .flexible-infobox-wrapper div ul li:before {
      position: absolute;
      left: 0;
      height: 100%;
      width: 1.875rem;
      content: '';
      background: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' fill-opacity='0.25' d='M7.587 3.95L5.05 1.415 6.466 0l4.95 4.95L6.465 9.9 5.05 8.487 7.587 5.95 0 5.951v-2z' fill-rule='evenodd'/%3E%3C/svg%3E") left 8px no-repeat; }
    .results-item ul li ul, .flexible-editor-wrapper ul li ul, .flexible-infobox-wrapper div ul li ul {
      margin-left: 16px; }

@media screen and (max-width: 39.9375em) {
  .anliegen-list, .home .wrapper--nuetzliches, .home .wrapper--galerien, .ap-wrapper > *, .flexible-form-wrapper, .flexible-tax-downloads-wrapper {
    margin-left: -16px;
    margin-right: -16px; } }

/* IDS for the color scheme */
html {
  overflow-x: hidden; }

h5,
h6,
.archiv-view .results-item .entry-title {
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

a {
  transition: all 0.2s ease; }
  a:focus-visible {
    outline: 3px solid #cc4b37;
    transition: none !important; }

.site-header {
  position: relative; }
  .site-header:after {
    display: block;
    height: 3.125rem;
    content: '';
    background: linear-gradient(90deg, #FFFFFF 4px, transparent 1%) center, linear-gradient(#FFFFFF 4px, transparent 1%) center, rgba(49, 57, 65, 0.6);
    background-size: 5px 5px; }

strong,
b {
  font-family: 'open_sansbold';
  font-weight: normal; }

u, *[style*="underline"] {
  text-decoration: none; }

.caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: var(--main-color);
  color: #FFFFFF;
  font-size: 0.8125rem;
  padding: 0.1875rem 0.625rem; }

.kopfbild-wrapper {
  background: #313941 center center no-repeat;
  height: 7.5rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .kopfbild-wrapper {
      height: 10.625rem; } }
  .kopfbild-wrapper img {
    object-fit: cover;
    height: 100%;
    width: 100%; }
  .kopfbild-wrapper .outer-grid {
    width: 100%;
    max-width: 75rem;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .kopfbild-wrapper .grid-wrapper {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px; }
    @media screen and (min-width: 64em) {
      .kopfbild-wrapper .grid-wrapper {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-align-items: stretch;
            -ms-flex-align: stretch;
                align-items: stretch; } }
    @media screen and (min-width: 64em) and (max-width: 89.9375em) {
      .kopfbild-wrapper .grid-wrapper {
        max-width: none; } }
    .kopfbild-wrapper .grid-wrapper > *:not(.top-bar-right) {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }

.back {
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  transition: color 0.2s ease; }
  .back svg {
    color: var(--main-color);
    margin-right: 0.375rem; }
  .back:hover {
    color: var(--main-color); }

.grid-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 75rem;
  margin: auto; }
  .grid-wrapper > *:not(.top-bar-right) {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .grid-wrapper .sidebar {
    -webkit-flex: 1 0 18.75rem;
        -ms-flex: 1 0 18.75rem;
            flex: 1 0 18.75rem;
    margin-right: 3.75rem; }
    @media screen and (min-width: 64em) {
      .grid-wrapper .sidebar {
        padding-left: 16px; } }

.main-content {
  width: 100%;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px; }
  @media screen and (max-width: 39.9375em) {
    .main-content {
      max-width: 100%; } }
  @media screen and (min-width: 40em) and (max-width: 49.9375em) {
    .main-content {
      padding-left: 48px;
      padding-right: 48px; } }
  @media screen and (min-width: 50em) and (max-width: 63.9375em) {
    .main-content {
      -webkit-flex: 0 0 43.625rem;
          -ms-flex: 0 0 43.625rem;
              flex: 0 0 43.625rem; } }
  @media screen and (min-width: 64em) {
    .main-content {
      padding-left: 16px;
      padding-right: 16px; } }
  @media screen and (min-width: 90em) {
    .main-content {
      padding-right: 0; } }
  @media screen and (min-width: 64em) {
    .main-content.full-width .entry-content > header {
      max-width: 50%;
      text-align: center; }
      .main-content.full-width .entry-content > header, .main-content.full-width .entry-content > header .intro:after {
        margin-left: auto;
        margin-right: auto; } }
  @media screen and (min-width: 90em) {
    .main-content.full-width {
      padding: 0; } }

.main-container {
  padding: 3.125rem 0;
  position: relative; }

.innermeta-wrapper {
  top: -1.875rem;
  position: absolute;
  z-index: 1; }
  .innermeta-wrapper p {
    background: #FFFFFF;
    display: inline-block;
    padding: 0.625rem 1.25rem;
    font-size: 0.8125rem;
    font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .innermeta-wrapper a {
    color: var(--main-color); }

.main-content:not(.steuersaetze-wrapper) .entry-content a:not(.button) {
  color: var(--main-color);
  transition: color 0.1s ease; }
  .main-content:not(.steuersaetze-wrapper) .entry-content a:not(.button):focus {
    outline: 0; }
  .main-content:not(.steuersaetze-wrapper) .entry-content a:not(.button):hover {
    color: #313941; }

h1.entry-title, #contact-overlay .entry-title.contact_title, #contact-overlay .entry-title.large_tel, #contact-overlay .entry-title.large_email, #contact-overlay .entry-title.large_address {
  margin-bottom: 32px;
  line-height: 1; }

.intro {
  font-size: 1.125rem;
  color: rgba(49, 57, 65, 0.6); }
  @media print, screen and (min-width: 40em) {
    .intro {
      margin-top: 48px;
      margin-bottom: 32px; } }
  .intro:after {
    content: '';
    width: 4rem;
    height: 0.125rem;
    background: var(--main-color);
    display: block;
    margin-top: 32px; }

/********* FLEXIBLE CONTENT ***********/
body:not(.search-results) .flexible-content {
  margin-bottom: 24px; }
  @media print, screen and (min-width: 40em) {
    body:not(.search-results) .flexible-content {
      margin-bottom: 48px; } }
  body:not(.search-results) .flexible-content.half {
    margin-bottom: 24px; }
    @media print, screen and (min-width: 40em) {
      body:not(.search-results) .flexible-content.half {
        margin-bottom: 24px; } }
  body:not(.search-results) .flexible-content.alt {
    margin-bottom: 24px; }
    @media print, screen and (min-width: 40em) {
      body:not(.search-results) .flexible-content.alt {
        margin-bottom: 48px; } }

/****** FOOTER ********/
.footer {
  margin-top: 32px; }
  @media print, screen and (min-width: 40em) {
    .footer {
      margin-top: 96px; } }
  .footer .childnav {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    list-style-type: none;
    text-align: center; }
    .footer .childnav a {
      margin: 0 0.9375rem;
      font-size: 0.875rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      text-transform: uppercase;
      transition: color 0.2s ease; }
      .footer .childnav a:hover {
        color: #313941 !important; }
    @media print, screen and (min-width: 40em) {
      .footer .childnav {
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .footer .footer-container {
    background: #313941; }
    .footer .footer-container article {
      max-width: 75rem;
      padding: 32px 16px;
      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;
      text-align: center;
      margin: 32px auto 0 auto; }
      @media screen and (min-width: 50em) {
        .footer .footer-container article {
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      .footer .footer-container article > * {
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
        @media screen and (max-width: 49.9375em) {
          .footer .footer-container article > * {
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; }
            .footer .footer-container article > *:not(:first-of-type) {
              margin-top: 16px; } }
      .footer .footer-container article, .footer .footer-container article a {
        color: #FFFFFF;
        font-size: 0.75rem;
        font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal; }
    .footer .footer-container a {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 0.3125rem;
      transition: color 0.2s ease; }
      .footer .footer-container a:hover {
        color: rgba(255, 255, 255, 0.7); }
    @media screen and (max-width: 49.9375em) {
      .footer .footer-container ul {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    @media screen and (min-width: 50em) {
      .footer .footer-container .totop {
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3; }
        .footer .footer-container .totop a {
          -webkit-justify-content: flex-end;
              -ms-flex-pack: end;
                  justify-content: flex-end; } }
    .footer .footer-container .social {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (min-width: 50em) {
        .footer .footer-container .social {
          -webkit-flex-wrap: nowrap;
              -ms-flex-wrap: nowrap;
                  flex-wrap: nowrap;
          -webkit-order: 2;
              -ms-flex-order: 2;
                  order: 2; } }
      .footer .footer-container .social a {
        font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal;
        font-size: 0.875rem;
        text-transform: uppercase;
        white-space: nowrap; }
        .footer .footer-container .social a:hover {
          color: rgba(255, 255, 255, 0.7); }
        .footer .footer-container .social a svg {
          margin-right: 0.625rem; }
    .footer .footer-container .copyright {
      padding-right: 16px; }
      @media screen and (min-width: 50em) {
        .footer .footer-container .copyright {
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      .footer .footer-container .copyright li {
        margin: 5.33333px 0; }

.home {
  overflow-x: hidden; }
  .home .footer-container article {
    max-width: 90rem; }
  .home .kopfbild-wrapper {
    min-height: 25rem;
    position: relative;
    z-index: 1; }
    @media print, screen and (min-width: 40em) {
      .home .kopfbild-wrapper {
        min-height: 18.75rem;
        /*
            &:after {
                content: '';
                width: 100%;
                height: rem-calc(30); 
                background-color: $primary-color;
                position: absolute;
                bottom: 0;
                left: 0;
            }*/ } }
    @media screen and (min-width: 50em) {
      .home .kopfbild-wrapper {
        min-height: 25rem; } }
    @media screen and (min-width: 64em) {
      .home .kopfbild-wrapper {
        min-height: 31.25rem; } }
    @media screen and (min-width: 128em) {
      .home .kopfbild-wrapper {
        min-height: 37.5rem; } }
    .home .kopfbild-wrapper .childnav {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0;
      list-style: none;
      z-index: 2;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (min-width: 64em) {
        .home .kopfbild-wrapper .childnav {
          gap: 8px;
          -webkit-flex-wrap: nowrap;
              -ms-flex-wrap: nowrap;
                  flex-wrap: nowrap;
          max-width: 75rem;
          width: 100%;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%); } }
      .home .kopfbild-wrapper .childnav li {
        -webkit-flex: 1 1 0px;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px; }
        @media screen and (max-width: 49.9375em) {
          .home .kopfbild-wrapper .childnav li {
            width: 25%; } }
        .home .kopfbild-wrapper .childnav li > a {
          background-color: white;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center;
          text-align: center;
          height: 4.375rem;
          line-height: 1.1;
          position: relative;
          font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
          font-weight: normal; }
          @media screen and (min-width: 50em) {
            .home .kopfbild-wrapper .childnav li > a {
              padding: 0 32px;
              height: 5rem; } }
          @media screen and (min-width: 64em) {
            .home .kopfbild-wrapper .childnav li > a {
              padding: 0 1.875rem;
              font-size: 1.125rem; } }
          .home .kopfbild-wrapper .childnav li > a:hover {
            color: rgba(49, 57, 65, 0.8); }
            .home .kopfbild-wrapper .childnav li > a:hover:after {
              height: 0.5rem; }
          .home .kopfbild-wrapper .childnav li > a:before, .home .kopfbild-wrapper .childnav li > a:after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0; }
          .home .kopfbild-wrapper .childnav li > a:before {
            /*
                        left: rem-calc(20);
                        top: rem-calc(-20);
                        height: rem-calc(40);
                        width: rem-calc(40);
                        z-index: 2;
                        transition: all 0.2s ease;
                        transform: rotate(-45deg);
                        background-color: $white !important;
                        */ }
          .home .kopfbild-wrapper .childnav li > a:after {
            transition: all 0.4s ease;
            bottom: 0;
            height: 0.25rem;
            background-color: var(--color); }
        @media screen and (max-width: 39.9375em) {
          .home .kopfbild-wrapper .childnav li {
            width: 50%; }
            .home .kopfbild-wrapper .childnav li > a {
              font-size: 0.875rem;
              -webkit-flex-wrap: wrap;
                  -ms-flex-wrap: wrap;
                      flex-wrap: wrap;
              line-height: 1.2;
              padding: 0 8px;
              text-transform: uppercase; } }
        @media screen and (min-width: 50em) {
          .home .kopfbild-wrapper .childnav li > a:after {
            display: block; } }
      .home .kopfbild-wrapper .childnav .is-active {
        display: none; }
  @media screen and (min-width: 49.9375em) {
    .home .site-header:after {
      height: 5rem; } }
  .home .home_subtitle {
    color: #10516b;
    font-family: 'open_sansbold';
    display: inline-block;
    line-height: 1.3;
    font-size: 0.875rem;
    padding-bottom: 16px; }
    @media screen and (min-width: 64em) {
      .home .home_subtitle {
        padding-left: 2.25rem; }
        .home .home_subtitle:after {
          border-bottom: 2px solid #10516b;
          content: '';
          width: 1.875rem;
          display: block;
          -webkit-transform: translate(-100%, -0.65em);
              -ms-transform: translate(-100%, -0.65em);
                  transform: translate(-100%, -0.65em);
          margin-left: -6px; } }
  .home .home_title {
    font-size: 2.3125rem;
    line-height: 1.1;
    margin-bottom: 32px; }
    @media screen and (min-width: 50em) {
      .home .home_title {
        font-size: 3.5rem; } }
  .home .home_description {
    font-size: 1.125rem;
    line-height: 1.6875rem;
    color: #313941; }
  .home .wrapper {
    padding: 32px 0;
    /*.meta {
        position: absolute;
        bottom: 0;
        right: 0;
        background: $white;
        padding: $grid-medium/2 $grid-medium;
        @include bold;
        font-size: rem-calc(15);
        color: $primary-color;
        z-index: 6;
        transition: all 0.3s ease;
        svg {
            color: $secondary-color;
            transition: all 0.3s ease;
        }
    }*/ }
    @media screen and (min-width: 50em) {
      .home .wrapper {
        padding: 96px 0; } }
    .home .wrapper .main-container {
      max-width: 75rem;
      padding: 0 16px;
      margin: auto;
      background: transparent;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 25% 1fr;
          grid-template-columns: 25% 1fr; }
      @media screen and (max-width: 63.9375em) {
        .home .wrapper .main-container > div {
          -ms-grid-column: span 2;
              grid-column: span 2; } }
    .home .wrapper.gray {
      background: rgba(181, 180, 168, 0.1); }
    .home .wrapper .afterbutton {
      margin: 0 auto;
      padding-top: 16px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      grid-column-end: 3; }
      @media screen and (min-width: 50em) {
        .home .wrapper .afterbutton {
          margin: 0 16px 0 auto; } }
    .home .wrapper .button, .home .wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper input.button[type=submit],
    .home .wrapper .gform_wrapper .gform_button, .gform_wrapper .home .wrapper .gform_button {
      padding: 10.66667px 16px;
      border: 2px solid #10516b;
      background-color: #FFFFFF;
      color: #10516b; }
      .home .wrapper .button:hover, .home .wrapper .gform_wrapper .gform_footer input.button:hover[type=submit], .gform_wrapper .gform_footer .home .wrapper input.button:hover[type=submit],
      .home .wrapper .gform_wrapper .gform_button:hover, .gform_wrapper .home .wrapper .gform_button:hover {
        border: 2px solid #313941;
        color: #313941; }
    @media screen and (min-width: 50em) and (max-width: 63.9375em) {
      .home .wrapper--neuigkeiten {
        padding-bottom: 32px; } }
    .home .wrapper--neuigkeiten .main-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--neuigkeiten .main-container {
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      .home .wrapper--neuigkeiten .main-container > div:first-of-type {
        text-align: center;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--neuigkeiten .main-container > div:first-of-type {
            width: 25%;
            text-align: right;
            padding-right: 8px; } }
      .home .wrapper--neuigkeiten .main-container .afterbutton {
        -webkit-flex-basis: 100%;
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-top: 24px; }
        @media screen and (min-width: 64em) {
          .home .wrapper--neuigkeiten .main-container .afterbutton {
            padding-right: 16px;
            -webkit-justify-content: flex-end;
                -ms-flex-pack: end;
                    justify-content: flex-end; } }
      .home .wrapper--neuigkeiten .main-container .button, .home .wrapper--neuigkeiten .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--neuigkeiten .main-container input.button[type=submit],
      .home .wrapper--neuigkeiten .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--neuigkeiten .main-container .gform_button {
        background-color: transparent; }
    .home .wrapper--banner {
      padding-top: 0; }
      .home .wrapper--banner .main-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
      .home .wrapper--banner .banner-wrapper {
        background-color: #313941;
        display: -ms-grid;
        display: grid;
        width: 100%;
        box-shadow: 10px 10px 30px 0 rgba(0, 0, 0, 0.25); }
        @media screen and (min-width: 64em) {
          .home .wrapper--banner .banner-wrapper {
            height: 130px; } }
        .home .wrapper--banner .banner-wrapper > * {
          grid-area: 1 / 1; }
      .home .wrapper--banner .inner-content {
        position: relative;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 32px;
        gap: 32px;
        text-align: center;
        position: relative;
        z-index: 1; }
        @media screen and (min-width: 50em) {
          .home .wrapper--banner .inner-content {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            text-align: left; } }
        .home .wrapper--banner .inner-content:after {
          content: '';
          transition: all 0.6s ease;
          background-color: rgba(49, 57, 65, 0.8);
          position: absolute;
          inset: 0;
          z-index: -1; }
      .home .wrapper--banner .home_subtitle {
        color: #FFFFFF;
        text-wrap: balance; }
        .home .wrapper--banner .home_subtitle:after {
          border-color: #FFFFFF; }
      .home .wrapper--banner .block-header {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 5.6px; }
      .home .wrapper--banner .banner-title {
        text-wrap: balance;
        color: #FFFFFF;
        -webkit-hyphens: auto;
            -ms-hyphens: auto;
                hyphens: auto;
        font-size: 1.75rem;
        margin: 0; }
        @media screen and (min-width: 50em) {
          .home .wrapper--banner .banner-title {
            font-size: 2.1875rem; } }
      .home .wrapper--banner span.button,
      .home .wrapper--banner .gform_wrapper span.gform_button, .gform_wrapper .home .wrapper--banner span.gform_button {
        white-space: nowrap;
        border: 0;
        padding: 12.8px 16px 9.6px 16px;
        margin: 0; }
        .home .wrapper--banner span.button:hover,
        .home .wrapper--banner .gform_wrapper span.gform_button:hover, .gform_wrapper .home .wrapper--banner span.gform_button:hover {
          border: 0; }
      .home .wrapper--banner a:hover .inner-content:after {
        background-color: rgba(49, 57, 65, 0.95); }
      .home .wrapper--banner img {
        object-fit: cover;
        height: 100%;
        width: 100%; }
    .home .wrapper--projekte {
      padding-top: 0; }
      .home .wrapper--projekte .claim-wrapper .afterbutton {
        display: none; }
      @media screen and (min-width: 64em) {
        .home .wrapper--projekte:not(.count-3) .main-container.row-2 .afterbutton {
          display: none; }
        .home .wrapper--projekte:not(.count-3) .claim-wrapper .afterbutton {
          display: block; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--projekte.count-3 .afterbutton {
          margin-left: 24px; }
        .home .wrapper--projekte.count-3 .main-container.row-2 {
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
      @media screen and (min-width: 50em) {
        .home .wrapper--projekte .main-container {
          -ms-grid-columns: 1fr 25%;
              grid-template-columns: 1fr 25%; } }
      .home .wrapper--projekte .afterbutton {
        margin: 0; }
      .home .wrapper--projekte .main-container.row-2 {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
      .home .wrapper--projekte .main-container .button, .home .wrapper--projekte .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--projekte .main-container input.button[type=submit],
      .home .wrapper--projekte .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--projekte .main-container .gform_button {
        background-color: transparent; }
      .home .wrapper--projekte .claim-wrapper {
        text-align: center;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--projekte .claim-wrapper {
            text-align: left;
            padding-left: 8px; } }
      .home .wrapper--projekte .wrapper--innerprojekte {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--projekte .wrapper--innerprojekte {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
        @media screen and (min-width: 64em) {
          .home .wrapper--projekte .wrapper--innerprojekte {
            -webkit-order: -1;
                -ms-flex-order: -1;
                    order: -1;
            -webkit-justify-content: flex-end;
                -ms-flex-pack: end;
                    justify-content: flex-end; } }
        .home .wrapper--projekte .wrapper--innerprojekte .card {
          margin: 8px;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex: 0 1 auto;
              -ms-flex: 0 1 auto;
                  flex: 0 1 auto;
          background-color: transparent; }
          @media screen and (max-width: 39.9375em) {
            .home .wrapper--projekte .wrapper--innerprojekte .card {
              margin-left: -16px;
              margin-right: -16px;
              margin-bottom: 24px; } }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--projekte .wrapper--innerprojekte .card {
              width: calc( 50% - 16px); } }
          @media screen and (min-width: 50em) {
            .home .wrapper--projekte .wrapper--innerprojekte .card {
              width: calc( 33% - 16px); } }
        .home .wrapper--projekte .wrapper--innerprojekte figure {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; }
        .home .wrapper--projekte .wrapper--innerprojekte picture {
          text-align: center; }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--projekte .wrapper--innerprojekte picture {
              max-width: none;
              margin: 0 15px 8px 15px; } }
          @media screen and (min-width: 50em) {
            .home .wrapper--projekte .wrapper--innerprojekte picture {
              margin: 0 30px 8px 30px; } }
        .home .wrapper--projekte .wrapper--innerprojekte img {
          margin: auto;
          max-width: 10.9375rem;
          width: 100%; }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--projekte .wrapper--innerprojekte img {
              max-width: none; } }
        .home .wrapper--projekte .wrapper--innerprojekte figcaption {
          background-color: transparent;
          text-align: center;
          padding: 8px; }
    .home .wrapper--news {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      max-width: 100%;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--news {
          -webkit-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--news {
          margin-right: -8px;
          max-width: 75%; } }
      .home .wrapper--news .card {
        -webkit-flex-grow: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        margin: 8px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto; }
        @media screen and (max-width: 39.9375em) {
          .home .wrapper--news .card {
            position: relative;
            border-bottom: 1px solid #DFDFDF;
            margin: 0;
            margin-left: -16px;
            margin-right: -16px;
            box-shadow: none;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            width: calc( 100% + 32px);
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            padding: 16px; }
            .home .wrapper--news .card h5, .home .wrapper--news .card span {
              transition: all 0.2s ease; }
            .home .wrapper--news .card .description {
              display: none; }
            .home .wrapper--news .card .news-kachel-image {
              position: static;
              width: 100%;
              max-width: 8.125rem; }
            .home .wrapper--news .card span:not(.news-meta) {
              display: none; }
            .home .wrapper--news .card .news-meta {
              left: auto;
              right: 0;
              bottom: 16px; }
            .home .wrapper--news .card:hover {
              background: #FFFFFF; }
              .home .wrapper--news .card:hover h5 {
                color: var(--main-color); }
              .home .wrapper--news .card:hover span {
                background: #FFFFFF;
                color: inherit; } }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--news .card {
            width: calc( 50% - 16px); } }
        @media screen and (min-width: 50em) {
          .home .wrapper--news .card {
            width: calc( 33% - 16px); } }
    .home .wrapper--quicklinks .main-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .home .wrapper--quicklinks .main-container > div:first-of-type {
        width: 100%;
        text-align: center; }
      .home .wrapper--quicklinks .main-container > div {
        width: calc(100% - 16px);
        margin: 0 8px;
        text-align: center; }
        @media screen and (min-width: 50em) {
          .home .wrapper--quicklinks .main-container > div {
            text-align: left; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--quicklinks .main-container > div {
          width: calc(75% - 16px); }
        .home .wrapper--quicklinks .main-container > div:first-of-type {
          width: calc(25% - 16px); }
        .home .wrapper--quicklinks .main-container > div:first-of-type {
          text-align: left; } }
    @media screen and (max-width: 39.9375em) {
      .home .wrapper--quicklinks .afterbutton {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; }
        .home .wrapper--quicklinks .afterbutton a {
          margin: 16px 0 0 0; } }
    @media screen and (max-width: 63.9375em) {
      .home .wrapper--quicklinks .afterbutton {
        margin: auto; } }
    .home .wrapper--quicklinks ul {
      list-style-type: none;
      -webkit-column-gap: 32px;
              column-gap: 32px;
      margin-left: 0;
      display: none; }
      @media screen and (min-width: 50em) {
        .home .wrapper--quicklinks ul {
          -webkit-column-count: 3;
                  column-count: 3;
          display: block; } }
      @media screen and (min-width: 64em) {
        .home .wrapper--quicklinks ul {
          -webkit-column-count: 4;
                  column-count: 4;
          margin-top: 32px; } }
      .home .wrapper--quicklinks ul li {
        line-height: 1.2;
        margin-bottom: 8px;
        text-align: left; }
      .home .wrapper--quicklinks ul a {
        font-size: 1.0625rem;
        color: #10516b;
        font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
        font-weight: normal;
        background: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.587 3.95L5.05 1.415 6.466 0l4.95 4.95L6.465 9.9 5.05 8.487 7.587 5.95 0 5.951v-2z' fill='#FFFFFF' fill-rule='evenodd'/>%3C/svg%3E") center left no-repeat;
        padding-left: 16px;
        transition: all 0.3s ease; }
        .home .wrapper--quicklinks ul a:hover {
          background: url("data:image/svg+xml,%3Csvg width='12' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.587 3.95L5.05 1.415 6.466 0l4.95 4.95L6.465 9.9 5.05 8.487 7.587 5.95 0 5.951v-2z' fill='#000000' fill-rule='evenodd'/>%3C/svg%3E") center left no-repeat;
          color: #313941; }
          .home .wrapper--quicklinks ul a:hover:before {
            opacity: 1; }
    .home .wrapper--quicklinks .button, .home .wrapper--quicklinks .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--quicklinks input.button[type=submit],
    .home .wrapper--quicklinks .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--quicklinks .gform_button {
      margin: 0 0 0 16px; }
    .home .wrapper--quicklinks .filter-buttons {
      display: inline-block;
      padding: 10.66667px 64px 10.66667px 32px;
      height: auto;
      width: auto;
      border-radius: 31.25rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      border: none;
      font-size: 0.875rem;
      border: 2px solid #10516b;
      /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e5799+0,1e5799+50,2989d8+50,207cca+100 */
      background: url("data:image/svg+xml,%3Csvg width='11' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.547 0L5.5 4.115 1.453 0 0 1.478l5.5 5.593L11 1.478 9.547 0' fill='%2310516b' fill-rule='evenodd'/>%3C/svg%3E") center right 16px no-repeat; }
      @media screen and (min-width: 50em) {
        .home .wrapper--quicklinks .filter-buttons {
          display: none; } }
    .home .wrapper--nuetzliches {
      text-align: center; }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--nuetzliches {
          padding-bottom: 0; } }
      .home .wrapper--nuetzliches .home_subtitle, .home .wrapper--nuetzliches .home_title {
        text-align: center;
        padding-left: 0; }
        .home .wrapper--nuetzliches .home_subtitle:after, .home .wrapper--nuetzliches .home_title:after {
          display: none; }
      @media print, screen and (min-width: 40em) {
        .home .wrapper--nuetzliches .kachel-meta h5 {
          font-size: 0.875rem; } }
      .home .wrapper--nuetzliches .main-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-flow: wrap row;
            -ms-flex-flow: wrap row;
                flex-flow: wrap row;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        @media screen and (min-width: 64em) {
          .home .wrapper--nuetzliches .main-container {
            padding: 0; } }
        .home .wrapper--nuetzliches .main-container > a {
          width: calc( 100% - 16px);
          overflow: hidden; }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--nuetzliches .main-container > a {
              margin: 8px; } }
          @media screen and (min-width: 50em) {
            .home .wrapper--nuetzliches .main-container > a {
              width: calc( 33% - 16px); } }
          @media screen and (min-width: 64em) {
            .home .wrapper--nuetzliches .main-container > a {
              width: calc( 25% - 16px); } }
    .home .wrapper--zweiteiler {
      padding-top: 0;
      overflow: hidden; }
      .home .wrapper--zweiteiler .main-container {
        padding: 0;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--zweiteiler .main-container {
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row; } }
        .home .wrapper--zweiteiler .main-container .button, .home .wrapper--zweiteiler .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--zweiteiler .main-container input.button[type=submit],
        .home .wrapper--zweiteiler .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--zweiteiler .main-container .gform_button {
          margin-top: auto;
          margin-bottom: 0; }
        .home .wrapper--zweiteiler .main-container > div {
          color: #FFFFFF;
          position: relative;
          padding: 32px;
          /*&:last-of-type {
                    background: $secondary-color;
                    background-position: center left;
                    background-repeat: no-repeat;
                    padding-left: $grid-medium*15;
                    display: flex;
                    flex-direction: column;
                    &:before {
                        left: 100%;
                        background: $secondary-color;
                    }
                    strong {color: $white;}
                    .button {
                        margin-top: auto;
                        background: $primary-color;
                        align-self: baseline;
                        &:hover {
                            background: $white;
                            color: $secondary-color;
                        }
                    }
                }*/ }
          @media print, screen and (min-width: 40em) {
            .home .wrapper--zweiteiler .main-container > div {
              width: 50%; } }
          @media screen and (min-width: 50em) {
            .home .wrapper--zweiteiler .main-container > div {
              padding: 48px 64px 48px 16px; } }
          @media screen and (max-width: 49.9375em) {
            .home .wrapper--zweiteiler .main-container > div {
              -webkit-flex-direction: column;
                  -ms-flex-direction: column;
                      flex-direction: column; }
              .home .wrapper--zweiteiler .main-container > div > * {
                margin: auto;
                -webkit-justify-content: center;
                    -ms-flex-pack: center;
                        justify-content: center;
                text-align: center; } }
          .home .wrapper--zweiteiler .main-container > div:before {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
            content: ''; }
          .home .wrapper--zweiteiler .main-container > div .image {
            width: 50%;
            max-width: 9.375rem; }
            @media screen and (max-width: 49.9375em) {
              .home .wrapper--zweiteiler .main-container > div .image {
                margin-bottom: 16px; } }
            @media screen and (min-width: 50em) {
              .home .wrapper--zweiteiler .main-container > div .image {
                margin-right: 48px;
                width: 35%; } }
            .home .wrapper--zweiteiler .main-container > div .image img {
              box-shadow: 0.1875rem 0.1875rem 0.25rem 0 rgba(0, 0, 0, 0.25); }
          .home .wrapper--zweiteiler .main-container > div strong {
            display: block;
            margin: 16px 0; }
          .home .wrapper--zweiteiler .main-container > div p {
            font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
            font-weight: normal; }
          .home .wrapper--zweiteiler .main-container > div .more {
            -webkit-align-self: flex-end;
                -ms-flex-item-align: end;
                    align-self: flex-end;
            color: #FFFFFF;
            font-size: 0.875rem;
            font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
            font-weight: normal; }
            @media screen and (max-width: 49.9375em) {
              .home .wrapper--zweiteiler .main-container > div .more {
                display: block;
                margin-top: 16px; } }
            @media print, screen and (min-width: 40em) {
              .home .wrapper--zweiteiler .main-container > div .more {
                margin-left: 32px; } }
            .home .wrapper--zweiteiler .main-container > div .more:hover {
              color: #FFFFFF; }
          .home .wrapper--zweiteiler .main-container > div:first-of-type {
            background: #313941;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            width: 100%;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center; }
            .home .wrapper--zweiteiler .main-container > div:first-of-type:before {
              right: 100%;
              background: #313941; }
            .home .wrapper--zweiteiler .main-container > div:first-of-type:after {
              position: absolute;
              top: 0;
              bottom: 0;
              width: 100%;
              left: 100%;
              content: '';
              background: #313941; }
    @media print, screen and (min-width: 40em) {
      .home .wrapper--zugezogene {
        padding-top: 0; } }
    .home .wrapper--zugezogene .main-container {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media screen and (min-width: 64em) {
        .home .wrapper--zugezogene .main-container {
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .home .wrapper--zugezogene .main-container > div:first-of-type {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--zugezogene .main-container > div:first-of-type {
            -webkit-order: 1;
                -ms-flex-order: 1;
                    order: 1;
            width: 70%;
            margin-right: 5%; } }
        @media screen and (max-width: 63.9375em) {
          .home .wrapper--zugezogene .main-container > div:first-of-type {
            margin-top: 32px; } }
      .home .wrapper--zugezogene .main-container > div:last-of-type {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        width: 100%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--zugezogene .main-container > div:last-of-type {
            -webkit-order: 2;
                -ms-flex-order: 2;
                    order: 2;
            width: 25%; } }
      @media screen and (max-width: 63.9375em) {
        .home .wrapper--zugezogene .main-container .innercontent {
          text-align: center; } }
      .home .wrapper--zugezogene .main-container .button, .home .wrapper--zugezogene .main-container .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--zugezogene .main-container input.button[type=submit],
      .home .wrapper--zugezogene .main-container .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--zugezogene .main-container .gform_button {
        margin: 0; }
      .home .wrapper--zugezogene .main-container .home_description {
        margin-bottom: 32px; }
      .home .wrapper--zugezogene .main-container iframe {
        border: none;
        width: 100%; }
      .home .wrapper--zugezogene .main-container #play {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 10;
        cursor: pointer;
        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;
        opacity: 1;
        transition: opacity 0.3s ease;
        background-size: cover;
        background-attachment: scroll; }
        .home .wrapper--zugezogene .main-container #play img {
          object-fit: cover;
          height: 100%;
          width: 100%; }
        .home .wrapper--zugezogene .main-container #play svg {
          position: absolute;
          left: 50%;
          top: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          width: 6.375rem;
          z-index: 2; }
          .home .wrapper--zugezogene .main-container #play svg ellipse {
            transition: all 0.4s ease;
            fill: #10516b; }
          .home .wrapper--zugezogene .main-container #play svg path {
            transition: all 0.4s ease;
            fill: #FFFFFF; }
        .home .wrapper--zugezogene .main-container #play:hover svg ellipse {
          fill: #FFFFFF; }
        .home .wrapper--zugezogene .main-container #play:hover svg path {
          fill: #10516b; }
        .home .wrapper--zugezogene .main-container #play.is-playing {
          opacity: 0;
          display: none; }
      .home .wrapper--zugezogene .main-container .embed-container:before {
        position: absolute;
        top: 1.25rem;
        left: 1.25rem;
        bottom: 1.25rem;
        right: 1.25rem;
        content: '';
        box-shadow: 25px 25px 30px 0 rgba(0, 0, 0, 0.25); }
      .home .wrapper--zugezogene .main-container #video-language {
        margin-top: 16px;
        text-align: center; }
        .home .wrapper--zugezogene .main-container #video-language a {
          padding: 16px;
          display: inline-block;
          font-size: 0.875rem;
          margin: 4px;
          line-height: 0; }
    .home .wrapper--partner {
      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;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      position: relative;
      text-align: center;
      padding-left: 8px;
      padding-right: 8px;
      /*
        &:after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 0;
            left: 0;
            content: '';
            background: rgba($primary-color,0.9);
            z-index: 1;
        }*/ }
      @media screen and (max-width: 39.9375em) {
        .home .wrapper--partner {
          padding-top: 48px;
          padding-bottom: 48px; } }
      .home .wrapper--partner * {
        position: relative;
        z-index: 2; }
      .home .wrapper--partner h2 {
        font-size: 1.6875rem;
        line-height: 1.2; }
        .home .wrapper--partner h2 br {
          display: none; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--partner h2 {
            font-size: 2.1875rem; } }
        @media screen and (min-width: 50em) {
          .home .wrapper--partner h2 {
            font-size: 2.9375rem; }
            .home .wrapper--partner h2 br {
              display: inline; } }
      @media print, screen and (min-width: 40em) {
        .home .wrapper--partner p {
          max-width: 21.875rem;
          margin: auto; } }
      .home .wrapper--partner .button, .home .wrapper--partner .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--partner input.button[type=submit],
      .home .wrapper--partner .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--partner .gform_button {
        margin: 12px auto 0 auto;
        background-color: transparent; }
        @media print, screen and (min-width: 40em) {
          .home .wrapper--partner .button, .home .wrapper--partner .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .home .wrapper--partner input.button[type=submit],
          .home .wrapper--partner .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--partner .gform_button {
            margin-top: 24px; } }
      .home .wrapper--partner .home_title {
        margin-bottom: 16px; }
      .home .wrapper--partner .home_subtitle {
        padding-left: 0;
        margin-bottom: 16px; }
        .home .wrapper--partner .home_subtitle:after {
          display: none; }
    @media screen and (min-width: 64em) {
      .home .wrapper--galerien {
        padding: 0; } }
    .home .wrapper--galerien .main-container {
      max-width: 90rem;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      .home .wrapper--galerien .main-container .kachel-image {
        position: relative; }
      .home .wrapper--galerien .main-container > div:first-of-type {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: auto;
        text-align: right;
        padding: 0 32px 32px 32px; }
        .home .wrapper--galerien .main-container > div:first-of-type h2 {
          line-height: 1.1;
          margin-bottom: 16px;
          font-size: 3rem; }
        .home .wrapper--galerien .main-container > div:first-of-type .button,
        .home .wrapper--galerien .main-container > div:first-of-type .gform_wrapper .gform_button, .gform_wrapper .home .wrapper--galerien .main-container > div:first-of-type .gform_button {
          margin-bottom: 0; }
        @media screen and (max-width: 63.9375em) {
          .home .wrapper--galerien .main-container > div:first-of-type {
            width: 100%;
            text-align: center; } }
      .home .wrapper--galerien .main-container > .card {
        width: 50%; }
        @media screen and (min-width: 64em) {
          .home .wrapper--galerien .main-container > .card {
            width: 33%; } }
        @media screen and (min-width: 90em) {
          .home .wrapper--galerien .main-container > .card {
            width: 25%; } }

.flexible-iframe-wrapper iframe {
  border: none; }

.flexible-links-wrapper ul:not(.button-group) {
  list-style-type: none;
  margin-left: 0; }
  .flexible-links-wrapper ul:not(.button-group) li {
    padding: 0.3125rem 0; }
  .flexible-links-wrapper ul:not(.button-group) a {
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    color: var(--main-color);
    margin-left: 0.625rem; }
    .flexible-links-wrapper ul:not(.button-group) a:hover {
      color: #313941; }

.flexible-links-wrapper .button-group {
  list-style-type: none;
  margin: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media screen and (max-width: 39.9375em) {
    .flexible-links-wrapper .button-group {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flexible-links-wrapper .button-group > * {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .flexible-links-wrapper .button-group li {
    padding: 0.3125rem; }
  .flexible-links-wrapper .button-group a {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    height: 100%;
    padding: 0.625rem 0.9375rem;
    line-height: 1.2; }

.results-item p,
.flexible-editor-wrapper p {
  font-family: 'open_sansregular'; }

.results-item a,
.flexible-editor-wrapper a {
  position: relative;
  display: inline-block;
  font-family: 'open_sansbold';
  color: var(--main-color);
  transition: color 0.2s ease; }
  .results-item a:hover,
  .flexible-editor-wrapper a:hover {
    color: #313941; }

.results-item h4, .results-item h5, .results-item h6, .archiv-view .results-item .entry-title,
.flexible-editor-wrapper h4,
.flexible-editor-wrapper h5,
.flexible-editor-wrapper h6,
.flexible-editor-wrapper .archiv-view .results-item .entry-title,
.archiv-view .results-item .flexible-editor-wrapper .entry-title {
  margin-bottom: 16px; }

.results-item h4,
.flexible-editor-wrapper h4 {
  font-family: 'poppinsblack', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.results-item h1, .results-item #contact-overlay .contact_title, #contact-overlay .results-item .contact_title, .results-item #contact-overlay .large_tel, #contact-overlay .results-item .large_tel, .results-item #contact-overlay .large_email, #contact-overlay .results-item .large_email, .results-item #contact-overlay .large_address, #contact-overlay .results-item .large_address,
.flexible-editor-wrapper h1,
.flexible-editor-wrapper #contact-overlay .contact_title,
#contact-overlay .flexible-editor-wrapper .contact_title,
.flexible-editor-wrapper #contact-overlay .large_tel,
#contact-overlay .flexible-editor-wrapper .large_tel,
.flexible-editor-wrapper #contact-overlay .large_email,
#contact-overlay .flexible-editor-wrapper .large_email,
.flexible-editor-wrapper #contact-overlay .large_address,
#contact-overlay .flexible-editor-wrapper .large_address {
  line-height: 1.2; }

.results-item h2, .results-item h3, .results-item .char-wrapper:before, .results-item h5,
.flexible-editor-wrapper h2,
.flexible-editor-wrapper h3,
.flexible-editor-wrapper .char-wrapper:before,
.flexible-editor-wrapper h5 {
  line-height: 1.3; }

.results-item h4, .results-item h6, .archiv-view .results-item .entry-title,
.flexible-editor-wrapper h4,
.flexible-editor-wrapper h6,
.flexible-editor-wrapper .archiv-view .results-item .entry-title,
.archiv-view .results-item .flexible-editor-wrapper .entry-title {
  line-height: 1.4; }

@media print, screen and (min-width: 40em) {
  .results-item h4,
  .flexible-editor-wrapper h4 {
    line-height: 1.3; } }

.flexible-fullwidth-wrapper .caption {
  font-size: 0.875rem;
  text-align: left;
  display: block;
  padding: 0.625rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .flexible-fullwidth-wrapper .caption {
      margin-left: 5.625rem;
      margin-top: -16px; } }

.flexible-fullwidth-wrapper img {
  max-width: 100%;
  width: auto; }

.flexible-downloads-wrapper ul {
  list-style-type: none;
  margin: 0; }
  .flexible-downloads-wrapper ul li {
    border-top: 1px solid #DFDFDF;
    padding: 0.6875rem 0; }
    .flexible-downloads-wrapper ul li:last-child {
      border-bottom: 1px solid #DFDFDF; }

.flexible-downloads-wrapper a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600;
  line-height: 1.4; }
  .flexible-downloads-wrapper a:hover {
    color: var(--main-color); }

.flexible-downloads-wrapper .innermeta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flexible-downloads-wrapper .description {
  color: rgba(49, 57, 65, 0.6);
  font-size: 0.875rem;
  font-weight: 400;
  margin-top: 0.4375rem; }

.flexible-downloads-wrapper .file-icon {
  -webkit-flex: 0 0 2.1875rem;
      -ms-flex: 0 0 2.1875rem;
          flex: 0 0 2.1875rem;
  color: var(--main-color);
  padding-top: 0.1875rem; }

.flexible-downloads-wrapper .download-cats {
  margin: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  font-size: 0.75rem;
  color: #313941; }
  @media screen and (max-width: 39.9375em) {
    .flexible-downloads-wrapper .download-cats {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flexible-downloads-wrapper .download-cats strong {
    font-weight: 600;
    margin-right: 0.625rem; }
  .flexible-downloads-wrapper .download-cats span {
    margin: 0 0.3125rem; }

.flexible-halfwidth-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .flexible-halfwidth-wrapper > * {
    width: 49%;
    text-align: center;
    position: relative; }

.flexible-thirdwidth-wrapper {
  text-align: center; }
  .flexible-thirdwidth-wrapper .flexible-thirdwidth-img {
    max-width: 34.375rem; }
  .flexible-thirdwidth-wrapper .caption {
    font-size: 0.875rem;
    text-align: left;
    display: block;
    padding: 0.625rem 1.25rem;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .flexible-thirdwidth-wrapper .caption {
        margin-left: 5.625rem;
        margin-top: -16px; } }

.flexible-ansprechpartner-wrapper .flexible-ansprechpartner-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .flexible-ansprechpartner-wrapper .flexible-ansprechpartner-item:not(:last-of-type) {
    margin-bottom: 16px; }

.flexible-ansprechpartner-wrapper img {
  margin: 0; }
  @media print, screen and (min-width: 40em) {
    .flexible-ansprechpartner-wrapper img {
      margin-right: 1.25rem; } }

[data-column="half"] {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  /* je nach Bedarf */ }

@media screen and (max-width: 49.9375em) {
  [data-column="half"] {
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr; } }

.ap-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .ap-wrapper > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.875rem;
    border-top: 1px solid #DFDFDF;
    border: 1px solid #DFDFDF;
    padding-top: 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #DFDFDF; }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper > * {
        font-size: 0.9375rem; } }
    @media screen and (max-width: 39.9375em) {
      .ap-wrapper > * {
        border-left: 0;
        border-right: 0; } }
  .ap-wrapper h6, .ap-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .ap-wrapper .entry-title {
    margin: 0; }
    @media screen and (max-width: 39.9375em) {
      .ap-wrapper h6, .ap-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .ap-wrapper .entry-title {
        font-size: 1rem; } }
  .ap-wrapper a {
    color: var(--main-color);
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
    .ap-wrapper a:hover {
      color: #313941; }
  .ap-wrapper .ap-meta {
    padding: 1.4375rem; }
  .ap-wrapper .ap-funktion {
    font-weight: 600;
    color: rgba(49, 57, 65, 0.6); }
  .ap-wrapper .ap-contact {
    margin-top: 0.9375rem; }
  .ap-wrapper .is-ansprechpartner {
    margin-bottom: 16px; }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper .is-ansprechpartner {
        margin-bottom: 16px; } }
    .ap-wrapper .is-ansprechpartner .ap-thumb {
      -webkit-flex: 0 0 7.5rem;
          -ms-flex: 0 0 7.5rem;
              flex: 0 0 7.5rem; }
  @media screen and (max-width: 39.9375em) {
    .ap-wrapper .is-institutionen {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      text-align: center; }
      .ap-wrapper .is-institutionen h6, .ap-wrapper .is-institutionen .archiv-view .results-item .entry-title, .archiv-view .results-item .ap-wrapper .is-institutionen .entry-title {
        margin-bottom: 8px; } }
  .ap-wrapper .is-institutionen:not(:first-of-type) {
    border-top: 0; }
  .ap-wrapper .is-institutionen .ap-thumb {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 11.25rem;
    width: 100%;
    margin-left: auto;
    padding-top: 1.4375rem; }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper .is-institutionen .ap-thumb {
        width: auto;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        padding-right: 1.4375rem;
        padding-top: 0; } }
  .ap-wrapper .is-institutionen .ap-webmail {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 39.9375em) {
      .ap-wrapper .is-institutionen .ap-webmail {
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-top: 8px; }
        .ap-wrapper .is-institutionen .ap-webmail a {
          padding: 0 0.625rem; } }
    @media print, screen and (min-width: 40em) {
      .ap-wrapper .is-institutionen .ap-webmail > * {
        margin-right: 1.25rem; } }

.flexible-childpages-wrapper .card-wrapper {
  grid-auto-rows: 1fr;
  -ms-grid-columns: (1fr)[1];
      grid-template-columns: repeat(1, 1fr);
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 39.9375em) {
    .flexible-childpages-wrapper .card-wrapper {
      grid-gap: 0.0625rem; } }
  @media print, screen and (min-width: 40em) {
    .flexible-childpages-wrapper .card-wrapper {
      -ms-grid-columns: (1fr)[2];
          grid-template-columns: repeat(2, 1fr); } }

.flexible-childpages-wrapper a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 3.625rem;
  height: 100%;
  background: rgba(181, 180, 168, 0.1);
  color: #313941; }
  .flexible-childpages-wrapper a > * {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
  .flexible-childpages-wrapper a:hover h6, .flexible-childpages-wrapper a:hover .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper a:hover .entry-title {
    margin-left: 10px; }
  .flexible-childpages-wrapper a:hover span {
    background: var(--main-color);
    color: #FFFFFF; }

.flexible-childpages-wrapper .kachel-no-image > * {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.flexible-childpages-wrapper .kachel-no-image h6, .flexible-childpages-wrapper .kachel-no-image .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper .kachel-no-image .entry-title {
  padding: 0.3125rem 1.25rem;
  margin-bottom: 0;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  transition: all 0.4s ease;
  font-size: 1.0625rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto; }
  @media screen and (max-width: 39.9375em) {
    .flexible-childpages-wrapper .kachel-no-image h6, .flexible-childpages-wrapper .kachel-no-image .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper .kachel-no-image .entry-title {
      font-size: 1rem; } }
  @media print, screen and (min-width: 40em) {
    .flexible-childpages-wrapper .kachel-no-image h6, .flexible-childpages-wrapper .kachel-no-image .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-childpages-wrapper .kachel-no-image .entry-title {
      padding: 0.3125rem 1.875rem; } }

.flexible-childpages-wrapper .kachel-no-image span {
  color: var(--main-color);
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(181, 180, 168, 0.1);
  width: 3.625rem;
  height: 3.625rem;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  transition: background-color 0.2s ease; }

.flexible-infobox-wrapper {
  border: 1px solid #DFDFDF; }
  .flexible-infobox-wrapper header, .flexible-infobox-wrapper header > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .flexible-infobox-wrapper i {
    width: 2rem;
    background: var(--main-color);
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    font-style: normal;
    color: #FFFFFF;
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  .flexible-infobox-wrapper h5 {
    width: 100%;
    background: #313941;
    color: #FFFFFF;
    font-size: 1rem;
    padding: 0.375rem 0.9375rem;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .flexible-infobox-wrapper h5 {
        font-size: 1.0625rem; } }
  .flexible-infobox-wrapper div {
    font-family: 'open_sansregular';
    padding: 16px;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      .flexible-infobox-wrapper div {
        padding: 32px; } }
  .flexible-infobox-wrapper a {
    font-family: 'open_sansbold';
    color: var(--main-color);
    transition: color 0.2s ease; }
    .flexible-infobox-wrapper a:hover {
      color: #313941; }

.flexible-txtimg-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .flexible-txtimg-wrapper > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-bottom: 16px; }
    @media print, screen and (min-width: 40em) {
      .flexible-txtimg-wrapper > * {
        margin-bottom: 16px;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .flexible-txtimg-wrapper a h4 {
    transition: color 0.2s ease; }
  .flexible-txtimg-wrapper a article {
    color: #313941; }
  .flexible-txtimg-wrapper a:hover h4 {
    color: #313941; }
  .flexible-txtimg-wrapper a:hover span {
    background-color: #313941; }
  .flexible-txtimg-wrapper .img-outer-wrapper {
    text-align: center; }
  .flexible-txtimg-wrapper .img-inner-wrapper {
    min-width: 14.375rem;
    position: relative;
    padding-top: 0.5rem; }
    .flexible-txtimg-wrapper .img-inner-wrapper.smaller {
      min-width: 7.8125rem; }
  .flexible-txtimg-wrapper .inner-wrapper {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 16px;
    font-size: 0.875rem;
    font-family: 'open_sansregular'; }
    .flexible-txtimg-wrapper .inner-wrapper.center {
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .flexible-txtimg-wrapper .inner-wrapper {
        padding-left: 48px;
        margin-top: 0; } }
    .flexible-txtimg-wrapper .inner-wrapper h4 {
      color: var(--main-color); }
    .flexible-txtimg-wrapper .inner-wrapper .button, .flexible-txtimg-wrapper .inner-wrapper .gform_wrapper .gform_footer input.button[type=submit], .gform_wrapper .gform_footer .flexible-txtimg-wrapper .inner-wrapper input.button[type=submit],
    .flexible-txtimg-wrapper .inner-wrapper .gform_wrapper .gform_button, .gform_wrapper .flexible-txtimg-wrapper .inner-wrapper .gform_button {
      font-family: "poppinsmedium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
      margin-top: 16px;
      margin-left: auto;
      margin-bottom: 0;
      text-transform: uppercase; }

.gform_wrapper {
  background: rgba(49, 57, 65, 0.05);
  padding: 16px; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper {
      padding: 32px; } }
  .gform_wrapper h3.gform_title, .gform_wrapper .gform_title.char-wrapper:before {
    color: var(--main-color); }
  .gform_wrapper input, .gform_wrapper textarea {
    background: #FFFFFF;
    border: 1px solid #313941;
    border-radius: 0;
    transition: all 0.5s ease; }
    .gform_wrapper input:focus, .gform_wrapper textarea:focus {
      background: rgba(255, 255, 255, 0.7);
      border: 1px solid var(--main-color); }
  .gform_wrapper ul.left_label input.medium {
    width: 100%; }
  .gform_wrapper .gform_body ul li.gfield {
    margin-top: 0; }
  .gform_wrapper .gform_footer input.button[type=submit],
  .gform_wrapper .gform_footer input.gform_button[type=submit],
  .gform_wrapper .gform_button {
    width: auto;
    margin: auto; }
    .gform_wrapper .gform_footer input.button[type=submit]:hover,
    .gform_wrapper .gform_footer input.gform_button[type=submit]:hover,
    .gform_wrapper .gform_button:hover {
      background-color: #FFFFFF;
      color: var(--main-color); }
  .gform_wrapper .gform_footer {
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .gform_wrapper .gform_footer {
        text-align: right; } }

.flexible-form-wrapper .gform_wrapper div.validation_error {
  color: #cc4b37;
  border-top: 2px solid #cc4b37;
  border-bottom: 2px solid #cc4b37; }

.flexible-form-wrapper .gform_wrapper li.gfield.gfield_error {
  border-top: 1px solid #cc4b37;
  border-bottom: 1px solid #cc4b37;
  background: transparent; }
  .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error .gfield_label, .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error .gfield_description {
    color: #cc4b37; }
  .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']),
  .flexible-form-wrapper .gform_wrapper li.gfield.gfield_error textarea {
    border: 1px solid #cc4b37; }

.flexible-form-wrapper .gform_confirmation_message {
  padding: 16px;
  background: #6EB533;
  color: #FFFFFF;
  font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.flexible-tax-downloads-wrapper .cell.result-wrapper {
  width: calc(93.75% - 2rem);
  margin-right: 1rem;
  margin-left: 1rem; }
  @media print, screen and (min-width: 40em) {
    .flexible-tax-downloads-wrapper .cell.result-wrapper {
      margin-left: 0; } }

.flexible-tax-downloads-wrapper .filter-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1.25rem 0; }
  @media screen and (max-width: 39.9375em) {
    .flexible-tax-downloads-wrapper .filter-wrapper {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .flexible-tax-downloads-wrapper .filter-wrapper > * {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 39.9375em) {
      .flexible-tax-downloads-wrapper .filter-wrapper > * {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }

@media print, screen and (min-width: 40em) {
  .flexible-tax-downloads-wrapper .filter-typ-wrapper {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; } }

@media screen and (max-width: 39.9375em) {
  .flexible-tax-downloads-wrapper .filter-typ-wrapper label {
    margin-bottom: 8px; } }

.flexible-tax-downloads-wrapper .filter-search-wrapper {
  max-width: 10.9375rem; }
  @media screen and (max-width: 39.9375em) {
    .flexible-tax-downloads-wrapper .filter-search-wrapper {
      margin-top: 16px; } }

.flexible-tax-downloads-wrapper input[type='text'] {
  display: inline-block;
  border-radius: 125rem;
  box-shadow: none;
  background: #FFFFFF;
  height: 1.875rem;
  border: 1px solid #DFDFDF;
  padding: 0.1875rem 0.625rem 0.1875rem 1.875rem;
  font-size: 0.875rem;
  background: url("data:image/svg+xml,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.733 10.428L9.26 7.955c.596-.861.894-1.82.894-2.878 0-.687-.133-1.345-.4-1.972a5.074 5.074 0 0 0-1.082-1.623A5.075 5.075 0 0 0 7.049.4 4.99 4.99 0 0 0 5.077 0C4.39 0 3.732.133 3.105.4a5.075 5.075 0 0 0-1.623 1.082A5.076 5.076 0 0 0 .4 3.105 4.989 4.989 0 0 0 0 5.077c0 .688.133 1.345.4 1.972a5.074 5.074 0 0 0 1.082 1.623c.454.454.995.815 1.623 1.082a4.99 4.99 0 0 0 1.972.4 4.94 4.94 0 0 0 2.877-.894l2.474 2.466c.173.183.39.274.649.274.25 0 .466-.091.649-.274a.887.887 0 0 0 .274-.649.883.883 0 0 0-.267-.649zM7.12 7.119A2.889 2.889 0 0 1 5 8a2.89 2.89 0 0 1-2.118-.88A2.889 2.889 0 0 1 2 5c0-.826.294-1.532.88-2.12A2.889 2.889 0 0 1 5 2a2.89 2.89 0 0 1 2.12.88C7.705 3.469 8 4.175 8 5a2.89 2.89 0 0 1-.88 2.12z' fill='%23999999' fill-rule='nonzero'/%3E%3C/svg%3E") left 10px center no-repeat; }
  .flexible-tax-downloads-wrapper input[type='text']:focus {
    border: 1px solid var(--main-color); }
  @media print, screen and (min-width: 40em) {
    .flexible-tax-downloads-wrapper input[type='text'] {
      padding: 0 0.625rem 0 1.875rem; } }

.flexible-tax-downloads-wrapper select {
  line-height: 1;
  height: 2.1875rem;
  -webkit-appearance: none;
          appearance: none;
  border: none;
  border-radius: 6.25rem;
  color: #FFFFFF;
  background: var(--main-color) url("data:image/svg+xml,%3Csvg width='11' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.547 0L5.5 4.115 1.453 0 0 1.478l5.5 5.593L11 1.478 9.547 0' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E") right 10px center no-repeat;
  margin-bottom: 0;
  width: auto;
  font-size: 0.75rem;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.flexible-tax-downloads-wrapper label {
  color: rgba(49, 57, 65, 0.6);
  font-size: 0.875rem;
  font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal;
  margin-right: 0.625rem; }

.downloads-table {
  border-top: 1px solid #DFDFDF;
  border-bottom: 1px solid #DFDFDF; }
  @media print, screen and (min-width: 40em) {
    .downloads-table {
      border: 1px solid #DFDFDF; } }
  .downloads-table h3, .downloads-table .char-wrapper:before {
    margin: 0; }
    @media screen and (max-width: 39.9375em) {
      .downloads-table h3, .downloads-table .char-wrapper:before {
        padding: 4px; } }
  .downloads-table a {
    font-family: 'poppinsbold', "Arial", "Helvetica Neue", sans-serif;
    font-weight: normal;
    font-size: 0.875rem;
    padding: 0.5625rem 0;
    line-height: 1.3;
    transition: all 0.2s ease;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .downloads-table a:nth-child(odd) {
      background: rgba(223, 223, 223, 0.2); }
    .downloads-table a:hover {
      background: var(--main-color); }
      .downloads-table a:hover, .downloads-table a:hover .col-title, .downloads-table a:hover .desc {
        color: #FFFFFF; }
    .downloads-table a > * {
      padding: 0 1.25rem; }
    .downloads-table a .col-title {
      color: var(--main-color); }
    .downloads-table a .col-cat {
      font-size: 0.8125rem;
      font-family: 'poppinssemibold', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal;
      color: #313941; }
      @media screen and (max-width: 39.9375em) {
        .downloads-table a .col-cat {
          margin-top: 0.3125rem;
          text-align: right; } }
    .downloads-table a .desc {
      margin-top: 0.625rem;
      color: rgba(49, 57, 65, 0.7);
      font-size: 0.875rem;
      font-family: 'poppinsregular', "Arial", "Helvetica Neue", sans-serif;
      font-weight: normal; }

.downloads-header {
  margin-bottom: 8px; }

.flexible-content.downloads-wrapper a:hover {
  border-radius: 0.1875rem; }
  .flexible-content.downloads-wrapper a:hover .grid-x {
    background: #10516b; }

body .flexible-content.flexible-galerie-wrapper {
  margin-bottom: 0; }
  body .flexible-content.flexible-galerie-wrapper ul {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
    list-style-type: none; }
    @media print, screen and (min-width: 40em) {
      body .flexible-content.flexible-galerie-wrapper ul {
        margin-left: -8px;
        margin-right: -8px; } }
  body .flexible-content.flexible-galerie-wrapper li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    body .flexible-content.flexible-galerie-wrapper li:not(:last-child) {
      margin-bottom: 16px; }
    @media print, screen and (min-width: 40em) {
      body .flexible-content.flexible-galerie-wrapper li {
        width: 50%;
        padding: 8px; }
        body .flexible-content.flexible-galerie-wrapper li:not(:last-child) {
          margin-bottom: 0; } }
    @media screen and (min-width: 50em) {
      body .flexible-content.flexible-galerie-wrapper li {
        width: 33.33%; } }
    body .flexible-content.flexible-galerie-wrapper li.grow {
      -webkit-flex-grow: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      width: 100%; }
  body .flexible-content.flexible-galerie-wrapper img {
    display: block; }
  body .flexible-content.flexible-galerie-wrapper a:hover figcaption {
    opacity: 1; }

.flexible-zwischentitel-wrapper h4, .flexible-zwischentitel-wrapper h5, .flexible-zwischentitel-wrapper h6, .flexible-zwischentitel-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-zwischentitel-wrapper .entry-title {
  margin-bottom: 16px; }

.flexible-zwischentitel-wrapper h4 {
  font-family: 'poppinsblack', "Arial", "Helvetica Neue", sans-serif;
  font-weight: normal; }

.flexible-zwischentitel-wrapper h1, .flexible-zwischentitel-wrapper #contact-overlay .contact_title, #contact-overlay .flexible-zwischentitel-wrapper .contact_title, .flexible-zwischentitel-wrapper #contact-overlay .large_tel, #contact-overlay .flexible-zwischentitel-wrapper .large_tel, .flexible-zwischentitel-wrapper #contact-overlay .large_email, #contact-overlay .flexible-zwischentitel-wrapper .large_email, .flexible-zwischentitel-wrapper #contact-overlay .large_address, #contact-overlay .flexible-zwischentitel-wrapper .large_address {
  line-height: 1.2; }

.flexible-zwischentitel-wrapper h2, .flexible-zwischentitel-wrapper h3, .flexible-zwischentitel-wrapper .char-wrapper:before, .flexible-zwischentitel-wrapper h5 {
  line-height: 1.3; }

.flexible-zwischentitel-wrapper h4, .flexible-zwischentitel-wrapper h6, .flexible-zwischentitel-wrapper .archiv-view .results-item .entry-title, .archiv-view .results-item .flexible-zwischentitel-wrapper .entry-title {
  line-height: 1.4; }

@media print, screen and (min-width: 40em) {
  .flexible-zwischentitel-wrapper h4 {
    line-height: 1.3; } }

.spacer {
  height: 1px; }
  .spacer.small-none {
    margin-bottom: 0; }
  .spacer.small-half {
    margin-bottom: 16px; }
  .spacer.small-normal {
    margin-bottom: 32px; }
  .spacer.small-double {
    margin-bottom: 64px; }
  .spacer.small-triple {
    margin-bottom: 96px; }
  .spacer.small-quad {
    margin-bottom: 128px; }
  @media print, screen and (min-width: 40em) {
    .spacer.medium-none {
      margin-bottom: 0; }
    .spacer.medium-half {
      margin-bottom: 8px; }
    .spacer.medium-normal {
      margin-bottom: 16px; }
    .spacer.medium-double {
      margin-bottom: 32px; }
    .spacer.medium-triple {
      margin-bottom: 48px; }
    .spacer.medium-quad {
      margin-bottom: 64px; } }
  @media screen and (min-width: 64em) {
    .spacer.large-none {
      margin-bottom: 0; }
    .spacer.large-half {
      margin-bottom: 16px; }
    .spacer.large-normal {
      margin-bottom: 32px; }
    .spacer.large-double {
      margin-bottom: 64px; }
    .spacer.large-triple {
      margin-bottom: 96px; }
    .spacer.large-quad {
      margin-bottom: 128px; } }

.show-for-small {
  display: block; }
  @media screen and (min-width: 50em) {
    .show-for-small {
      display: none; } }

.show-for-large {
  display: none; }
  @media screen and (min-width: 50em) {
    .show-for-large {
      display: block; } }

/* Lazyloading via Lazysizes */
/* fade image in after load */
/* Spinner check http://samherbert.net/svg-loaders/ */
.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity 600ms; }

img.lazyload:not([src]) {
  visibility: hidden; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fZm9udHMuc2NzcyIsIm1vZHVsZXMvX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwibW9kdWxlcy9fcGFnaW5hdGlvbi5zY3NzIiwibW9kdWxlcy9fY29udGFjdC1vdmVybGF5LnNjc3MiLCJtb2R1bGVzL19jYXJkcy5zY3NzIiwibW9kdWxlcy9fYWNjb3JkaW9uLnNjc3MiLCJtb2R1bGVzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJtb2R1bGVzL190b3BiYXIuc2NzcyIsIm1vZHVsZXMvX3NlcnZpY2VuYXYuc2NzcyIsIm1vZHVsZXMvX2FubGllZ2VuLnNjc3MiLCJtb2R1bGVzL19wYXJ0bmVyLnNjc3MiLCJtb2R1bGVzL19tYWdhemluLnNjc3MiLCJtb2R1bGVzL19zZWFyY2guc2NzcyIsIm1vZHVsZXMvX2lucHV0LWdyb3VwLnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19pbmZvYm94LnNjc3MiLCJtb2R1bGVzL19mYW5jeWJveC5zY3NzIiwibW9kdWxlcy9fcGF0Y2guc2NzcyIsIm1vZHVsZXMvXzItY2xpY2stZW1iZWQuc2NzcyIsIm1vZHVsZXMvX29yZ2FuaWdyYW1tLnNjc3MiLCJ0ZW1wbGF0ZXMvX3Nob3Auc2NzcyIsInRlbXBsYXRlcy9fYXJjaGl2ZS5zY3NzIiwidGVtcGxhdGVzL19zaW5nbGUuc2NzcyIsImxpYnJhcnkvX3ByaW50LnNjc3MiLCJsaWJyYXJ5L19wbGFjZWhvbGRlci5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL19mcm9udHBhZ2Uuc2NzcyIsImJsb2Nrcy9faWZyYW1lLnNjc3MiLCJibG9ja3MvX2xpbmtzLnNjc3MiLCJibG9ja3MvX2VkaXRvci5zY3NzIiwiYmxvY2tzL19mdWxsd2lkdGguc2NzcyIsImJsb2Nrcy9fZG93bmxvYWRzLnNjc3MiLCJibG9ja3MvX2hhbGZ3aWR0aC5zY3NzIiwiYmxvY2tzL190aGlyZHdpZHRoLnNjc3MiLCJibG9ja3MvX2Fuc3ByZWNocGFydG5lci5zY3NzIiwiYmxvY2tzL19jaGlsZHBhZ2VzLnNjc3MiLCJibG9ja3MvX2luZm9ib3guc2NzcyIsImJsb2Nrcy9fdHh0aW1nLnNjc3MiLCJibG9ja3MvX2Zvcm1zLnNjc3MiLCJibG9ja3MvX3RheC1kb3dubG9hZHMuc2NzcyIsImJsb2Nrcy9fZ2FsZXJpZS5zY3NzIiwiYmxvY2tzL196d2lzY2hlbnRpdGVsLnNjc3MiLCJibG9ja3MvX3NwYWNlci5zY3NzIiwiYmxvY2tzL19vcmdhbmlncmFtbS5zY3NzIiwibW9kdWxlcy9fbGF6eWxvYWQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQUVIO0VBQ0Usd0JDMUN1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RzhDQztJSDVESjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRyxFQUFBO0VHbURDO0lIakVKO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBZEg7TUl6QkUsWUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsWUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQWRIO01JekJFLFlBQW1CLEVKMkJwQjtJQUVEO01JekJFLFlBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxZQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxZQUFtQixFSjJCcEI7SUFNQztNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx3QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsd0JBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHdCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HLEVBQUE7O0FBOENIO0VDbklNLHVCQUE0QjtFQUE1QixzQkFBNEIsRUR3SS9CO0VHTEM7SUhBSjtNQ25JTSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEd0kvQixFQUFBO0VHQUM7SUhMSjtNQ25JTSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEd0kvQixFQUFBOztBQUlEO0VDNUlJLHVCQUE0QjtFQUE1QixzQkFBNEIsRUQ4SS9CO0VHWEM7SUhTRjtNQzVJSSxzQkFBNEI7TUFBNUIscUJBQTRCLEVEOEkvQixFQUFBO0VHTkM7SUhJRjtNQzVJSSxvQkFBNEI7TUFBNUIsbUJBQTRCLEVEOEkvQixFQUFBOztBQVhIO0VDbklNLHVCQUE0QjtFQUE1QixzQkFBNEIsRURtSi9CO0VHaEJDO0lIQUo7TUNuSU0sc0JBQTRCO01BQTVCLHFCQUE0QixFRG1KL0IsRUFBQTtFR1hDO0lITEo7TUNuSU0sb0JBQTRCO01BQTVCLG1CQUE0QixFRG1KL0IsRUFBQTs7QUt0Skg7RUR5REUsWUFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLFdBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxXQURvRCxFQ3REckQ7O0FBRkQ7RUR5REUsaUJBRG9ELEVDdERyRDs7QUFGRDtFRHlERSxpQkFEb0QsRUN0RHJEOztBQUZEO0VEeURFLGFBRG9ELEVDdERyRDs7QUZvSUc7RUV0SUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLFlBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGFBRG9ELEVDdERyRCxFQUFBOztBRnlJRztFRTNJSjtJRHlERSxZQURvRCxFQ3REckQ7RUFGRDtJRHlERSxXQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxhQURvRCxFQ3REckQsRUFBQTs7QUZ5SUc7RUUzSUo7SUR5REUsWUFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsV0FEb0QsRUN0RHJEO0VBRkQ7SUR5REUsaUJBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLFdBRG9ELEVDdERyRDtFQUZEO0lEeURFLGlCQURvRCxFQ3REckQ7RUFGRDtJRHlERSxpQkFEb0QsRUN0RHJEO0VBRkQ7SUR5REUsYUFEb0QsRUN0RHJELEVBQUE7O0FBRkQ7RUR5REUsMkJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsMEJBRGdILEVDdERqSDs7QUFGRDtFRHlERSwwQkFEZ0gsRUN0RGpIOztBQUZEO0VEeURFLGdDQURnSCxFQ3REakg7O0FBRkQ7RUR5REUsZ0NBRGdILEVDdERqSDs7QUFGRDtFRHlERSw0QkFEZ0gsRUN0RGpIOztBRm9JRztFRXRJSjtJRHlERSwyQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHlCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLHlCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSwwQkFEZ0gsRUN0RGpILEVBQUE7O0FGeUlHO0VFM0lKO0lEeURFLDJCQURnSCxFQ3REakg7RUFGRDtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDBCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSDtFQUZEO0lEeURFLHdCQURnSCxFQ3REakg7RUFGRDtJRHlERSxnQ0FEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsOEJBRGdILEVDdERqSDtFQUZEO0lEeURFLGdDQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsNEJBRGdILEVDdERqSDtFQUZEO0lEeURFLDBCQURnSCxFQ3REakg7RUFGRDtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBRnlJRztFRTNJSjtJRHlERSx5QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSx3QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsd0JBRGdILEVDdERqSDtFQUZEO0lEeURFLDhCQURnSCxFQ3REakg7RUFGRDtJRHlERSw4QkFEZ0gsRUN0RGpIO0VBRkQ7SUR5REUsMEJBRGdILEVDdERqSCxFQUFBOztBTGdNRztFTXZNRSxnQkFBMEI7RUFBMUIsZUFBMEIsRU55TTNCO0VNdE1EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQztFSDhHUDtJR2hITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTtFSG1IUDtJR3JITTtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixXQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixhQURvRCxFRWhDM0M7SUFGRDtNRm1DUixjQURvRCxFRWhDM0M7SUFGRDtNRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QU5nTFA7RU10S0UsZ0JBQTBCO0VBQTFCLGVBQTBCLEVOd0szQjtFTXJLRDtJQUVJLGlCQUE0QjtJQUE1QixnQkFBNEIsRUFFL0I7O0FINkZEO0VINERBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QUhvSUQ7RUd6SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FIdUhQO0VHaEhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSDhHUDtFSGtFQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBSGtHRDtFSHVEQTtJTXZNRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU55TTNCO0lNdE1EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FIeUlEO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUg2REE7SU10S0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOd0szQjtJTXJLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QUhrR0Q7RUh1REE7SU12TUUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOeU0zQjtJTXRNRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBSHlJRDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFR3JITTtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixXQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixhQURvRCxFRWhDM0M7RUFGRDtJRm1DUixjQURvRCxFRWhDM0M7RUFGRDtJRm1DUixZQURvRCxFRWhDM0MsRUFBQTs7QUhtSFA7RUdySE07SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsV0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsYUFEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsY0FEb0QsRUVoQzNDO0VBRkQ7SUZtQ1IsWUFEb0QsRUVoQzNDLEVBQUE7O0FIbUhQO0VINkRBO0lNdEtFLGdCQUEwQjtJQUExQixlQUEwQixFTndLM0I7SU1yS0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FIa0dEO0VIdURBO0lNdk1FLGdCQUEwQjtJQUExQixlQUEwQixFTnlNM0I7SU10TUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QUh5SUQ7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHOUhNO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFdBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLGFBRG9ELEVFekMzQztFQUZEO0lGNENSLGNBRG9ELEVFekMzQztFQUZEO0lGNENSLFlBRG9ELEVFekMzQyxFQUFBOztBSDRIUDtFRzlITTtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixXQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixhQURvRCxFRXpDM0M7RUFGRDtJRjRDUixjQURvRCxFRXpDM0M7RUFGRDtJRjRDUixZQURvRCxFRXpDM0MsRUFBQTs7QUg0SFA7RUc5SE07SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsV0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsYUFEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsY0FEb0QsRUV6QzNDO0VBRkQ7SUY0Q1IsWUFEb0QsRUV6QzNDLEVBQUE7O0FINEhQO0VHckhNO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFdBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGFBRG9ELEVFaEMzQztFQUZEO0lGbUNSLGNBRG9ELEVFaEMzQztFQUZEO0lGbUNSLFlBRG9ELEVFaEMzQyxFQUFBOztBSG1IUDtFSDZEQTtJTXRLRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU53SzNCO0lNcktEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBTjZLRDtFTzFORixnQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGdDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsbUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixtQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG1CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsaUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixpQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG9CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsb0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixtQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG1DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsb0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixvQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLGlCQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsaUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsbUJBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixtQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG9CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsb0NBQTZCLEVQZ08xQjs7QUFORDtFTzFORixpQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLGlDQUE2QixFUGdPMUI7O0FBTkQ7RU8xTkYsb0JBQTZCLEVQNE4xQjs7QUFFRDtFTzlORixvQ0FBNkIsRVBnTzFCOztBQU5EO0VPMU5GLG1CQUE2QixFUDROMUI7O0FBRUQ7RU85TkYsbUNBQTZCLEVQZ08xQjs7QUFORDtFTzFORixvQkFBNkIsRVA0TjFCOztBQUVEO0VPOU5GLG9DQUE2QixFUGdPMUI7O0FHdEZEO0VIZ0ZBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiwrQkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiwrQkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixrQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGtDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsbUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLG1DQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsa0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixtQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiw2QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLDhCQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixpQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsOEJBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLGlCQUE2QixFUDROMUI7RUFFRDtJTzlORiw4QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGlDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCLEVBQUE7O0FHakZEO0VIMkVBO0lPMU5GLGdCQUE2QixFUDROMUI7RUFFRDtJTzlORiw2QkFBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsbUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLGdDQUE2QixFUGdPMUI7RUFORDtJTzFORixtQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsZ0NBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG9CQUE2QixFUDROMUI7RUFFRDtJTzlORixpQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsaUJBQTZCLEVQNE4xQjtFQUVEO0lPOU5GLDhCQUE2QixFUGdPMUI7RUFORDtJTzFORixvQkFBNkIsRVA0TjFCO0VBRUQ7SU85TkYsaUNBQTZCLEVQZ08xQjtFQU5EO0lPMU5GLG1CQUE2QixFUDROMUI7RUFFRDtJTzlORixnQ0FBNkIsRVBnTzFCO0VBTkQ7SU8xTkYsb0JBQTZCLEVQNE4xQjtFQUVEO0lP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QixFRDhIakMsRUFBQTtFR1VHO0lIekNKO01DL0ZNLGtCQUE0QjtNQUE1QixxQkFBNEIsRUQ4SGpDLEVBQUE7RUEvQkQ7SUlwREUsNEJBRDRFO0lIakMxRSxvQkFBNEI7SUFBNUIsdUJBQTRCLEVENEY3QjtFRzhCQztJSHBDSjtNSXBERSwwQkFENEU7TUhqQzFFLG1CQUE0QjtNQUE1QixzQkFBNEIsRURtR3pCLEVBQUE7RUc0Qkg7SUh6Q0o7TUlwREUsMEJBRDRFO01IakMxRSxpQkFBNEI7TUFBNUIsb0JBQTRCLEVEbUd6QixFQUFBO0VBckNQO0lJekJFLGFBQW1CLEVKMkJwQjtFQUVEO0lJekJFLGFBQW1CLEVKMkJwQjtFQU1DO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSwyQkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsMkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUc4Q0M7SUg1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFG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NEY3QjtFRzhCQztJSHBDSjtNSXBERSwwQkFENEU7TUhqQzFFLG1CQUE0QjtNQUE1QixzQkFBNEIsRURtR3pCLEVBQUE7RUc0Qkg7SUh6Q0o7TUlwREUsMEJBRDRFO01IakMxRSxpQkFBNEI7TUFBNUIsb0JBQTRCLEVEbUd6QixFQUFBO0VBckNQO0lJekJFLGFBQW1CLEVKMkJwQjtFQUVEO0lJekJFLGFBQW1CLEVKMkJwQjtFQU1DO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDJCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsNkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSwyQkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDZCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw4QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsMkJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDhCQURnSCxFSmdDL0c7RUFGRDtJSTdCQSw2QkFEZ0gsRUpnQy9HO0VBRkQ7SUk3QkEsOEJBRGdILEVKZ0MvRztFQUZEO0lJN0JBLDRCQURnSCxFSmdDL0c7RUc4Q0M7SUg1REo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0csRUFBQTtFR21EQztJSGpFSjtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRztJQWRIO01JekJFLGFBQW1CLEVKMkJwQjtJQUVEO01JekJFLGFBQW1CLEVKMkJwQjtJQU1DO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDBCQURnSCxFSmdDL0c7SUFkSDtNSXpCRSxhQUFtQixFSjJCcEI7SUFFRDtNSXpCRSxhQUFtQixFSjJCcEI7SUFNQztNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwwQkFEZ0gsRUpnQy9HLEVBQUE7RUdtREM7SUhqRUo7TUl6QkUsYUFBbUIsRUoyQnBCO0lBRUQ7TUl6QkUsYUFBbUIsRUoyQnBCO0lBTUM7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEseUJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSwyQkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLHlCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMkJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDRCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSx5QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsNEJBRGdILEVKZ0MvRztJQUZEO01JN0JBLDJCQURnSCxFSmdDL0c7SUFGRDtNSTdCQSw0QkFEZ0gsRUpnQy9HO0lBRkQ7TUk3QkEsMEJBRGdILEVKZ0MvRyxFQUFBOztBQXlTRDtFUTNYSSw2QkFBbUMsRVI2WHRDO0VHN1BDO0lIMlBGO01RM1hJLDJCQUFtQyxFUjZYdEMsRUFBQTtFR3hQQztJSHNQRjtNUTNYSSwyQkFBbUMsRVI2WHRDLEVBQUE7RUd4UEM7SUhzUEY7TVEzWEksMkJBQW1DLEVSNlh0QyxFQUFBO0VHeFBDO0lIc1BGO01RM1hJLDJCQUFtQyxFUjZYdEMsRUFBQTs7QUc3UEM7RUgrUEE7SVEvWEUsMkJBQW1DLEVSaVlwQyxFQUFBOztBRzVQRDtFSDBQQTtJUS9YRSwyQkFBbUMsRVJpWXBDLEVBQUE7O0FHNVBEO0VIMFBBO0lRL1hFLDJCQUFtQyxFUmlZcEMsRUFBQTs7QUc1UEQ7RUgwUEE7SVEvWEUsMkJBQW1DLEVSaVlwQyxFQUFBOztBU3JLTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CWi9FMEI7RVlpRjFCLG1CQUFrQjtFQUNsQixpQlpuRnNCO0VZb0Z0QixtQ1psRnlDLEVZbUYxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWnZLcUI7RVl3S3JCLHFCQUFvQixFQUNyQjs7QWhCZ0RDO0VnQjVDQSxlWnpHaUI7RVkwR2pCLHFCQUFvQixFQUNyQjs7QWhCek1DOzs7Ozs7OztFZ0JrTkEsMkJaOUk4QjtFWStJOUIsbUJaN0lzQjtFWThJdEIsb0JaL0l1QjtFWWdKdkIsZVo3SWtCO0VZOElsQixtQ1p6SHNDLEVZK0h2QztFQWhCRDs7Ozs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVp2TlEsRVl3TlQ7O0FoQjNORDtFZ0J1T1EsbUJYdlA2QztFV21RN0MsaUJaMUtXO0VZa0xYLGNBQWE7RUFPYixzQlp4TGlCLEVZMExwQjs7QUFqQ0Q7RUFJSSxxQlh2UDZDO0VXbVE3QyxpQloxS1c7RVlrTFgsY0FBYTtFQU9iLHNCWnhMaUIsRVkwTHBCOzs7QUFwR1A7O0VBdUVVLG1CWHZQNkM7RVdtUTdDLGlCWjFLVztFWWtMWCxjQUFhO0VBT2Isc0JaeExpQixFWTBMcEI7O0FBakNEO0VBSUkscUJYdlA2QztFV21RN0MsaUJaMUtXO0VZa0xYLGNBQWE7RUFPYixzQlp4TGlCLEVZMExwQjs7QUFqQ0Q7RUFJSSxxQlh2UDZDO0VXbVE3QyxpQloxS1c7RVlrTFgsY0FBYTtFQU9iLHNCWnhMaUIsRVkwTHBCOzs7QUFqR1A7O0VBb0VVLGdCWHZQNkM7RVdtUTdDLGlCWjFLVztFWWtMWCxjQUFhO0VBT2Isc0JaeExpQixFWTBMcEI7O0FOcE1IO0VWaEVGO0lnQnVPUSxnQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEOztFQXBHUDs7SUF1RVUscUJYdlA2QyxFV29SaEQ7RUFqQ0Q7SUFJSSxxQlh2UDZDLEVXb1JoRDtFQWpDRDtJQUlJLG9CWHZQNkMsRVdvUmhEOztFQWpHUDs7SUFvRVUscUJYdlA2QyxFV29SaEQsRUFBQTs7QWhCbkdMO0VnQjBHQSxxQkFBb0I7RUFDcEIsZVp2UmM7RVl3UmQsc0JabEt5QjtFWW9LekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWnpLMkQsRVk2SzVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBaEJ2S0Q7RWdCNEtBLFlBQVc7RUFFWCxpQlhsVHFEO0VXbVRyRCxVQUFTO0VBQ1QscUJackx5QjtFWXVMekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNaclNVO0VZc1NWLGVBQWMsRUFDZjs7QUFHRDs7O0VBR0Usb0JaL00wQjtFWWdOMUIsNkJaOUx5QjtFWStMekIsaUJabE5zQixFWW1OdkI7O0FBR0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBR0Q7RUFDRSxxQlp4TXNCO0VZeU10QixzQlozTWtCLEVZNE1uQjs7QUFHRDtFQUNFLHFCWjlNc0IsRVkrTXZCOztBQUdEO0VBRUkscUJabk4yQjtFWW9OM0IsaUJBQWdCLEVBQ2pCOztBQUlIO0VBQ0Usb0Jaek55QixFWStOMUI7RUFQRDtJQUlJLHNCWjFOOEI7SVkyTjlCLGtCWnpUbUIsRVkwVHBCOztBQUlIO0VBQ0UsaUJaeFAwQjtFWXlQMUIsdUNYMVdxRDtFVzJXckQsK0JaeFZVLEVZOFZYO0VBVEQ7SUFNSSxpQlo5UG9CO0lZK1BwQixlWjFXWSxFWTJXYjs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQlh0WHFEO0VXdVhyRCxlWmxYYyxFWXVYZjtFQVJEO0lBTUksY1o1TzZCLEVBQUE7O0FZaVBqQztFQUNFLGtDWnpXVztFWTBXWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBaEI3UUM7RWdCaVJBLFVBQVMsRUFDVjs7QUFHRDtFQUNFLHNDWDVZcUQ7RVc4WXJELDBCWjNYVTtFWTRYViwwQlo1WFU7RVk4WFYsNkRaMVRtRTtFWTJUbkUsb0Jaeld5QjtFWTBXekIsZVo1WFcsRVk2WFo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJYcFpTO0VXc1pULDBCWnhZVTtFWTBZViw2RFp0VW1FO0VZdVVuRSxlWnZZVztFWTBZVCx5QlhqYW1ELEVXbWF0RDs7QUM1Y0Q7RUFDRSxtQmJzTXlCO0Vhck16QixzQmJzTTRCO0VhcE01QixvQmI4RXlCO0VhN0V6QixpQmIrTHNCO0VhOUx0QixlYndDYyxFYXZDZjs7QUFHRDtFQUNFLGdCYnVMcUM7RWF0THJDLGlCYnVMaUIsRWF0TGxCOztBQUdEO0VBQ0Usa0Jid0xtQjtFYXZMbkIsZUFBYyxFQUtmO0VBSEM7SUFDRSxrQkFBaUIsRUFDbEI7O0FBR0g7RUFHSSxlQUFnQztFQUNoQyxpQkFBZ0IsRUFDakI7O0FDL0RLO0VBQ0UsaUJBUmUsRUFTaEI7O0FBRkQ7RUFDRSxrQkFSc0IsRUFTdkI7O0FBRkQ7RUFDRSxtQkFSOEIsRUFTL0I7O0FBRkQ7RUFDRSxvQkFSdUMsRUFTeEM7O0FSbUpMO0VRMUpJO0lBQ0UsaUJBSGUsRUFJaEI7RUFGRDtJQUNFLGtCQUhz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aEIzUUUsRWdCNFFIO0VBeEdYOztJQWdISSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWdDLEVBQ2pDOztBQUVIOzs7RUFHSSxzQkFBcUIsRUFDdEI7O0F0QjZuSUw7O0V1QnA2SUUsZUFBYztFQUNkLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsa0JBTHNKO0VBTXRKLGlCaEJIdUQ7RWdCSXZELGdCakJvWStCO0VpQmxZL0IsMEJqQmFZO0VpQlpaLHlCaEJQdUQ7RWdCUXZELDBCakJnQmE7RWlCZmIsNkNqQmNhO0VpQlpiLHFCakJvWHlCO0VpQm5YekIsZ0JoQlp1RDtFZ0JhdkQsb0JqQjRCMkI7RWlCM0IzQixpQmpCWHFCO0VpQllyQixlakJRYTtFaUJMWCw0RGpCMFg4RDtFaUJyVzlELHlCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7RXZCODRJRDs7SXVCLzVJRSxjQUFhO0lBQ2IsMEJqQm5CYztJaUJvQmQsMEJqQkRXO0lpQkVYLDRCakJQVTtJaUJVUiw0RGpCK1c0RCxFaUI3Vy9EOztBckJxZEM7RXFCeGNBLGdCQUFlLEVBS2hCO0VBTkQ7SUFJSSxhQUFZLEVBQ2I7O0FBR0g7O0VBSUksZWpCcENRLEVpQnFDVDs7QUFMSDs7RUFJSSxlakJwQ1EsRWlCcUNUOztBQUxIOztFQUlJLGVqQnBDUSxFaUJxQ1Q7O0FBTEg7OztFQVVJLDBCakIxQ1E7RWlCMkNSLG9CakI2VTZCLEVpQjVVOUI7O0F2Qjg0SUw7O0V1Qng0SUkseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQix5QmhCdEVxRCxFZ0J1RXREOztBQUdEO0VBQ0UsdUJBQXNCLEVBQ3ZCOztBdkJ5NElIOzs7RXdCamlKSSxpQmpCNEVxRCxFaUIzRXREOztBeEJxaUpIOztFd0JoaUpJLHNCQUFxQjtFQUNyQix5QkFBd0I7RUFFeEIsb0JBQWtEO0VBQ2xELG1CakJrRXFEO0VpQmpFckQsaUJBQWdCLEVBS2pCO0V4QjZoSkQ7O0l3Qi9oSkksZ0JBQWUsRUFDaEI7O0FBSUg7O0VBRUUscUJBQW1ELEVBQ3BEOztBeEIraEpIO0V3QjNoSkksWUFBVyxFQUNaOztB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LHFCQXpEa0IsRURzRmY7O0FBTkQ7RUN2Q0YsNEJBeENnQjtNQXdDaEIsdUJBeENnQjtVQXdDaEIsb0JBeENnQixFRGlGYjs7QUFFRDtFQzNCRiwyQkF4RGdCO01Bd0RoQiw0QkF4RGdCO2NBd0RoQiwyQkF4RGdCO1VBd0RoQixtQkF4RGdCLEVEcUZiOztBQU5EO0VDdkNGLDZCQXZDa0I7TUF1Q2xCLHdCQXZDa0I7VUF1Q2xCLHFCQXZDa0IsRURnRmY7O0FBRUQ7RUMzQkYsNEJBdkRrQjtNQXVEbEIsNkJBdkRrQjtjQXVEbEIsNEJBdkRrQjtVQXVEbEIsb0JBdkRrQixFRG9GZjs7QUFJSDtFQ2xEQSxnQ0EvQ2dCO01BK0NoQixzQkEvQ2dCO1VBK0NoQix3QkEvQ2dCO0VBZ0RoQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEMkZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBQUZEO0VDbkNKLGlCRGtDZ0I7TUNsQ2hCLGtCRGtDZ0I7VUNsQ2hCLFNEa0NnQixFQUdYOztBaENxREQ7RWdDdkRBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWCxFQUFBOztBaEMwREQ7RWdDNURBO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7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O0lBYnREO01BY3NCLG9CdkZ3M0JSLEV1RngzQnNDO0lBZHBEO01BZXNCLG9CQUE2QixFQUFHO0lBZnREO01BZ0JzQixvQkFBNkIsRUFBRztJQWhCdEQ7TUFpQm9CLG9CQUE2QixFQUFHLEVBQUE7RWpGdUo5QztJaUZ4S047TUFzQm9CLGlCQUFnQixFQUFHO0lBdEJ2QztNQXVCb0Isb0J2RisyQk4sRXVGLzJCb0M7SUF2QmxEO01Bd0JzQixvQkFBNkIsRUFBRztJQXhCdEQ7TUF5QnNCLG9CQUE2QixFQUFHO0lBekJ0RDtNQTBCc0Isb0JBQTZCLEVBQUc7SUExQnREO01BMkJvQixxQkFBNkIsRUFBRyxFQUFBOztBQzFCaEQ7RUFDSSxlQUFjLEVBSWpCO0VsRmtLQztJa0Z2S0Y7TUFHUSxjQUFhLEVBRXBCLEVBQUE7O0FuRHNFQztFbURuRUUsY0FBYSxFQUloQjtFbEYySkM7SStCNUZBO01tRGpFTSxlQUFjLEVBRXJCLEVBQUE7O0FoRGlITCwrQkFBK0I7QWlEOUgvQiw4QkFBOEI7QUFFOUIsc0RBQXNEO0FBRXREOztFQUVJLFdBQVUsRUFDYjs7QUFDRDtFQUNJLFdBQVU7RUFDViwwQkFBeUIsRUFDNUI7O0FBQ0Q7RUFDSSxtQkFBa0IsRUFDckIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEsICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3Mge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG4gIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovIH1cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqLyB9XG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT01MGVtJnhsYXJnZT02NGVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJwb3BwaW5zbWVkaXVtXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzMxMzk0MTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIsIC5ncmlkLXggPiAuc21hbGwtMTMsIC5ncmlkLXggPiAuc21hbGwtMTQsIC5ncmlkLXggPiAuc21hbGwtMTUsIC5ncmlkLXggPiAuc21hbGwtMTYge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiwgLmdyaWQteCA+IC5tZWRpdW0tMTMsIC5ncmlkLXggPiAubWVkaXVtLTE0LCAuZ3JpZC14ID4gLm1lZGl1bS0xNSwgLmdyaWQteCA+IC5tZWRpdW0tMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIsIC5ncmlkLXggPiAubGFyZ2UtMTMsIC5ncmlkLXggPiAubGFyZ2UtMTQsIC5ncmlkLXggPiAubGFyZ2UtMTUsIC5ncmlkLXggPiAubGFyZ2UtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiwgLmdyaWQteCA+IC54bGFyZ2UtMTMsIC5ncmlkLXggPiAueGxhcmdlLTE0LCAuZ3JpZC14ID4gLnhsYXJnZS0xNSwgLmdyaWQteCA+IC54bGFyZ2UtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTMsIC5ncmlkLXggPiAueHhsYXJnZS0xNCwgLmdyaWQteCA+IC54eGxhcmdlLTE1LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogNi4yNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAxOC43NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogMzEuMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiAzNy41JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNDMuNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDU2LjI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDYyLjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogNjguNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTMge1xuICB3aWR0aDogODEuMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTQge1xuICB3aWR0aDogODcuNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xNSB7XG4gIHdpZHRoOiA5My43NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xNiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg0My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTUge1xuICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xNCB7XG4gICAgICB3aWR0aDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE1IHtcbiAgICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMyB7XG4gICAgICB3aWR0aDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTE2IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTUge1xuICAgICAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xNSB7XG4gICAgICB3aWR0aDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDFyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDJyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAycmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMnJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMnJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMTguNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogMzEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogMzcuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA0My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogNjIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogNjguNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEzIHtcbiAgICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNCB7XG4gICAgICB3aWR0aDogODcuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNSB7XG4gICAgICB3aWR0aDogOTMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA0My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNTYuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogNjIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiA4Ny41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDkzLjc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNi4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDMxLjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNDMuNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNTYuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMyB7XG4gICAgICB3aWR0aDogODEuMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDkzLjc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDMxLjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA0My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDU2LjI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogNjIuNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiA5My43NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiAzMS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA2OC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTQge1xuICAgIHdpZHRoOiA4Ny41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogNi4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNDMuNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDYyLjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEzIHtcbiAgICB3aWR0aDogODEuMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAxOC43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiAzNy41JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDU2LjI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTUge1xuICAgIHdpZHRoOiA5My43NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA2LjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA0My43NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTMge1xuICAgIHdpZHRoOiA4MS4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDE4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogMzEuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNTYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogNjguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE0IHtcbiAgICB3aWR0aDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xNSB7XG4gICAgd2lkdGg6IDkzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMTguNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDMxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDQzLjc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA1Ni4yNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDY4Ljc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMyB7XG4gICAgd2lkdGg6IDgxLjI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xNCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE1IHtcbiAgICB3aWR0aDogOTMuNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTE2IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDYuMjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDEyLjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMTguNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTguNzUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiAzMS4yNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYygzNy41JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0My43NSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDU2LjI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU2LjI1JSArIDAuMjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDY4Ljc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEyIHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTIge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEzIHtcbiAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTMge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4MS4yNSUgKyAwLjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTE0IHtcbiAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMC4yNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xNSB7XG4gIG1hcmdpbi1sZWZ0OiA5My43NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTE1IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTMuNzUlICsgMC4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYuMjUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxMi41JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE4Ljc1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMxLjI1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0My43NSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1Ni4yNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY4Ljc1JSArIDAuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4MS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODcuNSUgKyAwLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkzLjc1JSArIDAuNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYuMjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTguNzUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMzEuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzNy41JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0My43NSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU2LjI1JSArIDAuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4MS4yNSUgKyAwLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMC41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTMuNzUlICsgMC41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNi4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEyLjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE4Ljc1JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMzEuMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzEuMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNDMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1Ni4yNSUgKyAxcmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2OC43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjguNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA4MS4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4Ny41JSArIDFyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkzLjc1JSArIDFyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA2LjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2LjI1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4Ljc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxOC43NSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMS4yNSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDM3LjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA0My43NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDMuNzUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA1Ni4yNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTYuMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDYyLjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNjguNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2OC43NSUgKyAxcmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDFyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgxLjI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODEuMjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDg3LjUlICsgMXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogOTMuNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5My43NSUgKyAxcmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIsIC5ncmlkLXkgPiAuc21hbGwtMTMsIC5ncmlkLXkgPiAuc21hbGwtMTQsIC5ncmlkLXkgPiAuc21hbGwtMTUsIC5ncmlkLXkgPiAuc21hbGwtMTYge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIsIC5ncmlkLXkgPiAubWVkaXVtLTEzLCAuZ3JpZC15ID4gLm1lZGl1bS0xNCwgLmdyaWQteSA+IC5tZWRpdW0tMTUsIC5ncmlkLXkgPiAubWVkaXVtLTE2IHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiwgLmdyaWQteSA+IC5sYXJnZS0xMywgLmdyaWQteSA+IC5sYXJnZS0xNCwgLmdyaWQteSA+IC5sYXJnZS0xNSwgLmdyaWQteSA+IC5sYXJnZS0xNiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiwgLmdyaWQteSA+IC54bGFyZ2UtMTMsIC5ncmlkLXkgPiAueGxhcmdlLTE0LCAuZ3JpZC15ID4gLnhsYXJnZS0xNSwgLmdyaWQteSA+IC54bGFyZ2UtMTYge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiwgLmdyaWQteSA+IC54eGxhcmdlLTEzLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTQsIC5ncmlkLXkgPiAueHhsYXJnZS0xNSwgLmdyaWQteSA+IC54eGxhcmdlLTE2IHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogNi4yNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDEyLjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogMzEuMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiAzNy41JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNDMuNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDYyLjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogNjguNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTMge1xuICAgIGhlaWdodDogODEuMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTQge1xuICAgIGhlaWdodDogODcuNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xNSB7XG4gICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xNiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxMi41JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDMxLjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiAzNy41JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDY4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xNCB7XG4gICAgICBoZWlnaHQ6IDg3LjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTUge1xuICAgICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDEyLjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMTguNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogMzEuMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogMzcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA1Ni4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogNjguNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogODcuNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogOTMuNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxMi41JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAxOC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDMxLjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiAzNy41JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDU2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDY4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IDg3LjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiA5My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA2LjI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDE4Ljc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiAzMS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDM3LjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA0My43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNTYuMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogNjIuNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA2OC43NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiA4MS4yNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiA4Ny41JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IDkzLjc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTMge1xuICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE0IHtcbiAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE1IHtcbiAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYygzNy41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC41cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTQge1xuICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDAuNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTUge1xuICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAwLjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE2IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTIuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYygzMS4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg2OC43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE0IHtcbiAgICAgIGhlaWdodDogY2FsYyg4Ny41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAxcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDFyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg2Mi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNi4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDM3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTYuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDYyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkzLjc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTE2IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEyLjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzEuMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg1Ni4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjguNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODcuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTMuNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxMi41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygxOC43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMxLjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYygzNy41JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg0My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU2LjI1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjIuNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY4Ljc1JSAtIDJyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEzIHtcbiAgICAgIGhlaWdodDogY2FsYyg4MS4yNSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDg3LjUlIC0gMnJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTE1IHtcbiAgICAgIGhlaWdodDogY2FsYyg5My43NSUgLSAycmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAycmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAwLjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDFyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMnJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAycmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSwgaDEsICNjb250YWN0LW92ZXJsYXkgLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MsXG5oMixcbmgzLFxuLmNoYXItd3JhcHBlcjpiZWZvcmUsXG5oNCxcbmg1LFxuaDYsXG4uYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAuaDEsXG5oMiwgLmgyLFxuaDMsXG4uY2hhci13cmFwcGVyOmJlZm9yZSwgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNixcbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwicG9wcGluc2JvbGRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsIHNtYWxsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCBzbWFsbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgLmNoYXItd3JhcHBlcjpiZWZvcmUgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsXG4gIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI0RGREZERjsgfVxuXG5oMSwgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcywgLmgxIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuXG5oMyxcbi5jaGFyLXdyYXBwZXI6YmVmb3JlLCAuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5cbmg2LFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIGgxLCAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIFxuICBoMyxcbiAgLmNoYXItd3JhcHBlcjpiZWZvcmUsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBcbiAgaDYsXG4gIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMmEzMTM4OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjREZERkRGOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzMxMzk0MTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDAwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREZERkRGO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMsXG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMsXG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuNGVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24udGlueSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC50aW55LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC50aW55Lmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zbWFsbC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuc21hbGwuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5sYXJnZS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAubGFyZ2UuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5leHBhbmRlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZXhwYW5kZWQuZ2Zvcm1fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLnByaW1hcnkuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5wcmltYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzJlMzQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLnNlY29uZGFyeS5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkNDE1NjtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5zdWNjZXNzLmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFQjUzMztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5zdWNjZXNzLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5MTI5O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0Lndhcm5pbmcuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLndhcm5pbmcuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0Lndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC53YXJuaW5nLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M5MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5hbGVydC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmFsZXJ0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5hbGVydC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5hbGVydC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXTpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF06Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5wcmltYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnByaW1hcnkuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnlbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc2Vjb25kYXJ5LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLnNlY29uZGFyeS5nZm9ybV9idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnlbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEwNTE2YjtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZGlzYWJsZWQuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5zdWNjZXNzLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3NbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b24sIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5zdWNjZXNzLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmRpc2FibGVkLndhcm5pbmcuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZ1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmcuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmdbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5kaXNhYmxlZC5hbGVydC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5kaXNhYmxlZC5hbGVydC5nZm9ybV9idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbltkaXNhYmxlZF0uYWxlcnRbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRpc2FibGVkLmFsZXJ0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuZGlzYWJsZWQuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0W3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b24sIC5idXR0b24uaG9sbG93OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuZGlzYWJsZWQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmRpc2FibGVkLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5kaXNhYmxlZC5nZm9ybV9idXR0b246Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbltkaXNhYmxlZF06aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b25bZGlzYWJsZWRdOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTkxZDIxO1xuICAgICAgY29sb3I6ICMxOTFkMjE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246aG92ZXIuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmhvdmVyW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy5idXR0b246Zm9jdXMuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYnV0dG9uOmZvY3VzW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cucHJpbWFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cucHJpbWFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE5MWQyMTtcbiAgICAgICAgY29sb3I6ICMxOTFkMjE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTM5NDE7XG4gICAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnNlY29uZGFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwODI5MzY7XG4gICAgICAgIGNvbG9yOiAjMDgyOTM2OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEwNTE2YjtcbiAgICAgICAgICBjb2xvcjogIzEwNTE2YjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LnN1Y2Nlc3MuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc3VjY2Vzcy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM3NWIxYTtcbiAgICAgICAgY29sb3I6ICMzNzViMWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICAgICAgY29sb3I6ICM2RUI1MzM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmhvbGxvdy53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgY29sb3I6ICNmZmZiMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93Lndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93Lndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDdlMDA7XG4gICAgICAgIGNvbG9yOiAjODA3ZTAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuaG9sbG93Lndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmYjAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuaG9sbG93LmFsZXJ0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYWxlcnQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5ob2xsb3cuYWxlcnQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5ob2xsb3cuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmhvbGxvdy5hbGVydC5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmRpc2FibGVkLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5kaXNhYmxlZC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuZGlzYWJsZWQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b25bZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uW2Rpc2FibGVkXTpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzE5MWQyMTtcbiAgICAgIGNvbG9yOiAjMTkxZDIxOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3Zlci5kaXNhYmxlZFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXJbZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1cy5kaXNhYmxlZFt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXNbZGlzYWJsZWRdW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246aG92ZXIuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpob3ZlcltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5idXR0b246Zm9jdXMuZGlzYWJsZWRbdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmJ1dHRvbjpmb2N1c1tkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIucHJpbWFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxOTFkMjE7XG4gICAgICAgIGNvbG9yOiAjMTkxZDIxOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIucHJpbWFyeS5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMzk0MTtcbiAgICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5wcmltYXJ5LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnByaW1hcnkuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5wcmltYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnByaW1hcnkuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwODI5MzY7XG4gICAgICAgIGNvbG9yOiAjMDgyOTM2OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMDUxNmI7XG4gICAgICAgICAgY29sb3I6ICMxMDUxNmI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zZWNvbmRhcnkuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnNlY29uZGFyeS5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zZWNvbmRhcnkuZ2Zvcm1fYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc2Vjb25kYXJ5Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnNlY29uZGFyeS5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5zdWNjZXNzLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2RUI1MzM7XG4gICAgICBjb2xvcjogIzZFQjUzMzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM3NWIxYTtcbiAgICAgICAgY29sb3I6ICMzNzViMWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5zdWNjZXNzLmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNkVCNTMzO1xuICAgICAgICAgIGNvbG9yOiAjNkVCNTMzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLnN1Y2Nlc3MuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuc3VjY2Vzcy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuc3VjY2Vzcy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci53YXJuaW5nLmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZiMDA7XG4gICAgICBjb2xvcjogI2ZmZmIwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwN2UwMDtcbiAgICAgICAgY29sb3I6ICM4MDdlMDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci53YXJuaW5nLmdmb3JtX2J1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmYjAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZmYjAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5kaXNhYmxlZC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLndhcm5pbmcuYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIud2FybmluZy5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLndhcm5pbmcuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIud2FybmluZy5nZm9ybV9idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5hbGVydC5idXR0b246aG92ZXJbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5jbGVhci5hbGVydC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sXG4gICAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLFxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSxcbiAgICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuZGlzYWJsZWQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvbltkaXNhYmxlZF1bdHlwZT1zdWJtaXRdLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuY2xlYXIuYWxlcnQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSxcbiAgICAgIC5nZm9ybV93cmFwcGVyIC5jbGVhci5hbGVydC5nZm9ybV9idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmNsZWFyLmFsZXJ0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLFxuICAgICAgLmdmb3JtX3dyYXBwZXIgLmNsZWFyLmFsZXJ0Lmdmb3JtX2J1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0sXG4gICAgICAuZ2Zvcm1fd3JhcHBlciAuY2xlYXIuYWxlcnQuZ2Zvcm1fYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuZHJvcGRvd24uYnV0dG9uW3R5cGU9c3VibWl0XTo6YWZ0ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC5kcm9wZG93bi5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmRyb3Bkb3duLmhvbGxvdy5idXR0b25bdHlwZT1zdWJtaXRdOjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzEzOTQxOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LnByaW1hcnkuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzMxMzk0MTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeS5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTA1MTZiOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3MuZ2Zvcm1fYnV0dG9uOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzZFQjUzMzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nLmdmb3JtX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmZiMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZHJvcGRvd24uaG9sbG93LmFsZXJ0Lmdmb3JtX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5hcnJvdy1vbmx5LmJ1dHRvblt0eXBlPXN1Ym1pdF06OmFmdGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAuYXJyb3ctb25seS5nZm9ybV9idXR0b246OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3Zlcixcbi5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyxcbi5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAjREZERkRGO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNERkRGREY7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtIDAgMCAwLjE4NzVyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAuMTg3NXJlbSAwLjE4NzVyZW0gMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIGJhY2tncm91bmQ6ICNERkRGREY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjg0OSwgNTcsIDY1JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAjREZERkRGO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RGREZERjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAwLjE4NzVyZW0gMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4xODc1cmVtIDAuMTg3NXJlbTsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAwO1xuICBib3JkZXI6IDBweCBzb2xpZCAjREZERkRGO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjREZERkRGO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjE4NzVyZW0gMC4xODc1cmVtOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgYm9yZGVyOiAwcHggc29saWQgI0RGREZERjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMzMTM5NDE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICNERkRGREY7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI0RGREZERjsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI0RGREZERjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAgLmdmb3JtX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24sIC5idXR0b24tZ3JvdXAudGlueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC50aW55IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAudGlueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnRpbnkgLmdmb3JtX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnNtYWxsIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zbWFsbCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmxhcmdlIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5sYXJnZSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAucHJpbWFyeSBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyZTM0O1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDQxNTY7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVCNTMzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgaW5wdXQuYnV0dG9uOmZvY3VzW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5nZm9ybV9idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU4OTEyOTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAud2FybmluZyBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV9idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAud2FybmluZyBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmdmb3JtX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOTAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLmFsZXJ0IGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sXG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5nZm9ybV9idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpmb2N1c1t0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5hbGVydCBpbnB1dC5idXR0b246Zm9jdXNbdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpmb2N1cywgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5hbGVydCAuZ2Zvcm1fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5nZm9ybV9idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b246bGFzdC1jaGlsZFt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLFxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uOmxhc3QtY2hpbGQsIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmxhc3QtY2hpbGRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGlucHV0LmJ1dHRvbjpsYXN0LWNoaWxkW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246bGFzdC1jaGlsZCwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmdmb3JtX2J1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5nZm9ybV9idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbixcbiAgLm1lbnUgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5tZW51IGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5tZW51IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sXG4gIC5nZm9ybV93cmFwcGVyIC5tZW51IC5nZm9ybV9idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54eGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMHJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMzEzOTQxLCAwIDE0cHggMCAjMzEzOTQxO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzMxMzk0MSwgMCAxNHB4IDAgIzMxMzk0MTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMDAwMCwgMCAxNHB4IDAgIzAwMDAwMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzMxMzk0MSwgMCAxNHB4IDAgIzMxMzk0MTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAwcmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDByZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzEzOTQxOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMxMzk0MTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzEzOTQxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzMxMzk0MSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMxMDUxNmI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM2RUI1MzM7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmZiMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICMzMTM5NDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMzIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzIwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMyMHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDMyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzIwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMjBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMyMHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yODBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyODBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjgwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI4MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDMyMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMyMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMjBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMzIwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzIwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMzEzOTQxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0b3A6IDIuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjkzNzVlbSkge1xuICAgIGJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogMnJlbTsgfSB9XG5cbi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cblxucC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMtcmVndWxhci13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGZhbGxiYWNrOyB9XG5cbi8qISBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cHM6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gSnVseSA1LCAyMDIzICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1ib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNibGFjayc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1ibGFjay13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLWJsYWNrLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3BvcHBpbnMtcmVndWxhci13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zbWVkaXVtJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wb3BwaW5zLW1lZGl1bS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLW1lZGl1bS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvcG9wcGlucy1zZW1pYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9wb3BwaW5zLXNlbWlib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAubW9iaWxlLW1lbnUsXG4gIC5zaXRlLXRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5kZXNrdG9wLW1lbnUsXG4gIC5zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLm1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgLmN1cnJlbnRfcGFnZV9pdGVtIGEsXG4gIC5tZW51IC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuXG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5tZW51LWljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMzMTM5NDE7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjIgZWFzZTtcbiAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAubWVudS1pY29uLWJ1dHRvbjpob3ZlciwgLm1lbnUtaWNvbi1idXR0b246Zm9jdXMsIC5tZW51LWljb24tYnV0dG9uOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgLm1lbnUtaWNvbi1idXR0b246aG92ZXIgc3BhbiwgLm1lbnUtaWNvbi1idXR0b246Zm9jdXMgc3BhbiwgLm1lbnUtaWNvbi1idXR0b246YWN0aXZlIHNwYW4ge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLm1lbnUtaWNvbi1idXR0b24gYnV0dG9uOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi1idXR0b24gc3BhbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcyA+IHVsLm1lbnUge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIC5vZmYtY2FudmFzID4gdWwubWVudSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAub2ZmLWNhbnZhcyAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuXG4udG9wLWJhciAuY2hpbGRuYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAudG9wLWJhciAuY2hpbGRuYXYge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC50b3AtYmFyIC5jaGlsZG5hdiwgLnRvcC1iYXIgLmNoaWxkbmF2IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC50b3AtYmFyIC5jaGlsZG5hdiBhIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjg1KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAudG9wLWJhciAuY2hpbGRuYXYgPiBsaSB7XG4gICAgbWFyZ2luOiAwIDAuMTI1cmVtOyB9XG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkgPiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzEzOTQxOyB9XG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkuaXMtYWN0aXZlIGEsXG4gICAgLnRvcC1iYXIgLmNoaWxkbmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5kcmlsbGRvd24ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAuZHJpbGxkb3duIC5oZWlnaHQtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC42MSwgMC4wMDUsIDAuMzYsIDEuMDEpOyB9XG4gIC5kcmlsbGRvd24gLmNoaWxkbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdi5yZWFkeSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC42MSwgMC4wMDUsIDAuMzYsIDEuMDEpLCBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdltkYXRhLWRlcHRoPVwiMVwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXZbZGF0YS1kZXB0aD1cIjJcIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2W2RhdGEtZGVwdGg9XCIzXCJdIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAwJSk7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdltkYXRhLWRlcHRoPVwiNFwiXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMCUpOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXZbZGF0YS1kZXB0aD1cIjVcIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MDAlKTsgfVxuICAgIC5kcmlsbGRvd24gLmNoaWxkbmF2IC5jaGlsZHJlbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLmRyaWxsZG93biAuY2hpbGRuYXYgbGlbY2xhc3MqPVwiY3VycmVudFwiXSAuY2hpbGRyZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZHJpbGxkb3duIC5jaGlsZG5hdiA+IGxpID4gYSB7XG4gICAgICBib3JkZXItbGVmdDogMC4xODc1cmVtIHNvbGlkIHZhcigtLW1haW4tY29sb3IpOyB9XG4gIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGOyB9XG4gICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW1faGFzX2NoaWxkcmVuID4gYTpub3QoLmJhY2spIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjYyNXJlbSk7IH1cbiAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMi42MjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH0gfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYS5iYWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYS5iYWNrIHN2ZyB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IDAuNTYyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuODc1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cbiAgICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYS5iYWNrOmhvdmVyIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtIGEuYmFjayBkaXYge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjEyNXJlbSk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYSAqIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjIzLCAyMjMsIDIyMywgMC4yKTtcbiAgICAgIHdpZHRoOiAyLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMWZyO1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjg3NXJlbTsgfVxuICAgIC5kcmlsbGRvd24gbGkucGFnZV9pdGVtOmxhc3Qtb2YtdHlwZSBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLm9mZi1jYW52YXMge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIyMywgMjIzLCAyMjMsIDAuMSk7IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIC5tZW51LXNwcmFjaGF1c3dhaGwtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMS4yNXJlbTtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxMDUxNmI7IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDE2cHggMTZweCAxNnB4IGF1dG87XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBidXR0b24gc3BhbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBidXR0b246aG92ZXIgc3BhbiB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggYnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxLjMxMjVyZW07IH1cbiAgLm9mZi1jYW52YXMgLmRyaWxsZG93biAuaGVpZ2h0LXdyYXBwZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMjMsIDIyMywgMjIzLCAwLjEpOyB9XG4gIC5vZmYtY2FudmFzIC5kcmlsbGRvd24sIC5vZmYtY2FudmFzIC5kcmlsbGRvd24gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm9mZi1jYW52YXMgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIyMywgMjIzLCAyMjMsIDAuMSk7IH1cbiAgICAub2ZmLWNhbnZhcyAuZHJpbGxkb3duIGxpLnBhZ2VfaXRlbSBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyYTMxMzg7IH1cbiAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogOHB4OyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgbWFyZ2luOiAwIDhweDsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgICAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1tZW51IHVsIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbWVudSB1bCBsaTpsYXN0LW9mLXR5cGUgYTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW46IDI0cHggYXV0bzsgfVxuICAgIC5vZmYtY2FudmFzIC5zZXJ2aWNlbmF2LXNlYXJjaCAuaW5wdXQtZ3JvdXAge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkZGRkY7IH1cbiAgICAub2ZmLWNhbnZhcyAuc2VydmljZW5hdi1zZWFyY2ggLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtc2VhcmNoIC5pbnB1dC1ncm91cC1idXR0b24gc3ZnIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSB0cmFuc2xhdGUoNXB4LCA1cHgpOyB9XG5cbi5vZmYtY2FudmFzLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub2ZmLWNhbnZhcy1mb290ZXIgLmZiIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kOiAjM0I1OTk4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5vZmYtY2FudmFzLWZvb3RlciAuc2VydmljZW5hdi1sb2dvcyB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4OyB9XG4gICAgLm9mZi1jYW52YXMtZm9vdGVyIC5zZXJ2aWNlbmF2LWxvZ29zIGltZyB7XG4gICAgICBtYXJnaW46IDhweDsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50b3AtYmFyIGEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7IH1cblxuLnRvcC1iYXIgLm1lbnUgbGkge1xuICBtYXJnaW46IDAgMC42MjVyZW07IH1cbiAgLnRvcC1iYXIgLm1lbnUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIC5tZW51IGxpOm5vdCgubWVudS10ZXh0KSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2U7IH1cblxuLnRvcC1iYXIgI21lbnUtc3ByYWNoYXVzd2FobCAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDksIDU3LCA2NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4udG9wLWJhciAjbWVudS1zcHJhY2hhdXN3YWhsIGxpIHtcbiAgbWFyZ2luOiAwIDAuMTI1cmVtOyB9XG5cbi50b3AtYmFyICNtZW51LXNwcmFjaGF1c3dhaGwgYSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzMxMzk0MTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW47IH1cbiAgLnRvcC1iYXIgI21lbnUtc3ByYWNoYXVzd2FobCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ5LCA1NywgNjUsIDAuMSk7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICBib3JkZXI6IDA7IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cblxuLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgLmhhcy1zdWJtZW51LmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gIGJvcmRlcjogMDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudTpmaXJzdC1jaGlsZCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnBvc3QtbmF2aWdhdGlvbjo6YmVmb3JlLCAucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5uYXYtbmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICBib2R5I3RpbnltY2UgYSB7XG4gICAgY29sb3I6ICMxMDUxNmIgIWltcG9ydGFudDsgfVxuXG5AdXNlIFwic2FzczptYXRoXCI7XG4ucGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiA2NHB4IDAgMTZweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5wYWdpbmF0aW9uICoge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgY29sb3I6ICMzMTM5NDE7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpub3QoLnByZXYpOm5vdCgubmV4dCkge1xuICAgICAgd2lkdGg6IDIuMTg3NXJlbTtcbiAgICAgIGhlaWdodDogMi4xODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiwgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYgc3ZnLCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQgc3ZnIHtcbiAgICAgICAgbWFyZ2luOiAwIDhweDsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2IHBhdGgsIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCBwYXRoIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2OmhvdmVyIHBhdGgsIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dDpob3ZlciBwYXRoIHtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IHN2ZyB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOm5vdCgubmV4dCk6bm90KC5wcmV2KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wYWdpbmF0aW9uIGE6bm90KC5wcmV2KTpub3QoLm5leHQpOmhvdmVyLFxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogIzEwNTE2YjtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzEwNTE2YjsgfVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIHVsLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSA+ICoge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDEuODc1cmVtO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgICAgbWFyZ2luOiAwLjMxMjVyZW07IH1cbiAgICAgIHVsLnBhZ2luYXRpb24gbGkgPiAqOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgdWwucGFnaW5hdGlvbiBsaSAuY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gICAgICB1bC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50LCB1bC5wYWdpbmF0aW9uIGxpIC5jdXJyZW50IHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4jY29udGFjdC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHotaW5kZXg6IDEwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNjb250YWN0LW92ZXJsYXk6YmVmb3JlLCAjY29udGFjdC1vdmVybGF5OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgei1pbmRleDogMTAxOyB9XG4gICNjb250YWN0LW92ZXJsYXk6YWZ0ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAjY29udGFjdC1vdmVybGF5IC5kZXNjIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW46IDE2cHggMCAwIDA7IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuc2Nyb2xsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTZweCAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKmRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLnNjcm9sbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheS5vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAjY29udGFjdC1vdmVybGF5Lm9wZW4gLnNjcm9sbCB7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICNjb250YWN0LW92ZXJsYXkgaW1nIHtcbiAgICB3aWR0aDogNC4wNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IGltZyB7XG4gICAgICAgIHdpZHRoOiA1LjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgaW1nIHtcbiAgICAgICAgd2lkdGg6IDcuNXJlbTsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMzJweDtcbiAgICB6LWluZGV4OiAxMDI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgc3ZnIHtcbiAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgd2lkdGg6IDMuMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IHN2ZyB7XG4gICAgICAgIHRvcDogNjRweDtcbiAgICAgICAgcmlnaHQ6IDY0cHg7IH0gfVxuICAgICNjb250YWN0LW92ZXJsYXkgc3ZnOmhvdmVyIHJlY3Qge1xuICAgICAgZmlsbDogIzEwNTE2YjsgfVxuICAjY29udGFjdC1vdmVybGF5IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjY29udGFjdC1vdmVybGF5IHAge1xuICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdiB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2IHtcbiAgICAgICAgICBmbGV4OiAxIDEgNTAlOyB9IH1cbiAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfSB9XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSBkaXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgZGl2IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSAuYnV0dG9uLFxuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAuZ3JpZCA+IGRpdjpsYXN0LW9mLXR5cGUgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDE2cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAjY29udGFjdC1vdmVybGF5IC5ncmlkID4gZGl2Omxhc3Qtb2YtdHlwZSAuYnV0dG9uLFxuICAgICAgICAgICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmdyaWQgPiBkaXY6bGFzdC1vZi10eXBlIC5nZm9ybV9idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsIHtcbiAgICBmb250LXNpemU6IDIuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2VtYWlsIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjA2MjVyZW07IH0gfVxuICAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH0gfVxuICAgICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX2FkZHJlc3MgZGl2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyBhIHtcbiAgICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuNik7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwuY29udGFjdC1pcy1vcGVuW2RhdGEtd2hhdGlucHV0PSd0b3VjaCddIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cbiAgaHRtbC5jb250YWN0LWlzLW9wZW5bZGF0YS13aGF0aW5wdXQ9J3RvdWNoJ10gI2NvbnRhY3Qtb3ZlcmxheS5vcGVuIC5zY3JvbGwge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7IH1cblxuLmNhcmQtd3JhcHBlciB7XG4gIG1hcmdpbjogNDBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiA0OHB4IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLThweDsgfSB9XG4gIC5jYXJkLXdyYXBwZXIgPiAqIHtcbiAgICB3aWR0aDogY2FsYyggNTAlIC0gMTZweCk7XG4gICAgbWFyZ2luOiA4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuY2FyZC13cmFwcGVyID4gKiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAzMyUgLSAxNnB4KTsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIzMHB4LCAxZnIpKTtcbiAgICAgIGdyaWQtZ2FwOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jYXJkLXdyYXBwZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAuY2FyZC13cmFwcGVyIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmNhcmQtd3JhcHBlciA+ICoge1xuICAgICAgICBmbGV4OiAwIDEgNDglO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAuY2FyZDpob3ZlciAua2FjaGVsLW1ldGEsIC5jYXJkOmhvdmVyIC5rYWNoZWwtbWV0YSBoNSBzdmcge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5rYWNoZWwtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAua2FjaGVsLWltYWdlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG4gIC5rYWNoZWwtaW1hZ2U6aG92ZXI6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAua2FjaGVsLWltYWdlOmhvdmVyIC5tZXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiOyB9XG4gICAgLmthY2hlbC1pbWFnZTpob3ZlciAubWV0YSwgLmthY2hlbC1pbWFnZTpob3ZlciAubWV0YSBzdmcge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmthY2hlbC1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5rYWNoZWwtaW1hZ2UgLmthY2hlbC1tZXRhIHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMi41NjI1cmVtO1xuICAgIG1heC13aWR0aDogODUlOyB9XG4gICAgLmthY2hlbC1pbWFnZSAua2FjaGVsLW1ldGEgaDUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtOyB9XG4gICAgICAua2FjaGVsLWltYWdlIC5rYWNoZWwtbWV0YSBoNSBzdmcge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDAuNzVyZW07IH1cbiAgICAua2FjaGVsLWltYWdlIC5rYWNoZWwtbWV0YSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5ibG9nIC53cmFwcGVyLS1uZXdzIHtcbiAgZ3JpZC1nYXA6IDE2cHg7IH1cblxuLndyYXBwZXItLW5ld3Mge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogLTIuNjY2NjdweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMi42NjY2N3B4OyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC53cmFwcGVyLS1uZXdzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgLndyYXBwZXItLW5ld3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICBib3JkZXItYm90dG9tOiAwLjE4NzVyZW0gc29saWQgdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICAgICAgZmxleDogMSAxIDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLndyYXBwZXItLW5ld3MgLmNhcmQge1xuICAgICAgICBmbGV4OiAxIDEgMjUlOyB9IH1cbiAgICAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjE4NzVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAgICAgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIsIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIC5uZXdzLW1ldGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiOyB9XG4gICAgICAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciAubmV3cy1tZXRhLCAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciAuZGVzY3JpcHRpb24sIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIHNwYW4sIC53cmFwcGVyLS1uZXdzIC5jYXJkOmhvdmVyIGg1IHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLndyYXBwZXItLW5ld3MgaDUsIC53cmFwcGVyLS1uZXdzIC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMCAxNnB4OyB9XG4gIC53cmFwcGVyLS1uZXdzIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMzEzOTQxO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuICAud3JhcHBlci0tbmV3cyAubmV3cy1rYWNoZWwtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgLndyYXBwZXItLW5ld3MgLm5ld3Mta2FjaGVsLWltYWdlIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLndyYXBwZXItLW5ld3MgLm5ld3Mta2FjaGVsLWltYWdlIC5uZXdzLW1ldGEge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgIHBhZGRpbmc6IDhweCAxNnB4IDAgMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuOSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC53cmFwcGVyLS1uZXdzIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC53cmFwcGVyLS1uZXdzIHNwYW4gc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSg0OSwgNTcsIDY1LCAwLjMpOyB9XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uZW1iZWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi50b3AtYmFyIC50b3AtYmFyLWlubmVyd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4udG9wLWJhciAudG9wLWJhci10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSB7XG4gICAgICB0b3A6IC0zcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgLypcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBwYWRkaW5nOiByZW0tY2FsYygxMiAxNCk7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7cGFkZGluZzogcmVtLWNhbGMoMjAgMzAgMjAgMjApO31cbiAgICAgICAgICAgICovXG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsgfSB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA5LjM3NXJlbTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA3LjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIGltZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMC42MjVyZW07XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQ1cHgpOyB9IH1cbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYTpiZWZvcmUge1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTU3JSwgLTU1JSk7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtNzMlLCAtNzMlKTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGE6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC00NSUsIC00NSUpOyB9IH1cblxuLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGZsZXg6IGluaGVyaXQ7IH1cblxuLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tc2hvcC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAuNzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE2cHggOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50b3AtYmFyIC5tb2JpbGUtcGF0Y2hlcyBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIGEgc3ZnIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgLnRvcC1iYXIgLm1vYmlsZS1wYXRjaGVzIGEucGF0Y2gtZWd1aWNoZXQge1xuICAgIGNvbG9yOiAjZmY2YjZiO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLnNlcnZpY2VuYXYsIC5zZXJ2aWNlbmF2ICoge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLnNlcnZpY2VuYXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnNlcnZpY2VuYXYge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LXNlYXJjaCB7XG4gIG1hcmdpbjogMCAxLjg3NXJlbSAwIDA7XG4gIG1heC13aWR0aDogMTEuMjVyZW07XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LWxvZ29zID4gKiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTsgfVxuXG4uc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGxpIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5zZXJ2aWNlbmF2IC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2ggbGkgYSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNERkRGREY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGxpIGE6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMzMTM5NDE7IH1cblxuLnNlcnZpY2VuYXYgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3BhY2l0eTogMC41O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBtYXJnaW46IDAgMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGEgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAuc2VydmljZW5hdiAuc2VydmljZW5hdi1sYW5nc3dpdGNoIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnBhZ2UtdGVtcGxhdGUtYW5saWVnZW4gLmVudHJ5LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hbmxpZWdlbi1saXN0IHNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5hbmxpZWdlbi1saXN0IGgzLCAuYW5saWVnZW4tbGlzdCAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG5cbi5hbmxpZWdlbi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuYW5saWVnZW4taGVhZGVyID4gKiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5hbmxpZWdlbi1oZWFkZXIgLmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAzMnB4IGF1dG8gMCBhdXRvOyB9XG4gICAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgd2lkdGg6IDEuMzc1cmVtO1xuICAgIGhlaWdodDogMS4zNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLmFubGllZ2VuLWhlYWRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgfVxuXG4uY2hhcm1lbnUge1xuICBjb2xvcjogIzMxMzk0MTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jaGFybWVudSA+ICoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDIuMTI1cmVtO1xuICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjQpOyB9XG4gIC5jaGFybWVudSBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAuY2hhcm1lbnUgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5jaGFyLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAzMnB4OyB9XG4gIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzMxMzk0MTtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtY2hhcik7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9IH1cbiAgLmNoYXItd3JhcHBlciAuYnV0dG9uLCAuY2hhci13cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuY2hhci13cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIC5jaGFyLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmNoYXItd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjYyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pLmV2ZW4ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTgxLCAxODAsIDE2OCwgMC4xKTsgfVxuICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxIDc1JTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIgPiAqIHtcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciA+ICoge1xuICAgICAgICAgIGZsZXg6IDEgMSA1MCU7IH0gfVxuICAgIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLXRpdGxlLXdyYXBwZXIgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tdGl0bGUtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIGEge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cHg7IH0gfVxuICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIge1xuICAgIGZsZXg6IDEgMSAyNSU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIC5idXR0b24sIC5hbmxpZWdlbjpub3QoLnJlc3VsdHMtaXRlbSkgLmFubGllZ2VuLWxpbmstd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmFubGllZ2VuOm5vdCgucmVzdWx0cy1pdGVtKSAuYW5saWVnZW4tbGluay13cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLnBhcnRuZXItaW5uZXJ3cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMTVweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjYwcHgsIDFmcikpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiAtbXMtZ3JpZCkge1xuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgPiAqIHtcbiAgICAgICAgZmxleDogMSAxIDMzLjMzJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICAucGFydG5lci1pbm5lcndyYXBwZXIgPiAqIHtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIGltZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgLnBhcnRuZXItaW5uZXJ3cmFwcGVyIC5wYXJ0bmVyLWl0ZW0gcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIGg2LCAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIC5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cbiAgICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIHNwYW4gc3ZnIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbSBzcGFuIHBhdGgge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAucGFydG5lci1pbm5lcndyYXBwZXIgLnBhcnRuZXItaXRlbTpob3ZlciBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIC5wYXJ0bmVyLWlubmVyd3JhcHBlciAucGFydG5lci1pdGVtIC5pbm5lci1tZXRhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5tYWdhemluLWlubmVyd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gIC5tYWdhemluLWlubmVyd3JhcHBlciA+ICoge1xuICAgIGZsZXg6IDEgMSAzMy4zMyU7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogMTZweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE2MHB4LCAxZnIpKTsgfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAubWFnYXppbi1pbm5lcndyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7IH0gfVxuICAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLm1hZ2F6aW4taW5uZXJ3cmFwcGVyIC5tYWdhemluLWl0ZW0gaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gICAgICBib3gtc2hhZG93OiAzcHggM3B4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIGg2LCAubWFnYXppbi1pbm5lcndyYXBwZXIgLm1hZ2F6aW4taXRlbSAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtIC5lbnRyeS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAgIC5tYWdhemluLWlubmVyd3JhcHBlciAubWFnYXppbi1pdGVtOmhvdmVyIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTsgfVxuXG4uc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5jcnVtYiB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIgLmNydW1iIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciBsaSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtd3JhcHBlciAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0cy13cmFwcGVyIC5hcC1pdGVtIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5pbnB1dC1ncm91cCBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSk6Zm9jdXMge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIGZsZXg6IHVuc2V0OyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBjb2xvcjogIzMxMzk0MTtcbiAgICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogIzEwNTE2YjsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0IHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGUoMTJweCwgN3B4KTsgfVxuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3ZnOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24ge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC5idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cblxuLmluZm9ib3gtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW5mb2JveC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuICAuaW5mb2JveC13cmFwcGVyIGg0IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmluZm9ib3gtd3JhcHBlciBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5pbmZvYm94LXdyYXBwZXIgYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmluZm9ib3gtd3JhcHBlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgLmluZm9ib3gtd3JhcHBlciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbmZvYm94LXdyYXBwZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLmluZm9ib3gtd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCAzMnB4IDE2cHggMTZweDsgfVxuICAuaW5mb2JveC13cmFwcGVyIC5pbmZvYm94LWNsb3NlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICBwYWRkaW5nOiAxNnB4OyB9XG4gICAgLmluZm9ib3gtd3JhcHBlciAuaW5mb2JveC1jbG9zZTpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOyB9XG5cbltkYXRhLWZhbmN5Ym94XSBwaWN0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIFtkYXRhLWZhbmN5Ym94XSBwaWN0dXJlOmJlZm9yZSwgW2RhdGEtZmFuY3lib3hdIHBpY3R1cmU6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxuICBbZGF0YS1mYW5jeWJveF0gcGljdHVyZTpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDsgfVxuICBbZGF0YS1mYW5jeWJveF0gcGljdHVyZTphZnRlciB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgW2RhdGEtZmFuY3lib3hdIHBpY3R1cmU6aG92ZXI6YWZ0ZXIsIFtkYXRhLWZhbmN5Ym94XSBwaWN0dXJlOmhvdmVyOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBmaWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgODEsIDEwNywgMC4xKTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cblxuLnBhdGNoIHtcbiAgcGFkZGluZzogOHB4IDE2cHggOHB4IDE2cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kOiAjMTA1MTZiO1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGF0Y2gge1xuICAgICAgcGFkZGluZzogMjFweCAxNnB4IDE2cHggMTZweDsgfSB9XG4gIC5wYXRjaDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgI2ZmZmIwMDsgfVxuICAucGF0Y2ggc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTsgfVxuICAucGF0Y2g6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVzaG9wIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2hvcC1jb2xvcik7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZXNob3Age1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5rb3BmYmlsZC13cmFwcGVyIC5wYXRjaC1jb250YWN0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2hvcC1jb2xvcik7IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVndWljaGV0IHtcbiAgYmFja2dyb3VuZDogI2ZmNmI2YjtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZWd1aWNoZXQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIgLnBhdGNoLWVndWljaGV0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZXh0cmEge1xuICBib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAua29wZmJpbGQtd3JhcHBlciAucGF0Y2gtZXh0cmEge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi8qKioqKioqKioqKiogRU1CRUQgUExVR0lOICoqKioqKioqKioqKi9cbi5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMDUxNmI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAzMnB4OyB9IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2LCA4MSwgMTA3LCAwLjcpOyB9XG4gICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyOmhvdmVyICoge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyICoge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBoeXBoZW5zOiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciAqIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBoMywgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGgzLCAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgLmNoYXItd3JhcHBlcjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNlbTtcbiAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7IH1cbiAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfSB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lcltkYXRhLXR5cGU9XCJlbWJlZC10d2l0dGVyXCJdIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMCU7IH1cbiAgLnByaXZhY3ktZW1iZWQtY29udGFpbmVyIGlucHV0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNzUpO1xuICAgIGJvcmRlcjogMDsgfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgbGFiZWwgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAucHJpdmFjeS1lbWJlZC1jb250YWluZXIgLmVtYmVkLXByaXZhY3ktaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcml2YWN5LWVtYmVkLWNvbnRhaW5lciAuZW1iZWQtcHJpdmFjeS1sb2dvIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtaW1hZ2VtYXAgLmltYXAtaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogbnVyIHNpY2h0YmFyLCBuaWNodCBrbGlja2VuLWJsb2NrZW4gKi8gfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCAuaW1hcC1zaGFwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAxNjAsIDI1NSwgMC4yNSk7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDAsIDE2MCwgMjU1LCAwLjc1KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLXNoYXBlLS1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7IH1cblxuLnRvcC1iYXItcmlnaHQgLnBhZ2UtaXRlbS0xMTM1NiwgLnRvcC1iYXItcmlnaHQgLnBhZ2UtaXRlbS0xMTU5MyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpLnBhZ2UtaXRlbS0xMTU5Myxcbi5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaS5wYWdlLWl0ZW0tMTEzNTYge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIGEsIGJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIC5iYWNrIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1zaG9wLWNvbG9yKTsgfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciAuY2hpbGRuYXYgYTpub3QoLmJhY2spIHtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIGJvZHkud29vY29tbWVyY2UgLm1haW4tY29udGFpbmVyIC5jaGlsZG5hdiBhOm5vdCguYmFjaykge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH0gfVxuXG5ib2R5Lndvb2NvbW1lcmNlIC5tYWluLWNvbnRhaW5lciAuYmFjazpob3ZlciwgYm9keS53b29jb21tZXJjZSAubWFpbi1jb250YWluZXIgLmJhY2s6aG92ZXIgc3ZnIHtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbixcbmJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdCxcbmJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZ2Zvcm1fYnV0dG9uLFxuLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5nZm9ybV9idXR0b24sXG4uZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b24sXG5ib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LFxuYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbixcbi5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaG9wLWNvbG9yKTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5kaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5hbHQuZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmRpc2FibGVkLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgYm9keS53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbiB7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLCBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uOmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLCAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSwgYm9keS53b29jb21tZXJjZSBhLmJ1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLCBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5kaXNhYmxlZC5nZm9ybV9idXR0b24sIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBhLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGEuYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF0sXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b246ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmdmb3JtX2J1dHRvbjpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQ6aG92ZXIsXG4gICAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZGlzYWJsZWQuZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZCxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0Lmdmb3JtX2J1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXSxcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5hbHQuZ2Zvcm1fYnV0dG9uOmRpc2FibGVkW2Rpc2FibGVkXTpob3ZlcixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b24sXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbixcbiAgICBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LmRpc2FibGVkOmhvdmVyLFxuICAgIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5kaXNhYmxlZC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBidXR0b24uYWx0LmRpc2FibGVkLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaG9wLWNvbG9yKTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYS5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYS5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmhvdmVyLFxuICBib2R5Lndvb2NvbW1lcmNlIC5nZm9ybV93cmFwcGVyIGEuYWx0Lmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgLmdmb3JtX3dyYXBwZXIgYm9keS53b29jb21tZXJjZSBhLmFsdC5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbjpob3ZlcixcbiAgYm9keS53b29jb21tZXJjZSAuZ2Zvcm1fd3JhcHBlciBidXR0b24uZ2Zvcm1fYnV0dG9uOmhvdmVyLFxuICAuZ2Zvcm1fd3JhcHBlciBib2R5Lndvb2NvbW1lcmNlIGJ1dHRvbi5nZm9ybV9idXR0b246aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6aG92ZXIsXG4gIGJvZHkud29vY29tbWVyY2UgLmdmb3JtX3dyYXBwZXIgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246aG92ZXIsXG4gIC5nZm9ybV93cmFwcGVyIGJvZHkud29vY29tbWVyY2UgYnV0dG9uLmFsdC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuYm9keS53b29jb21tZXJjZSAud2lkZ2V0X3Nob3BwaW5nX2NhcnQge1xuICBtYXJnaW46IDMycHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7IH1cblxuYm9keS53b29jb21tZXJjZSAuc2t1X3dyYXBwZXIsIGJvZHkud29vY29tbWVyY2UgLnBvc3RlZF9pbiwgYm9keS53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ud29vY29tbWVyY2UtZXJyb3IgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfVxuICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAxNnB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogOHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjMsIDIyMywgMjIzLCAwLjM1KTtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgICAgICB3aWR0aDogY2FsYyggMzMuMzMlIC0gMTZweCkgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgICAgICB3aWR0aDogY2FsYyggMjUlIC0gMTZweCkgIWltcG9ydGFudDsgfSB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Q6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBwOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCBhLmJ1dHRvbixcbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuZ2Zvcm1fd3JhcHBlciBhLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgYS5nZm9ybV9idXR0b24ge1xuICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgKyAxNnB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC04cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4OyB9XG4gICAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDIud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0OmhvdmVyIGEuYnV0dG9uLFxuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0OmhvdmVyIC5nZm9ybV93cmFwcGVyIGEuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdDpob3ZlciBhLmdmb3JtX2J1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEzOTQxOyB9XG5cbi5zaW5nbGUtcHJvZHVjdCAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5zaW5nbGUtcHJvZHVjdCAucmVsYXRlZC5wcm9kdWN0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keS53b29jb21tZXJjZS1wYWdlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QgcC5wcmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJzsgfVxuICBib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3QgLnByb2R1Y3QgZGl2Lndvb2NvbW1lcmNlLXByb2R1Y3QtZ2FsbGVyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxNi4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIGJvZHkud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdCBkaXYud29vY29tbWVyY2UtcHJvZHVjdC1nYWxsZXJ5IGZpZ3VyZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGOyB9XG4gIGJvZHkud29vY29tbWVyY2UtcGFnZS5zaW5nbGUtcHJvZHVjdCAucHJvZHVjdCBkaXYuc3VtbWFyeSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxubGkud2NfcGF5bWVudF9tZXRob2QucGF5bWVudF9tZXRob2Rfb2dvbmUgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgbGkud2NfcGF5bWVudF9tZXRob2QucGF5bWVudF9tZXRob2Rfb2dvbmUgbGFiZWwgaW1nIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG4jY3VzdG9tZXJfZGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAxNnB4IDMycHg7IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLmNvbC0xIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjY3VzdG9tZXJfZGV0YWlscyAuY29sLTIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLndvb2NvbW1lcmNlLWJpbGxpbmctZmllbGRzX19maWVsZC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICNjdXN0b21lcl9kZXRhaWxzIC5hZGRyZXNzLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19jb21wYW55X2ZpZWxkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19wb3N0Y29kZV9maWVsZCxcbiAgICAjY3VzdG9tZXJfZGV0YWlscyAjYmlsbGluZ19jaXR5X2ZpZWxkLFxuICAgICNjdXN0b21lcl9kZXRhaWxzICNiaWxsaW5nX2NvdW50cnlfZmllbGQge1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICNjdXN0b21lcl9kZXRhaWxzICNiaWxsaW5nX2VtYWlsX2ZpZWxkLFxuICAgICNjdXN0b21lcl9kZXRhaWxzICNiaWxsaW5nX3Bob25lX2ZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2N1c3RvbWVyX2RldGFpbHMgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDM5cHg7IH1cbiAgICAjY3VzdG9tZXJfZGV0YWlscyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgICAgaGVpZ2h0OiAzOXB4OyB9XG4gICAgICAjY3VzdG9tZXJfZGV0YWlscyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4OyB9XG4gICAgICAjY3VzdG9tZXJfZGV0YWlscyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgICAgIGhlaWdodDogMzVweDsgfVxuXG4jb3JkZXJfcmV2aWV3X2hlYWRpbmcsXG4jb3JkZXJfcGF5bWVudF9oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMzJweDsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItb3ZlcnZpZXcgbGk6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItZGV0YWlscy10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscy10aXRsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbmJvZHkud29vY29tbWVyY2UtY2hlY2tvdXQgLnNob3BfdGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uY2FydF90b3RhbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcnRfdG90YWxzIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi53b29jb21tZXJjZS1jYXJ0IC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IGEuY2hlY2tvdXQtYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2hlY2tvdXQtb3RoZXIge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnOyB9XG5cbi53b29jb21tZXJjZSAud2lkZ2V0X3Nob3BwaW5nX2NhcnQgLmNhcnRfbGlzdCBsaSBhLnJlbW92ZSwgLndvb2NvbW1lcmNlLndpZGdldF9zaG9wcGluZ19jYXJ0IC5jYXJ0X2xpc3QgbGkgYS5yZW1vdmUge1xuICBsaW5lLWhlaWdodDogMC43MzsgfVxuXG4ud29vY29tbWVyY2UgdWwuY2FydF9saXN0IGxpIGltZywgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcywgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIHtcbiAgYm9yZGVyLWJvdHRvbTogMHB4OyB9XG5cbi53b29jb21tZXJjZSAjb3JkZXJfcmV2aWV3IC5sZWdhbCB7XG4gIG1hcmdpbjogMTZweCAwOyB9XG4gIC53b29jb21tZXJjZSAjb3JkZXJfcmV2aWV3IC5sZWdhbCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCB7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4uYXJjaGl2LXZpZXcgaDIsIC5hcmNoaXYtdmlldyBoMiBhIHtcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG5cbi5hcmNoaXYtdmlldyAuZ3JpZC13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA0NC41cmVtOyB9XG5cbi5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERkRGREY7XG4gIHBhZGRpbmc6IDE2cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggMDsgfSB9XG4gIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtIDA7IH1cblxuLnBhcmVudC1uZXdzYXJjaGl2IC53cmFwcGVyLS1uZXdzIHtcbiAgZ3JpZC1nYXA6IDE2cHg7IH1cblxuLnNpbmdsZSAucG9zdC10aHVtYi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2luZ2xlIC5iYWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDE2cHggMCAxNnB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNpbmdsZSBoZWFkZXIgLmJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNC4zNzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IC0zLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIHAge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjkzNzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zcmVndWxhcicsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgcCB7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIGEge1xuICAgIGNvbG9yOiAjMzEzOTQxOyB9XG4gICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAuZGF0ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5zaW5nbGUgLmlubmVybWV0YS13cmFwcGVyIC5wcmludCBzdmcge1xuICAgIG1hcmdpbjogMCAwLjI1cmVtIDAgMDsgfVxuICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAuc2hhcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgLnNpbmdsZSAuaW5uZXJtZXRhLXdyYXBwZXIgLnNoYXJlIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuc2luZ2xlIC5pbm5lcm1ldGEtd3JhcHBlciAuc2hhcmUgYS5mYWNlYm9vayB7XG4gICAgICAgIG1hcmdpbjogMCAwLjE4NzVyZW07IH1cblxuLyoqKioqKiBQUklOVCBTVFlMRVNIRUVUICoqKioqKioqKi9cbkBtZWRpYSBwcmludCB7XG4gIC50b3AtYmFyLXJpZ2h0LFxuICAudGl0bGUtYmFyLFxuICAua29wZmJpbGQtd3JhcHBlcixcbiAgLnNpdGUtaGVhZGVyOmFmdGVyLFxuICAuc2lkZWJhcixcbiAgLmlubmVybWV0YS13cmFwcGVyLFxuICAuZm9vdGVyLFxuICAuY2FyZC13cmFwcGVyIGltZyxcbiAgLmZsZXhpYmxlLWZvcm0td3JhcHBlcixcbiAgLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyLFxuICAuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyLFxuICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyLFxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIsXG4gIC5hcC10aHVtYiBhOmFmdGVyLFxuICAuZmlsdGVyLXdyYXBwZXIsXG4gIC5hbmxpZWdlbi1oZWFkZXIsXG4gICNjb250YWN0LW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBpbWcge1xuICAgIGZpbHRlcjogZ3JleXNjYWxlKDEwMCUpICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAudG9wLWJhciAudG9wLWJhci10aXRsZSBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItdGl0bGUgYSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA3LjE4NzVyZW07IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIGE6YmVmb3JlLCAudG9wLWJhciAudG9wLWJhci10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAudG9wLWJhciAudG9wLWJhci1pbm5lcndyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIGgxLmVudHJ5LXRpdGxlLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV90ZWwsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX2VtYWlsLCAjY29udGFjdC1vdmVybGF5IC5lbnRyeS10aXRsZS5sYXJnZV9hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDI2cHQ7IH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAsIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAgbGksIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIC5idXR0b24tZ3JvdXAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLyogUGxhY2Vob2xkZXIgKi9cbi50b3AtYmFyIC5jaGlsZG5hdiA+IGxpID4gYSwgLmRyaWxsZG93biBsaS5wYWdlX2l0ZW0gYSwgLm9mZi1jYW52YXMgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCBhLCAud3JhcHBlci0tbmV3cyAubmV3cy1rYWNoZWwtaW1hZ2UgLm5ld3MtbWV0YSwgLnRvcC1iYXIgLmNoaWxkbmF2LCAuYW5saWVnZW4tbGlzdCBoMywgLmNoYXJtZW51LCAuY2hhci13cmFwcGVyOmJlZm9yZSwgLmhvbWUgLmhvbWVfc3VidGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5yZXN1bHRzLWl0ZW0gdWwsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwge1xuICBtYXJnaW46IDE2cHggMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5yZXN1bHRzLWl0ZW0gdWwgbGksIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaSwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJlc3VsdHMtaXRlbSB1bCBsaSwgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHVsIGxpLCAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OyB9IH1cbiAgICAucmVzdWx0cy1pdGVtIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCksIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaTpub3QoOmxhc3QtY2hpbGQpLCAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLnJlc3VsdHMtaXRlbSB1bCBsaTpiZWZvcmUsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaTpiZWZvcmUsIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgZGl2IHVsIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEuODc1cmVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbD0nY3VycmVudENvbG9yJyBmaWxsLW9wYWNpdHk9JzAuMjUnIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpIGxlZnQgOHB4IG5vLXJlcGVhdDsgfVxuICAgIC5yZXN1bHRzLWl0ZW0gdWwgbGkgdWwsIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciB1bCBsaSB1bCwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYgdWwgbGkgdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5hbmxpZWdlbi1saXN0LCAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMsIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiwgLmFwLXdyYXBwZXIgPiAqLCAuZmxleGlibGUtZm9ybS13cmFwcGVyLCAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG5cbi8qIElEUyBmb3IgdGhlIGNvbG9yIHNjaGVtZSAqL1xuaHRtbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5oNSxcbmg2LFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICBhOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjY2M0YjM3O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNpdGUtaGVhZGVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0ZGRkZGRiA0cHgsIHRyYW5zcGFyZW50IDElKSBjZW50ZXIsIGxpbmVhci1ncmFkaWVudCgjRkZGRkZGIDRweCwgdHJhbnNwYXJlbnQgMSUpIGNlbnRlciwgcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG51LCAqW3N0eWxlKj1cInVuZGVybGluZVwiXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07IH1cblxuLmtvcGZiaWxkLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMzEzOTQxIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDcuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAxMC42MjVyZW07IH0gfVxuICAua29wZmJpbGQtd3JhcHBlciBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAua29wZmJpbGQtd3JhcHBlciAub3V0ZXItZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAua29wZmJpbGQtd3JhcHBlciAuZ3JpZC13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmtvcGZiaWxkLXdyYXBwZXIgLmdyaWQtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gICAgICAua29wZmJpbGQtd3JhcHBlciAuZ3JpZC13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgICAua29wZmJpbGQtd3JhcHBlciAuZ3JpZC13cmFwcGVyID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5iYWNrIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gIC5iYWNrIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIG1hcmdpbi1yaWdodDogMC4zNzVyZW07IH1cbiAgLmJhY2s6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuXG4uZ3JpZC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogYXV0bzsgfVxuICAuZ3JpZC13cmFwcGVyID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAuZ3JpZC13cmFwcGVyIC5zaWRlYmFyIHtcbiAgICBmbGV4OiAxIDAgMTguNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmdyaWQtd3JhcHBlciAuc2lkZWJhciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsgfSB9XG5cbi5tYWluLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICBmbGV4OiAwIDAgNDMuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWFpbi1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1haW4tY29udGVudC5mdWxsLXdpZHRoIC5lbnRyeS1jb250ZW50ID4gaGVhZGVyIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubWFpbi1jb250ZW50LmZ1bGwtd2lkdGggLmVudHJ5LWNvbnRlbnQgPiBoZWFkZXIsIC5tYWluLWNvbnRlbnQuZnVsbC13aWR0aCAuZW50cnktY29udGVudCA+IGhlYWRlciAuaW50cm86YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tYWluLWNvbnRlbnQuZnVsbC13aWR0aCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMy4xMjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbm5lcm1ldGEtd3JhcHBlciB7XG4gIHRvcDogLTEuODc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmlubmVybWV0YS13cmFwcGVyIHAge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5pbm5lcm1ldGEtd3JhcHBlciBhIHtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7IH1cblxuLm1haW4tY29udGVudDpub3QoLnN0ZXVlcnNhZXR6ZS13cmFwcGVyKSAuZW50cnktY29udGVudCBhOm5vdCguYnV0dG9uKSB7XG4gIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlOyB9XG4gIC5tYWluLWNvbnRlbnQ6bm90KC5zdGV1ZXJzYWV0emUtd3JhcHBlcikgLmVudHJ5LWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1haW4tY29udGVudDpub3QoLnN0ZXVlcnNhZXR6ZS13cmFwcGVyKSAuZW50cnktY29udGVudCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cblxuaDEuZW50cnktdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmNvbnRhY3RfdGl0bGUsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX3RlbCwgI2NvbnRhY3Qtb3ZlcmxheSAuZW50cnktdGl0bGUubGFyZ2VfZW1haWwsICNjb250YWN0LW92ZXJsYXkgLmVudHJ5LXRpdGxlLmxhcmdlX2FkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uaW50cm8ge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9IH1cbiAgLmludHJvOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogNHJlbTtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cblxuLyoqKioqKioqKiBGTEVYSUJMRSBDT05URU5UICoqKioqKioqKioqL1xuYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5Om5vdCguc2VhcmNoLXJlc3VsdHMpIC5mbGV4aWJsZS1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH0gfVxuICBib2R5Om5vdCguc2VhcmNoLXJlc3VsdHMpIC5mbGV4aWJsZS1jb250ZW50LmhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keTpub3QoLnNlYXJjaC1yZXN1bHRzKSAuZmxleGlibGUtY29udGVudC5oYWxmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfSB9XG4gIGJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQuYWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQuYWx0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsgfSB9XG5cbi8qKioqKiogRk9PVEVSICoqKioqKioqL1xuLmZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDk2cHg7IH0gfVxuICAuZm9vdGVyIC5jaGlsZG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm9vdGVyIC5jaGlsZG5hdiBhIHtcbiAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOyB9XG4gICAgICAuZm9vdGVyIC5jaGlsZG5hdiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMzMTM5NDEgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyIC5jaGlsZG5hdiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICMzMTM5NDE7IH1cbiAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGFydGljbGUge1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDMycHggMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAzMnB4IGF1dG8gMCBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlID4gKiB7XG4gICAgICAgIGZsZXg6IDE7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlID4gKiB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlID4gKjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIGFydGljbGUsIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYXJ0aWNsZSBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB1bCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC50b3RvcCB7XG4gICAgICAgIG9yZGVyOiAzOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnRvdG9wIGEge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLnNvY2lhbCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuc29jaWFsIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuc29jaWFsIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuc29jaWFsIGEgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuY29weXJpZ2h0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuY29weXJpZ2h0IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuY29weXJpZ2h0IGxpIHtcbiAgICAgICAgbWFyZ2luOiA1LjMzMzMzcHggMDsgfVxuXG4uaG9tZSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuICAuaG9tZSAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IDkwcmVtOyB9XG4gIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgICAvKlxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7IFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH0qLyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjhlbSkge1xuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNy41cmVtOyB9IH1cbiAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiB7XG4gICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogNC4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA1cmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjgpOyB9XG4gICAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmJlZm9yZSwgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpID4gYTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICovIH1cbiAgICAgICAgICAuaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYgbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvcik7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5ob21lIC5rb3BmYmlsZC13cmFwcGVyIC5jaGlsZG5hdiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLmhvbWUgLmtvcGZiaWxkLXdyYXBwZXIgLmNoaWxkbmF2IC5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ5LjkzNzVlbSkge1xuICAgIC5ob21lIC5zaXRlLWhlYWRlcjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDVyZW07IH0gfVxuICAuaG9tZSAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICMxMDUxNmI7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbWUgLmhvbWVfc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMjVyZW07IH1cbiAgICAgICAgLmhvbWUgLmhvbWVfc3VidGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTAuNjVlbSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7IH0gfVxuICAuaG9tZSAuaG9tZV90aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjMxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmhvbWUgLmhvbWVfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG4gIC5ob21lIC5ob21lX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLmhvbWUgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICAvKi5tZXRhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuICAgIH0qLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiA5NnB4IDA7IH0gfVxuICAgIC5ob21lIC53cmFwcGVyIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXIuZ3JheSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4MSwgMTgwLCAxNjgsIDAuMSk7IH1cbiAgICAuaG9tZSAud3JhcHBlciAuYWZ0ZXJidXR0b24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogMCAxNnB4IDAgYXV0bzsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgLmhvbWUgLndyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDE2cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTA1MTZiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiAjMTA1MTZiOyB9XG4gICAgICAuaG9tZSAud3JhcHBlciAuYnV0dG9uOmhvdmVyLCAuaG9tZSAud3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbjpob3Zlclt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXIgaW5wdXQuYnV0dG9uOmhvdmVyW3R5cGU9c3VibWl0XSxcbiAgICAgIC5ob21lIC53cmFwcGVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIsIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMzEzOTQxO1xuICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW5ldWlna2VpdGVuIC5tYWluLWNvbnRhaW5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlci0tbmV1aWdrZWl0ZW4gLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1uZXVpZ2tlaXRlbiAubWFpbi1jb250YWluZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAubWFpbi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTM5NDE7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2hhZG93OiAxMHB4IDEwcHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTMwcHg7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItd3JhcHBlciA+ICoge1xuICAgICAgICAgIGdyaWQtYXJlYTogMSAvIDE7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmlubmVyLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgZ2FwOiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuaW5uZXItY29udGVudCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgLmlubmVyLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjgpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuaG9tZV9zdWJ0aXRsZTphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5ibG9jay1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDUuNnB4OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5iYW5uZXItdGl0bGUge1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1iYW5uZXIgc3Bhbi5idXR0b24sXG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIC5nZm9ybV93cmFwcGVyIHNwYW4uZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tYmFubmVyIHNwYW4uZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMi44cHggMTZweCA5LjZweCAxNnB4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciBzcGFuLmJ1dHRvbjpob3ZlcixcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWJhbm5lciAuZ2Zvcm1fd3JhcHBlciBzcGFuLmdmb3JtX2J1dHRvbjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLWJhbm5lciBzcGFuLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIGE6aG92ZXIgLmlubmVyLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ5LCA1NywgNjUsIDAuOTUpOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tYmFubmVyIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmNsYWltLXdyYXBwZXIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGU6bm90KC5jb3VudC0zKSAubWFpbi1jb250YWluZXIucm93LTIgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZTpub3QoLmNvdW50LTMpIC5jbGFpbS13cmFwcGVyIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUuY291bnQtMyAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZS5jb3VudC0zIC5tYWluLWNvbnRhaW5lci5yb3ctMiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjUlOyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAubWFpbi1jb250YWluZXIucm93LTIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC5tYWluLWNvbnRhaW5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAubWFpbi1jb250YWluZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmNsYWltLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLmNsYWltLXdyYXBwZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSAuY2FyZCB7XG4gICAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIC5jYXJkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIC5jYXJkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDUwJSAtIDE2cHgpOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgLmNhcmQge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gMTZweCk7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgZmlndXJlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXByb2pla3RlIC53cmFwcGVyLS1pbm5lcnByb2pla3RlIHBpY3R1cmUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgcGljdHVyZSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggOHB4IDE1cHg7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSBwaWN0dXJlIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggOHB4IDMwcHg7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMC45Mzc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wcm9qZWt0ZSAud3JhcHBlci0taW5uZXJwcm9qZWt0ZSBpbWcge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcHJvamVrdGUgLndyYXBwZXItLWlubmVycHJvamVrdGUgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDhweDsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3Mge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgKyAzMnB4KTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4OyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCBoNSwgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQgc3BhbiB7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIC5uZXdzLWthY2hlbC1pbWFnZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDguMTI1cmVtOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCBzcGFuOm5vdCgubmV3cy1tZXRhKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1uZXdzIC5jYXJkIC5uZXdzLW1ldGEge1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAxNnB4OyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQ6aG92ZXIgaDUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAgICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZDpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tbmV3cyAuY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggNTAlIC0gMTZweCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLW5ld3MgLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDMzJSAtIDE2cHgpOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLm1haW4tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDE2cHgpOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxNnB4KTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5hZnRlcmJ1dHRvbiBhIHtcbiAgICAgICAgICBtYXJnaW46IDE2cHggMCAwIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBjb2x1bW4tZ2FwOiAzMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIHtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCB7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgdWwgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIGEge1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgY29sb3I6ICMxMDUxNmI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbD0nI0ZGRkZGRicgZmlsbC1ydWxlPSdldmVub2RkJy8+JTNDL3N2ZyUzRVwiKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyB1bCBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsPScjMDAwMDAwJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz4lM0Mvc3ZnJTNFXCIpIGNlbnRlciBsZWZ0IG5vLXJlcGVhdDtcbiAgICAgICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIHVsIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLXF1aWNrbGlua3MgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tcXVpY2tsaW5rcyAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTZweDsgfVxuICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5maWx0ZXItYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMC42NjY2N3B4IDY0cHggMTAuNjY2NjdweCAzMnB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAzMS4yNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMxMDUxNmI7XG4gICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMWU1Nzk5KzAsMWU1Nzk5KzUwLDI5ODlkOCs1MCwyMDdjY2ErMTAwICovXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjMxMDUxNmInIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIHJpZ2h0IDE2cHggbm8tcmVwZWF0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1xdWlja2xpbmtzIC5maWx0ZXItYnV0dG9ucyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5ob21lX3N1YnRpdGxlLCAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLmhvbWVfdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLmhvbWVfc3VidGl0bGU6YWZ0ZXIsIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAuaG9tZV90aXRsZTphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5rYWNoZWwtbWV0YSBoNSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tbnVldHpsaWNoZXMgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiB3cmFwIHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIgPiBhIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDE2cHgpO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5tYWluLWNvbnRhaW5lciA+IGEge1xuICAgICAgICAgICAgICBtYXJnaW46IDhweDsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLW51ZXR6bGljaGVzIC5tYWluLWNvbnRhaW5lciA+IGEge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gMTZweCk7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1udWV0emxpY2hlcyAubWFpbi1jb250YWluZXIgPiBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDI1JSAtIDE2cHgpOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAzMnB4O1xuICAgICAgICAgIC8qJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0qMTU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZyB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9Ki8gfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYge1xuICAgICAgICAgICAgICBwYWRkaW5nOiA0OHB4IDY0cHggNDhweCAxNnB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2ID4gKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5LjM3NXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDkuOTM3NWVtKSB7XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAuMTg3NXJlbSAwLjE4NzVyZW0gMC4yNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgc3Ryb25nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDA7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXYgcCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAubW9yZSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5tb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdiAubW9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7IH0gfVxuICAgICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp3ZWl0ZWlsZXIgLm1haW4tY29udGFpbmVyID4gZGl2IC5tb3JlOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS16d2VpdGVpbGVyIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzOTQxOyB9XG4gICAgICAgICAgICAuaG9tZSAud3JhcHBlci0tendlaXRlaWxlciAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZTphZnRlciB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzk0MTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5pbm5lcmNvbnRlbnQge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5ob21lX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIGlmcmFtZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheSBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXkgc3ZnIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIHdpZHRoOiA2LjM3NXJlbTtcbiAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5IHN2ZyBlbGxpcHNlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBmaWxsOiAjMTA1MTZiOyB9XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5IHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBmaWxsOiAjRkZGRkZGOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjcGxheTpob3ZlciBzdmcgZWxsaXBzZSB7XG4gICAgICAgICAgZmlsbDogI0ZGRkZGRjsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tenVnZXpvZ2VuZSAubWFpbi1jb250YWluZXIgI3BsYXk6aG92ZXIgc3ZnIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICMxMDUxNmI7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICNwbGF5LmlzLXBsYXlpbmcge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyIC5lbWJlZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEuMjVyZW07XG4gICAgICAgIGxlZnQ6IDEuMjVyZW07XG4gICAgICAgIGJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3gtc2hhZG93OiAyNXB4IDI1cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS16dWdlem9nZW5lIC5tYWluLWNvbnRhaW5lciAjdmlkZW8tbGFuZ3VhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXp1Z2V6b2dlbmUgLm1haW4tY29udGFpbmVyICN2aWRlby1sYW5ndWFnZSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIC8qXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuOSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9Ki8gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciAqIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGgyIGJyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjkzNzVyZW07IH1cbiAgICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGgyIGJyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIHAge1xuICAgICAgICAgIG1heC13aWR0aDogMjEuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuYnV0dG9uLCAuaG9tZSAud3JhcHBlci0tcGFydG5lciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBtYXJnaW46IDEycHggYXV0byAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmJ1dHRvbiwgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gICAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1wYXJ0bmVyIC5ob21lX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmhvbWVfc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICAgICAgLmhvbWUgLndyYXBwZXItLXBhcnRuZXIgLmhvbWVfc3VidGl0bGU6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTByZW07XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyIC5rYWNoZWwtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDMycHggMzJweCAzMnB4OyB9XG4gICAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSBoMiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gZGl2OmZpcnN0LW9mLXR5cGUgLmJ1dHRvbixcbiAgICAgICAgLmhvbWUgLndyYXBwZXItLWdhbGVyaWVuIC5tYWluLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1vZi10eXBlIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b24sIC5nZm9ybV93cmFwcGVyIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgIC5ob21lIC53cmFwcGVyLS1nYWxlcmllbiAubWFpbi1jb250YWluZXIgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gLmNhcmQge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgICAuaG9tZSAud3JhcHBlci0tZ2FsZXJpZW4gLm1haW4tY29udGFpbmVyID4gLmNhcmQge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbi5mbGV4aWJsZS1pZnJhbWUtd3JhcHBlciBpZnJhbWUge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgdWw6bm90KC5idXR0b24tZ3JvdXApIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciB1bDpub3QoLmJ1dHRvbi1ncm91cCkgbGkge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIC5mbGV4aWJsZS1saW5rcy13cmFwcGVyIHVsOm5vdCguYnV0dG9uLWdyb3VwKSBhIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgdWw6bm90KC5idXR0b24tZ3JvdXApIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cblxuLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCA+ICoge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwIGxpIHtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cbiAgLmZsZXhpYmxlLWxpbmtzLXdyYXBwZXIgLmJ1dHRvbi1ncm91cCBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5yZXN1bHRzLWl0ZW0gcCxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBwIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJzsgfVxuXG4ucmVzdWx0cy1pdGVtIGEsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAucmVzdWx0cy1pdGVtIGE6aG92ZXIsXG4gIC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuXG4ucmVzdWx0cy1pdGVtIGg0LCAucmVzdWx0cy1pdGVtIGg1LCAucmVzdWx0cy1pdGVtIGg2LCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDQsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDUsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDYsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLnJlc3VsdHMtaXRlbSBoNCxcbi5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciBoNCB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JsYWNrJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnJlc3VsdHMtaXRlbSBoMSwgLnJlc3VsdHMtaXRlbSAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5yZXN1bHRzLWl0ZW0gLmNvbnRhY3RfdGl0bGUsIC5yZXN1bHRzLWl0ZW0gI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5yZXN1bHRzLWl0ZW0gLmxhcmdlX3RlbCwgLnJlc3VsdHMtaXRlbSAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAucmVzdWx0cy1pdGVtIC5sYXJnZV9lbWFpbCwgLnJlc3VsdHMtaXRlbSAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAjY29udGFjdC1vdmVybGF5IC5yZXN1bHRzLWl0ZW0gLmxhcmdlX2FkZHJlc3MsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDEsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAuY29udGFjdF90aXRsZSxcbiNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5jb250YWN0X3RpdGxlLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyICNjb250YWN0LW92ZXJsYXkgLmxhcmdlX3RlbCxcbiNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5sYXJnZV90ZWwsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfZW1haWwsXG4jY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS1lZGl0b3Itd3JhcHBlciAubGFyZ2VfZW1haWwsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfYWRkcmVzcyxcbiNjb250YWN0LW92ZXJsYXkgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5sYXJnZV9hZGRyZXNzIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4ucmVzdWx0cy1pdGVtIGgyLCAucmVzdWx0cy1pdGVtIGgzLCAucmVzdWx0cy1pdGVtIC5jaGFyLXdyYXBwZXI6YmVmb3JlLCAucmVzdWx0cy1pdGVtIGg1LFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgyLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGgzLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5jaGFyLXdyYXBwZXI6YmVmb3JlLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg1IHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4ucmVzdWx0cy1pdGVtIGg0LCAucmVzdWx0cy1pdGVtIGg2LCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZW50cnktdGl0bGUsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDQsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgaDYsXG4uZmxleGlibGUtZWRpdG9yLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLFxuLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJlc3VsdHMtaXRlbSBoNCxcbiAgLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIGg0IHtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9IH1cblxuLmZsZXhpYmxlLWZ1bGx3aWR0aC13cmFwcGVyIC5jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1mdWxsd2lkdGgtd3JhcHBlciAuY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNS42MjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMTZweDsgfSB9XG5cbi5mbGV4aWJsZS1mdWxsd2lkdGgtd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciB1bCBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERkRGREY7XG4gICAgcGFkZGluZzogMC42ODc1cmVtIDA7IH1cbiAgICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuXG4uZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIgLmlubmVybWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cblxuLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5maWxlLWljb24ge1xuICBmbGV4OiAwIDAgMi4xODc1cmVtO1xuICBjb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4gIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07IH1cblxuLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5kb3dubG9hZC1jYXRzIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjMzEzOTQxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZG93bmxvYWQtY2F0cyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIC5kb3dubG9hZC1jYXRzIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIC5mbGV4aWJsZS1kb3dubG9hZHMtd3JhcHBlciAuZG93bmxvYWQtY2F0cyBzcGFuIHtcbiAgICBtYXJnaW46IDAgMC4zMTI1cmVtOyB9XG5cbi5mbGV4aWJsZS1oYWxmd2lkdGgtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxleGlibGUtaGFsZndpZHRoLXdyYXBwZXIgPiAqIHtcbiAgICB3aWR0aDogNDklO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsZXhpYmxlLXRoaXJkd2lkdGgtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxleGlibGUtdGhpcmR3aWR0aC13cmFwcGVyIC5mbGV4aWJsZS10aGlyZHdpZHRoLWltZyB7XG4gICAgbWF4LXdpZHRoOiAzNC4zNzVyZW07IH1cbiAgLmZsZXhpYmxlLXRoaXJkd2lkdGgtd3JhcHBlciAuY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS10aGlyZHdpZHRoLXdyYXBwZXIgLmNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNS42MjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNnB4OyB9IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItaXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci13cmFwcGVyIGltZyB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuW2RhdGEtY29sdW1uPVwiaGFsZlwiXSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogMXJlbTtcbiAgLyogamUgbmFjaCBCZWRhcmYgKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OS45Mzc1ZW0pIHtcbiAgW2RhdGEtY29sdW1uPVwiaGFsZlwiXSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuXG4uYXAtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmFwLXdyYXBwZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERkRGREY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyID4gKiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5hcC13cmFwcGVyID4gKiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH0gfVxuICAuYXAtd3JhcHBlciBoNiwgLmFwLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuYXAtd3JhcHBlciAuZW50cnktdGl0bGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgaDYsIC5hcC13cmFwcGVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmFwLXdyYXBwZXIgLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmFwLXdyYXBwZXIgYSB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmFwLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAuYXAtd3JhcHBlciAuYXAtbWV0YSB7XG4gICAgcGFkZGluZzogMS40Mzc1cmVtOyB9XG4gIC5hcC13cmFwcGVyIC5hcC1mdW5rdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogcmdiYSg0OSwgNTcsIDY1LCAwLjYpOyB9XG4gIC5hcC13cmFwcGVyIC5hcC1jb250YWN0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgLmFwLXdyYXBwZXIgLmlzLWFuc3ByZWNocGFydG5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYXAtd3JhcHBlciAuaXMtYW5zcHJlY2hwYXJ0bmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG4gICAgLmFwLXdyYXBwZXIgLmlzLWFuc3ByZWNocGFydG5lciAuYXAtdGh1bWIge1xuICAgICAgZmxleDogMCAwIDcuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiBoNiwgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuZW50cnktdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcC10aHVtYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMTEuMjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDEuNDM3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXAtdGh1bWIge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXAtd2VibWFpbCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmFwLXdyYXBwZXIgLmlzLWluc3RpdHV0aW9uZW4gLmFwLXdlYm1haWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgICAgIC5hcC13cmFwcGVyIC5pcy1pbnN0aXR1dGlvbmVuIC5hcC13ZWJtYWlsIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYXAtd3JhcHBlciAuaXMtaW5zdGl0dXRpb25lbiAuYXAtd2VibWFpbCA+ICoge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH0gfVxuXG4uZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5jYXJkLXdyYXBwZXIge1xuICBncmlkLWF1dG8tcm93czogMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmNhcmQtd3JhcHBlciB7XG4gICAgICBncmlkLWdhcDogMC4wNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5jYXJkLXdyYXBwZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDMuNjI1cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTgxLCAxODAsIDE2OCwgMC4xKTtcbiAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhID4gKiB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgYTpob3ZlciBoNiwgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhOmhvdmVyIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhOmhvdmVyIC5lbnRyeS10aXRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciBhOmhvdmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSA+ICoge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSBoNiwgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIC5hcmNoaXYtdmlldyAucmVzdWx0cy1pdGVtIC5lbnRyeS10aXRsZSwgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIC5lbnRyeS10aXRsZSB7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbW96LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIGg2LCAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgLmVudHJ5LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciAua2FjaGVsLW5vLWltYWdlIGg2LCAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZmxleGlibGUtY2hpbGRwYWdlcy13cmFwcGVyIC5rYWNoZWwtbm8taW1hZ2UgLmVudHJ5LXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjg3NXJlbTsgfSB9XG5cbi5mbGV4aWJsZS1jaGlsZHBhZ2VzLXdyYXBwZXIgLmthY2hlbC1uby1pbWFnZSBzcGFuIHtcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgxODEsIDE4MCwgMTY4LCAwLjEpO1xuICB3aWR0aDogMy42MjVyZW07XG4gIGhlaWdodDogMy42MjVyZW07XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsgfVxuXG4uZmxleGlibGUtaW5mb2JveC13cmFwcGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjsgfVxuICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGhlYWRlciwgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBoZWFkZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbGV4aWJsZS1pbmZvYm94LXdyYXBwZXIgaSB7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWFpbi1jb2xvcik7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBoNSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzMxMzk0MTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMC45Mzc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH0gfVxuICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGRpdiB7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBkaXYge1xuICAgICAgICBwYWRkaW5nOiAzMnB4OyB9IH1cbiAgLmZsZXhpYmxlLWluZm9ib3gtd3JhcHBlciBhIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7IH1cbiAgICAuZmxleGlibGUtaW5mb2JveC13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cblxuLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciA+ICoge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIGEgaDQge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgYSBhcnRpY2xlIHtcbiAgICBjb2xvcjogIzMxMzk0MTsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgYTpob3ZlciBoNCB7XG4gICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIGE6aG92ZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMzk0MTsgfVxuICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmltZy1vdXRlci13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbWctaW5uZXItd3JhcHBlciB7XG4gICAgbWluLXdpZHRoOiAxNC4zNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmltZy1pbm5lci13cmFwcGVyLnNtYWxsZXIge1xuICAgICAgbWluLXdpZHRoOiA3LjgxMjVyZW07IH1cbiAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7IH1cbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIuY2VudGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmZsZXhpYmxlLXR4dGltZy13cmFwcGVyIC5pbm5lci13cmFwcGVyIGg0IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciAuYnV0dG9uLCAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciBpbnB1dC5idXR0b25bdHlwZT1zdWJtaXRdLFxuICAgIC5mbGV4aWJsZS10eHRpbWctd3JhcHBlciAuaW5uZXItd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIgLmlubmVyLXdyYXBwZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICBmb250LWZhbWlseTogXCJwb3BwaW5zbWVkaXVtXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmdmb3JtX3dyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ5LCA1NywgNjUsIDAuMDUpO1xuICBwYWRkaW5nOiAxNnB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIge1xuICAgICAgcGFkZGluZzogMzJweDsgfSB9XG4gIC5nZm9ybV93cmFwcGVyIGgzLmdmb3JtX3RpdGxlLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fdGl0bGUuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpOyB9XG4gIC5nZm9ybV93cmFwcGVyIGlucHV0LCAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEzOTQxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuICAgIC5nZm9ybV93cmFwcGVyIGlucHV0OmZvY3VzLCAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC5sZWZ0X2xhYmVsIGlucHV0Lm1lZGl1bSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgdWwgbGkuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uW3R5cGU9c3VibWl0XSxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b25bdHlwZT1zdWJtaXRdLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5nZm9ybV9idXR0b25bdHlwZT1zdWJtaXRdOmhvdmVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBkaXYudmFsaWRhdGlvbl9lcnJvciB7XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2NjNGIzNztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjYzRiMzc7IH1cblxuLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuZmxleGlibGUtZm9ybS13cmFwcGVyIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCwgLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSxcbiAgLmZsZXhpYmxlLWZvcm0td3JhcHBlciAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3OyB9XG5cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIgLmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgcGFkZGluZzogMTZweDtcbiAgYmFja2dyb3VuZDogIzZFQjUzMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5jZWxsLnJlc3VsdC13cmFwcGVyIHtcbiAgd2lkdGg6IGNhbGMoOTMuNzUlIC0gMnJlbSk7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5jZWxsLnJlc3VsdC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDEuMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXdyYXBwZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciAuZmlsdGVyLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci10eXAtd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItdHlwLXdyYXBwZXIgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfSB9XG5cbi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgLmZpbHRlci1zZWFyY2gtd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIC5maWx0ZXItc2VhcmNoLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG5cbi5mbGV4aWJsZS10YXgtZG93bmxvYWRzLXdyYXBwZXIgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMjVyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERkRGREY7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbSAwLjE4NzVyZW0gMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTEuNzMzIDEwLjQyOEw5LjI2IDcuOTU1Yy41OTYtLjg2MS44OTQtMS44Mi44OTQtMi44NzggMC0uNjg3LS4xMzMtMS4zNDUtLjQtMS45NzJhNS4wNzQgNS4wNzQgMCAwIDAtMS4wODItMS42MjNBNS4wNzUgNS4wNzUgMCAwIDAgNy4wNDkuNCA0Ljk5IDQuOTkgMCAwIDAgNS4wNzcgMEM0LjM5IDAgMy43MzIuMTMzIDMuMTA1LjRhNS4wNzUgNS4wNzUgMCAwIDAtMS42MjMgMS4wODJBNS4wNzYgNS4wNzYgMCAwIDAgLjQgMy4xMDUgNC45ODkgNC45ODkgMCAwIDAgMCA1LjA3N2MwIC42ODguMTMzIDEuMzQ1LjQgMS45NzJhNS4wNzQgNS4wNzQgMCAwIDAgMS4wODIgMS42MjNjLjQ1NC40NTQuOTk1LjgxNSAxLjYyMyAxLjA4MmE0Ljk5IDQuOTkgMCAwIDAgMS45NzIuNCA0Ljk0IDQuOTQgMCAwIDAgMi44NzctLjg5NGwyLjQ3NCAyLjQ2NmMuMTczLjE4My4zOS4yNzQuNjQ5LjI3NC4yNSAwIC40NjYtLjA5MS42NDktLjI3NGEuODg3Ljg4NyAwIDAgMCAuMjc0LS42NDkuODgzLjg4MyAwIDAgMC0uMjY3LS42NDl6TTcuMTIgNy4xMTlBMi44ODkgMi44ODkgMCAwIDEgNSA4YTIuODkgMi44OSAwIDAgMS0yLjExOC0uODhBMi44ODkgMi44ODkgMCAwIDEgMiA1YzAtLjgyNi4yOTQtMS41MzIuODgtMi4xMkEyLjg4OSAyLjg4OSAwIDAgMSA1IDJhMi44OSAyLjg5IDAgMCAxIDIuMTIuODhDNy43MDUgMy40NjkgOCA0LjE3NSA4IDVhMi44OSAyLjg5IDAgMCAxLS44OCAyLjEyeicgZmlsbD0nJTIzOTk5OTk5JyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzRSUzQy9zdmclM0VcIikgbGVmdCAxMHB4IGNlbnRlciBuby1yZXBlYXQ7IH1cbiAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1haW4tY29sb3IpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbSAwIDEuODc1cmVtOyB9IH1cblxuLmZsZXhpYmxlLXRheC1kb3dubG9hZHMtd3JhcHBlciBzZWxlY3Qge1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNi4yNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J005LjU0NyAwTDUuNSA0LjExNSAxLjQ1MyAwIDAgMS40NzhsNS41IDUuNTkzTDExIDEuNDc4IDkuNTQ3IDAnIGZpbGw9JyUyM0ZGRicgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFXCIpIHJpZ2h0IDEwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC42KTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4uZG93bmxvYWRzLXRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNERkRGREY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmRvd25sb2Fkcy10YWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGOyB9IH1cbiAgLmRvd25sb2Fkcy10YWJsZSBoMywgLmRvd25sb2Fkcy10YWJsZSAuY2hhci13cmFwcGVyOmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuZG93bmxvYWRzLXRhYmxlIGgzLCAuZG93bmxvYWRzLXRhYmxlIC5jaGFyLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZzogNHB4OyB9IH1cbiAgLmRvd25sb2Fkcy10YWJsZSBhIHtcbiAgICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmRvd25sb2Fkcy10YWJsZSBhOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjIzLCAyMjMsIDIyMywgMC4yKTsgfVxuICAgIC5kb3dubG9hZHMtdGFibGUgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAgICAgLmRvd25sb2Fkcy10YWJsZSBhOmhvdmVyLCAuZG93bmxvYWRzLXRhYmxlIGE6aG92ZXIgLmNvbC10aXRsZSwgLmRvd25sb2Fkcy10YWJsZSBhOmhvdmVyIC5kZXNjIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuZG93bmxvYWRzLXRhYmxlIGEgPiAqIHtcbiAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTsgfVxuICAgIC5kb3dubG9hZHMtdGFibGUgYSAuY29sLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTsgfVxuICAgIC5kb3dubG9hZHMtdGFibGUgYSAuY29sLWNhdCB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3NlbWlib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICMzMTM5NDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuZG93bmxvYWRzLXRhYmxlIGEgLmNvbC1jYXQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmRvd25sb2Fkcy10YWJsZSBhIC5kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgY29sb3I6IHJnYmEoNDksIDU3LCA2NSwgMC43KTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LWZhbWlseTogJ3BvcHBpbnNyZWd1bGFyJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5kb3dubG9hZHMtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5mbGV4aWJsZS1jb250ZW50LmRvd25sb2Fkcy13cmFwcGVyIGE6aG92ZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cbiAgLmZsZXhpYmxlLWNvbnRlbnQuZG93bmxvYWRzLXdyYXBwZXIgYTpob3ZlciAuZ3JpZC14IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTA1MTZiOyB9XG5cbmJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4OyB9IH1cbiAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgbGkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICAgICAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgbGkge1xuICAgICAgICB3aWR0aDogMzMuMzMlOyB9IH1cbiAgICBib2R5IC5mbGV4aWJsZS1jb250ZW50LmZsZXhpYmxlLWdhbGVyaWUtd3JhcHBlciBsaS5ncm93IHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIGJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgYm9keSAuZmxleGlibGUtY29udGVudC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIgYTpob3ZlciBmaWdjYXB0aW9uIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDQsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDUsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDYsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNCB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JsYWNrJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoMSwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAjY29udGFjdC1vdmVybGF5IC5jb250YWN0X3RpdGxlLCAjY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmNvbnRhY3RfdGl0bGUsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgI2NvbnRhY3Qtb3ZlcmxheSAubGFyZ2VfdGVsLCAjY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmxhcmdlX3RlbCwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9lbWFpbCwgI2NvbnRhY3Qtb3ZlcmxheSAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5sYXJnZV9lbWFpbCwgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciAjY29udGFjdC1vdmVybGF5IC5sYXJnZV9hZGRyZXNzLCAjY29udGFjdC1vdmVybGF5IC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmxhcmdlX2FkZHJlc3Mge1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDIsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDMsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmNoYXItd3JhcHBlcjpiZWZvcmUsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDUge1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDQsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgaDYsIC5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIgLmFyY2hpdi12aWV3IC5yZXN1bHRzLWl0ZW0gLmVudHJ5LXRpdGxlLCAuYXJjaGl2LXZpZXcgLnJlc3VsdHMtaXRlbSAuZmxleGlibGUtendpc2NoZW50aXRlbC13cmFwcGVyIC5lbnRyeS10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZsZXhpYmxlLXp3aXNjaGVudGl0ZWwtd3JhcHBlciBoNCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfSB9XG5cbi5zcGFjZXIge1xuICBoZWlnaHQ6IDFweDsgfVxuICAuc3BhY2VyLnNtYWxsLW5vbmUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNwYWNlci5zbWFsbC1oYWxmIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5zcGFjZXIuc21hbGwtbm9ybWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gIC5zcGFjZXIuc21hbGwtZG91YmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG4gIC5zcGFjZXIuc21hbGwtdHJpcGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4OyB9XG4gIC5zcGFjZXIuc21hbGwtcXVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTI4cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3BhY2VyLm1lZGl1bS1ub25lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3BhY2VyLm1lZGl1bS1oYWxmIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAgIC5zcGFjZXIubWVkaXVtLW5vcm1hbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgLnNwYWNlci5tZWRpdW0tZG91YmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAuc3BhY2VyLm1lZGl1bS10cmlwbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuICAgIC5zcGFjZXIubWVkaXVtLXF1YWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3BhY2VyLmxhcmdlLW5vbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zcGFjZXIubGFyZ2UtaGFsZiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgLnNwYWNlci5sYXJnZS1ub3JtYWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgIC5zcGFjZXIubGFyZ2UtZG91YmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cbiAgICAuc3BhY2VyLmxhcmdlLXRyaXBsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5NnB4OyB9XG4gICAgLnNwYWNlci5sYXJnZS1xdWFkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyOHB4OyB9IH1cblxuLnNob3ctZm9yLXNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5zaG93LWZvci1zbWFsbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNob3ctZm9yLWxhcmdlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLyogTGF6eWxvYWRpbmcgdmlhIExhenlzaXplcyAqL1xuLyogZmFkZSBpbWFnZSBpbiBhZnRlciBsb2FkICovXG4vKiBTcGlubmVyIGNoZWNrIGh0dHA6Ly9zYW1oZXJiZXJ0Lm5ldC9zdmctbG9hZGVycy8gKi9cbi5sYXp5bG9hZCxcbi5sYXp5bG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zOyB9XG5cbmltZy5sYXp5bG9hZDpub3QoW3NyY10pIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb25QcmVzcyBzZXR0aW5ncy5cbi8vICBCYXNlZCBvbiBGb3VuZGF0aW9uIGZvciBTaXRlcyB2Ni40LjNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuQGltcG9ydCAnZ2xvYmFsL2NvbG9ycyc7XG5cbi8vIEZPTlRTXG5AbWl4aW4gcmVndWxhcigpIHtcbiAgZm9udC1mYW1pbHk6ICdwb3BwaW5zcmVndWxhcicsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuQG1peGluIHNlbWlib2xkKCkge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNzZW1pYm9sZCcsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsOyBcbn1cbkBtaXhpbiBib2xkKCkge1xuICBmb250LWZhbWlseTogJ3BvcHBpbnNib2xkJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5AbWl4aW4gYmxhY2soKSB7XG4gIGZvbnQtZmFtaWx5OiAncG9wcGluc2JsYWNrJywgXCJBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIFxufSBcblxuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMzMTM5NDEsXG4gIHNlY29uZGFyeTogIzEwNTE2YiwgLy8gU3RhcnRzZWl0ZW5mYXJiZSBhbHMgRmFsbGJhY2tcbiAgc3VjY2VzczogIzZFQjUzMyxcbiAgd2FybmluZzogI2ZmZmIwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGN1cnJlbnQtY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuXG5cbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUscHJpbWFyeSk7XG4kcHJpbWFyeS1kYXJrOiAjNDY2MkEzO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLHNlY29uZGFyeSk7XG4kZ3JlZW46IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxzdWNjZXNzKTtcbiRyZWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSxhbGVydCk7XG4kZ3JheTogI0RGREZERjtcbiRsaWdodC1ncmF5OiAkZ3JheTtcbiRtZWRpdW0tZ3JheTogJGdyYXk7XG4kZGFyay1ncmF5OiAkcHJpbWFyeS1jb2xvcjsgLy8gQW50aHJheml0XG4kYmxhY2s6ICMwMDAwMDA7XG4kd2hpdGU6ICNGRkZGRkY7XG4kYmx1ZTogIzEwNTE2YjtcbiR2aW9sZXQ6ICMyQjFDNUY7XG4kc2hvcDogdmFyKC0tc2hvcC1jb2xvcik7IFxuJGVndWljaGV0OiAjZmY2YjZiO1xuJHdhcm5pbmc6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSx3YXJuaW5nKTtcblxuJGJyb3duOiAjQjVCNEE4O1xuXG5cbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJvZHktZm9udC1mYW1pbHk6ICdwb3BwaW5zbWVkaXVtJywtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAwcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiA4MDBweCxcbiAgeGxhcmdlOiAxMDI0cHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbWVkaXVtO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCc7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS4yO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjMpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjYpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjMpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjEpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTcpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMDtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAwO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkd2hpdGU7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuNDBlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IHJlbS1jYWxjKDQwKTtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMDtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAwO1xuJGNhcmQtcGFkZGluZzogMDtcbiRjYXJkLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAwcHggMHB4IHJnYmEoJGJsYWNrLCAwKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCAwcHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAwO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMDtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDMyMHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI4MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6IHRyYW5zcGFyZW50O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRpdGxlYmFyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDE2O1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDhweCxcbiAgbWVkaXVtOiAxNnB4LFxuICB4bGFyZ2U6IDMycHgsXG4pO1xuJGdyaWQtc21hbGw6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsc21hbGwpO1xuJGdyaWQtbWVkaXVtOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLG1lZGl1bSk7XG4kZ3JpZC14bGFyZ2U6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMseGxhcmdlKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTsgIFxuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGFuIGhvdmVyZWQgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcsICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsgXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuLy9AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbi8vQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG5cblxuLy8gR2xvYmFsXG5AaW1wb3J0IFwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5XCI7XG4vL0BpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuQGltcG9ydCAnZ2xvYmFsL2ZvbnRzJztcblxuLy8gTW9kdWxlc1xuQGltcG9ydCBcIm1vZHVsZXMvbmF2aWdhdGlvblwiO1xuLy9AaW1wb3J0IFwibW9kdWxlcy9jb250ZW50XCI7XG4vL0BpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZWRpdG9yLXN0eWxlXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb250YWN0LW92ZXJsYXlcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2NhcmRzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3RvcGJhclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvc2VydmljZW5hdlwiO1xuQGltcG9ydCBcIm1vZHVsZXMvYW5saWVnZW5cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3BhcnRuZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21hZ2F6aW5cIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3NlYXJjaFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2luZm9ib3hcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2ZhbmN5Ym94XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9wYXRjaFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvMi1jbGljay1lbWJlZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvb3JnYW5pZ3JhbW1cIjtcblxuLy8gVGVtcGxhdGVzXG5AaW1wb3J0IFwidGVtcGxhdGVzL3Nob3BcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvYXJjaGl2ZVwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9zaW5nbGVcIjtcbi8vQGltcG9ydCBcInRlbXBsYXRlcy9raXRjaGVuLXNpbmtcIjtcblxuLy8gTGlicmFyeVxuQGltcG9ydCBcImxpYnJhcnkvcHJpbnRcIjtcbkBpbXBvcnQgXCJsaWJyYXJ5L3BsYWNlaG9sZGVyXCI7XG5cbi8vIEdsb2JhbFxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dsb2JhbC9mcm9udHBhZ2UnO1xuXG4vLyBCbG9ja3MgLyBGbGV4aWJsZVxuQGltcG9ydCAnYmxvY2tzL2lmcmFtZSc7XG5AaW1wb3J0ICdibG9ja3MvbGlua3MnO1xuQGltcG9ydCAnYmxvY2tzL2VkaXRvcic7XG5AaW1wb3J0ICdibG9ja3MvZnVsbHdpZHRoJztcbkBpbXBvcnQgJ2Jsb2Nrcy9kb3dubG9hZHMnO1xuQGltcG9ydCAnYmxvY2tzL2hhbGZ3aWR0aCc7XG5AaW1wb3J0ICdibG9ja3MvdGhpcmR3aWR0aCc7XG5AaW1wb3J0ICdibG9ja3MvYW5zcHJlY2hwYXJ0bmVyJztcbkBpbXBvcnQgJ2Jsb2Nrcy9jaGlsZHBhZ2VzJztcbkBpbXBvcnQgJ2Jsb2Nrcy9pbmZvYm94JztcbkBpbXBvcnQgJ2Jsb2Nrcy90eHRpbWcnO1xuQGltcG9ydCAnYmxvY2tzL2Zvcm1zJztcbkBpbXBvcnQgJ2Jsb2Nrcy90YXgtZG93bmxvYWRzJztcbkBpbXBvcnQgJ2Jsb2Nrcy9nYWxlcmllJztcbkBpbXBvcnQgJ2Jsb2Nrcy96d2lzY2hlbnRpdGVsJztcbkBpbXBvcnQgJ2Jsb2Nrcy9zcGFjZXInO1xuQGltcG9ydCAnYmxvY2tzL29yZ2FuaWdyYW1tJztcblxuXG4vKiBMYXp5bG9hZGluZyB2aWEgTGF6eXNpemVzICovXG5AaW1wb3J0IFwibW9kdWxlcy9sYXp5bG9hZFwiO1xuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL29wZW5zYW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcblxuXG59XG5cblxuXG4vKiEgR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHBzOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20pIG9uIEp1bHkgNSwgMjAyMyAqL1xuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYm9sZCc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9wb3BwaW5zLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zYmxhY2snO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLWJsYWNrLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtYmxhY2std2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncG9wcGluc3JlZ3VsYXInO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcG9wcGlucy1yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zbWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvcG9wcGlucy1tZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcG9wcGlucy1tZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdwb3BwaW5zc2VtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wb3BwaW5zLXNlbWlib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3BvcHBpbnMtc2VtaWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuXG5cbiIsIi8vIE5hdmlnYXRpb24gYnJlYWtwb2ludHNcbi5tb2JpbGUtbWVudSxcbi5zaXRlLXRpdGxlLWJhciB7XG4gIEBpbmNsdWRlIGhpZGUtZm9yKHh4bGFyZ2UpO1xufVxuXG4uZGVza3RvcC1tZW51LFxuLnNpZGViYXIge1xuICBAaW5jbHVkZSBzaG93LWZvcih4eGxhcmdlKTtcbn1cblxuLy8gU2l0ZSB0aXRsZVxuLnNpdGUtZGVza3RvcC10aXRsZSBhIHtcbiAgQGluY2x1ZGUgYm9sZDtcbn1cblxuLy8gTUVOVSBERUZBVUxUU1xuLm1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIC5jdXJyZW50X3BhZ2VfaXRlbSBhLFxuICAuY3VycmVudC1wYWdlLWFuY2VzdG9yIGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG59XG5cbi8vIE1vYmlsZSBtZW51XG4ubW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lOyAvLyBwcmV2ZW50cyByZXBhaW50IGNhdXNlZCBieSBKUyBoaWRpbmcgbWVudSBvbmxvYWRcbn1cblxuLy8gVGl0bGUgQmFyXG4udGl0bGUtYmFyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5tZW51LWljb24tYnV0dG9uIHsgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgQGluY2x1ZGUgYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDkgMCk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMiBlYXNlO1xuICBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtLzI7XG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgc3BhbiB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICB9XG4gIGJ1dHRvbiB7XG4gICAgJjpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgIH1cbiAgfVxuICBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgfVxufVxuXG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gID4gdWwubWVudSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cblxuICAubWVudSAuYWN0aXZlID4gYSB7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cblxufVxuXG4vLyBDSElMRE5BViBERUZBVUxUIEZPUiBBTEwgTUVOVVNcbi50b3AtYmFyIHtcbiAgLmNoaWxkbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBkaXNwbGF5OiBmbGV4O31cbiAgICAmLCB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC44NSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICB9XG4gICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYygycHgpO1xuICAgICAgICA+IGEgeyAvLyAxc3QgTGV2ZWxcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLWFjdGl2ZSBhLFxuICAgICAgICA+IGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yOyBcbiAgICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuXG4vL0RSSUxMRE9XTlxuXG4uZHJpbGxkb3duIHtcbiAgJHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gICR0cmFuc2l0aW9uLWVhc2luZzogY3ViaWMtYmV6aWVyKDAuNjEwLCAwLjAwNSwgMC4zNjAsIDEuMDEwKTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIC5oZWlnaHQtd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuICB9XG4gIC5jaGlsZG5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5yZWFkeXtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZywgb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgICZbZGF0YS1kZXB0aD1cIjFcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjJcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjNcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjRcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwJSk7fVxuICAgICZbZGF0YS1kZXB0aD1cIjVcIl0ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAwJSk7fVxuICAgIC5jaGlsZHJlbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuICAgIGxpW2NsYXNzKj1cImN1cnJlbnRcIl0gLmNoaWxkcmVuIHtkaXNwbGF5OiBibG9jazt9XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMykgc29saWQgJGN1cnJlbnQtY29sb3I7XG4gICAgfVxuICB9XG4gIGxpLnBhZ2VfaXRlbSB7XG4gICAgJHNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgJl9oYXNfY2hpbGRyZW4ge1xuICAgICAgPiBhOm5vdCguYmFjaykge3dpZHRoOiBjYWxjKDEwMCUgLSAjeyRzaXplfSk7fVxuICAgIH1cbiAgICAvLyYuY3VycmVudF9wYWdlX2l0ZW0gIGF7IGNvbG9yOiAkY3VycmVudC1jb2xvcn0gXG4gICAgICBhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWluLWhlaWdodDogJHNpemU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIC8vY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjcpO1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7fVxuICAgICAgICAgICAgICAvLyYsKiB7IGNvbG9yOiAkd2hpdGU7IH0gXG4gICAgICAgICAgfVxuICAgICAgICAgICYuYmFjayB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoMTgpfSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjIpO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogMWZyO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUgYSB7Ym9yZGVyLWJvdHRvbTogbm9uZTt9XG4gIH1cbn1cblxuLy8gT2ZmIENhbnZhcyBDaGlsZG5hdlxuICAub2ZmLWNhbnZhcyB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIC5zZXJ2aWNlbmF2LWxhbmdzd2l0Y2gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwwLjEpO1xuICAgICAgLm1lbnUtc3ByYWNoYXVzd2FobC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS80O1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MDApO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwwLjIpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBidXR0b24ge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtIGF1dG87XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgc3BhbiB7IC8vIFRleHRcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHNwYW4geyBjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7d2lkdGg6IHJlbS1jYWxjKDIxKTt9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRyaWxsZG93biB7XG4gICAgICAuaGVpZ2h0LXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwwLjEpO1xuICAgICAgfVxuICAgICAgJiwgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgbGkucGFnZV9pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LDAuMSk7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2VydmljZW5hdi1tZW51IHVsIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsLjcpO1xuICAgICAgICAgICAgICAmOmFmdGVyIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUgYTphZnRlciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZW5hdi1zZWFyY2gge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjEuNSBhdXRvO1xuICAgICAgLmlucHV0LWdyb3VwIHsgYm9yZGVyOiAwO31cbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwwLjIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmZvY3VzIHtib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO31cbiAgICAgIH1cbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAmOmhvdmVyIHsgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHRyYW5zbGF0ZSg1cHgsNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vZmYtY2FudmFzLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLmZiIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAjM0I1OTk4OyAvL2ZhY2Vib29rIGJsYXVcbiAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8yICRncmlkLW1lZGl1bTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgfVxuICAgIC5zZXJ2aWNlbmF2LWxvZ29zIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjEuNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JpZC1tZWRpdW0qNDtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0IHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuXG5cblxuLy8gVGFibGV0IGFuZCBkZXNrdG9wIG1lbnVcblxuLnRvcC1iYXIge1xuXG4gIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgfVxuXG4gIC5tZW51IHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTApO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgYm9yZGVyLXJpZ2h0OiAwO31cbiAgICAgICY6bm90KC5tZW51LXRleHQpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2U7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAjbWVudS1zcHJhY2hhdXN3YWhsIHtcbiAgICAqIHtcbiAgICAgICR3aWR0aCA6IDMycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGhlaWdodDogJHdpZHRoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkcHJpbWFyeS1jb2xvciwwLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICAgIGxpIHsgbWFyZ2luOiByZW0tY2FsYygwIDIpO31cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZS1pbjtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IHsgYm9yZGVyOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93IGEgeyBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5kcm9wZG93bi5tZW51IC5oYXMtc3VibWVudS5pcy1kb3duLWFycm93ID4gYTo6YWZ0ZXIgeyBib3JkZXI6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnU6Zmlyc3QtY2hpbGQgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogMDsgLy8gcHJldmVudHMgY29udGFpbmVyIHZpc2liaWxpdHkgb24gc21hbGwgc2NyZWVuc1xuICB9XG59XG5cbi8vIFdQIHBvc3QgbmF2aWdhdGlvblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ubmF2LXByZXZpb3VzIHtcbiAgZmxvYXQ6bGVmdDtcbn1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6cmlnaHQ7XG59XG5cblxuXG4iLCJib2R5I3RpbnltY2V7XG4gIGhlaWdodDogYXV0bzsgLy8gRml4IGVkaXRvciBzdHlsZSBidWdcbiAgbWF4LXdpZHRoOiAkZ3JpZC1yb3ctd2lkdGg7IC8vIEdpdmUgdGhlIGVkaXRvciBhIG1heC13aWR0aFxuICBwYWRkaW5nOiByZW0tY2FsYygyMCkgIWltcG9ydGFudDtcbiAgYSB7IGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qNCAwICRncmlkLW1lZGl1bSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyAgfVxuICAgICoge1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgJjpub3QoLnByZXYpOm5vdCgubmV4dCkge1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2LFxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgc3ZnIHsgbWFyZ2luOiAwICRncmlkLW1lZGl1bSowLjU7IH1cbiAgICAgICAgICAgIHBhdGggeyB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO31cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHBhdGggeyBjb2xvcjogJHByaW1hcnktY29sb3I7ICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2IHsgXG4gICAgICAgICAgICBzdmcgeyBtYXJnaW4tbGVmdDogMDt9XG4gICAgICAgIH1cbiAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgIHN2ZyB7IFxuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICY6bm90KC5uZXh0KTpub3QoLnByZXYpIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cbiAgICBhOm5vdCgucHJldik6bm90KC5uZXh0KTpob3ZlcixcbiAgICAuY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICB9XG5cbiAgIFxufVxuXG51bC5wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMDAwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAmLCBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuIiwiI2NvbnRhY3Qtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICAgIHotaW5kZXg6IDEwMTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgICAuZGVzYyB7XG5cdFx0Y29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0gMCAwIDA7XG5cdH1cbiAgICAuc2Nyb2xsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgLypkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyovXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAuc2Nyb2xsIHtvdmVyZmxvdzogYXV0bzt9XG4gICAgfVxuICAgIC5jb250YWN0X3RpdGxlIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtOyBAZXh0ZW5kIGgxOyB9XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDY1KTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDg4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXsgd2lkdGg6IHJlbS1jYWxjKDEyMCk7IH1cbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDU0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogJHNpemUvMS41O1xuICAgICAgICBoZWlnaHQ6ICRzaXplLzEuNTtcbiAgICAgICAgdG9wOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIHJpZ2h0OiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgei1pbmRleDogMTAyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgICAgICB0b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICB0b3A6ICRncmlkLW1lZGl1bSo0OyBcbiAgICAgICAgICAgIHJpZ2h0OiAkZ3JpZC1tZWRpdW0qNDtcbiAgICAgICAgfVxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgcmVjdCB7ZmlsbDogJHNlY29uZGFyeS1jb2xvcjt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ncmlkIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKXsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDI0KTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSl7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2Upe1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgICAgICB9XG4gXG4gICAgICAgIH1cbiAgICAgICAgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMi41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe21hcmdpbjogMCAwIDAgYXV0bzt9XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzEuNSAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhvbWVfc3VidGl0bGUge3BhZGRpbmctbGVmdDogMDt9XG4gICAgLmxhcmdlX3RlbCwgLmxhcmdlX2VtYWlsLCAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICAgIEBleHRlbmQgaDE7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMi41O31cbiAgICB9XG4gICAgLmxhcmdlX3RlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzgpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7fVxuICAgIH1cbiAgICAubGFyZ2VfZW1haWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7Zm9udC1zaXplOiByZW0tY2FsYyg0OSk7fVxuICAgIH1cbiAgICAubGFyZ2VfYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNik7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0fVxuICAgICAgICBkaXYge2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmh0bWwuY29udGFjdC1pcy1vcGVuIHtcbiAgICAmW2RhdGEtd2hhdGlucHV0PSd0b3VjaCddIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICNjb250YWN0LW92ZXJsYXkub3BlbiB7XG4gICAgICAgICAgICAuc2Nyb2xsIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNhcmQtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAkZ3JpZC1zbWFsbCo1IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMyAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW0vMjtcbiAgICB9XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgPiAqIHtcbiAgICAgICAgLy9mbGV4OiAwIDEgMzMuMzMzMyU7XG4gICAgICAgIHdpZHRoOiBjYWxjKCA1MCUgLSAjeyRncmlkLW1lZGl1bX0gKTtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0vMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMzMlIC0gI3skZ3JpZC1tZWRpdW19ICk7XG4gICAgICAgIH1cbiAgICB9XG4gICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjMwcHgsMWZyKSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBncmlkLWdhcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICA+ICoge1xuXG4gICAgICAgICAgICBmbGV4OiAwIDEgNDglO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uY2FyZCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICY6aG92ZXIge1xuICAgICAgICAua2FjaGVsLW1ldGEsIC5rYWNoZWwtbWV0YSBoNSBzdmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5rYWNoZWwtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge29wYWNpdHk6IDAuODt9XG4gICAgICAgIC5tZXRhIHtcbiAgICAgICAgICAgICYsIHN2ZyB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG5cbiAgICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmthY2hlbC1tZXRhIHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgICAvL3RyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICAgICAgc3ZnIHtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7IG1hcmdpbjogMDt9XG4gICAgfVxufVxuXG5cbi8vIE5FV1MgQ0FSRFNcbi5ibG9nIHtcbiAgICAud3JhcHBlci0tbmV3cyB7IGdyaWQtZ2FwOiAkZ3JpZC1zbWFsbCoyO31cbn1cbi53cmFwcGVyLS1uZXdzIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtc21hbGwvMztcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1zbWFsbC8zO1xuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgICAgICAvLyBHcmlkXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIC8vZ3JpZC1nYXA6ICRncmlkLXNtYWxsKjI7IFxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwxZnIpKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDMpIHNvbGlkICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZmxleDogMSAxIDUwJTt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZmxleDogMSAxIDI1JTt9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygzKSBzb2xpZCByZ2JhKCRibGFjaywwLjI1KTtcbiAgICAgICAgICAgICYsIC5uZXdzLW1ldGEgeyBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yOyB9XG4gICAgICAgICAgICAubmV3cy1tZXRhLCAuZGVzY3JpcHRpb24sIHNwYW4sIGg1IHsgY29sb3I6ICR3aGl0ZTsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGg1LCAuZGVzY3JpcHRpb24geyBwYWRkaW5nOiAwICRncmlkLW1lZGl1bTsgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bS8yO1xuICAgIH1cbiAgICAubmV3cy1rYWNoZWwtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgaW1nIHsgXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5uZXdzLW1ldGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtIDAgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgc3ZnIHttYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtLzI7fVxuICAgIH1cbn1cbiIsIlxuLy8gREVGQVVMVCBBS0tPUkRFT05cbi5hY2NvcmRpb24ge1xuICAgIC5hY2NvcmRpb24taXRlbSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRwcmltYXJ5LWNvbG9yLC4zKTt9XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSo0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICAvLyY6aG92ZXIgeyB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIvLyBMT0dPICsgVE9QQkFSXG4udG9wLWJhciB7XG4gICAgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyBcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgfVxuICAgIH1cbiAgICAudG9wLWJhci10aXRsZSB7IC8vIExPR09cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgXG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygtNDgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSAxNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgcGFkZGluZzogcmVtLWNhbGMoMTIgMTQpOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge3BhZGRpbmc6IHJlbS1jYWxjKDIwIDMwIDIwIDIwKTt9XG4gICAgICAgICAgICAqL1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAxNik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIG9ubHkpIHsgXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTUwKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBoZWlnaHQ6IHJlbS1jYWxjKDEyMCk7IH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7ICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyBcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNzApOyBcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQ1cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTU3JSwtNTUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC03MyUsLTczJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLTQ1JSwtNDUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXItcmlnaHQgeyAvLyBTRVJWSUNFTkFWXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogaW5oZXJpdDtcbiAgICB9XG4gICAgLmNoaWxkbmF2IHtcbiAgICAgICAgQGV4dGVuZCAldXBwZXJjYXNlO1xuICAgIH1cbiAgICAubW9iaWxlLXBhdGNoZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBkaXNwbGF5OiBub25lO31cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHNob3A7XG4gICAgICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzEyNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBhLnBhdGNoLWVndWljaGV0IHsgXG4gICAgICAgICAgICAgIGNvbG9yOiAkZWd1aWNoZXQ7IFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU0VSVklDRU5BVlxuLnNlcnZpY2VuYXYge1xuICAgIC8vIEFsbCBFbGVtZW50c1xuICAgICYsICoge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC8vIEp1c3QgU2VydmljZW5hdiBDb250YWluZXJcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IGRpc3BsYXk6IGZsZXg7fSBcbiAgICB9XG4gICAgLy8gU2VhcmNoXG4gICAgLnNlcnZpY2VuYXYtc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDMwIDAgMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxuICAgIC8vIExvZ29zXG4gICAgLnNlcnZpY2VuYXYtbG9nb3Mge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBMYW5nXG4gICAgLnNlcnZpY2VuYXYtbGFuZ3N3aXRjaCB7XG4gICAgICAgIGxpIHsgXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggJGdyYXk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDQpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQU5MSUVHRU5cbi5wYWdlLXRlbXBsYXRlLWFubGllZ2VuIHtcbiAgICAuZW50cnktdGl0bGUgeyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxufVxuLmFubGllZ2VuLWxpc3Qge1xuICAgIEBleHRlbmQgJXJlc2V0Ym94O1xuICAgIHNtYWxsIHtmb250LXNpemU6IHJlbS1jYWxjKDEyKTt9XG4gICAgaDMge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICB9XG59XG5cbiAgICAuYW5saWVnZW4taGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgID4gKiB7IG1hcmdpbjogYXV0bzt9XG4gICAgICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSoyIGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICB9XG4gICAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoYXJtZW51IHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIEBleHRlbmQgJXVwcGVyY2FzZTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNCk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hhci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICY6YmVmb3JlIHsgLy8gTGV0dGVyXG4gICAgICAgICAgICBAZXh0ZW5kIGgzLCAldXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWNoYXIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwqMjsgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNTBweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCAxMCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQU5MSUVHRU4gSVRFTVNcbiAgICAuYW5saWVnZW46bm90KC5yZXN1bHRzLWl0ZW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgJi5ldmVuIHsgYmFja2dyb3VuZDogcmdiYSgkYnJvd24sMC4xKTsgfVxuXG4gICAgICAgIC5hbmxpZWdlbi10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNzUlO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRncmlkLXNtYWxsKjI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICA+ICogeyBmbGV4OiAxIDEgNTAlOyAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IHBhZGRpbmctdG9wOiAkZ3JpZC1tZWRpdW0vMjsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hbmxpZWdlbi1saW5rLXdyYXBwZXIge1xuICAgICAgICAgICAgZmxleDogMSAxIDI1JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4iLCIvLyBQQVJUTkVSXG4ucGFydG5lci1pbm5lcndyYXBwZXIge1xuICAgIC8vIEZsZXggRmFsbGJhY2tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyBHcmlkXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IC1tcy1ncmlkKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgPiAqIHsgZmxleDogMSAxIDMzLjMzJTt9XG4gICAgfVxuICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI2MHB4LDFmcikpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7IH1cbiAgICA+ICoge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkY3VycmVudC1jb2xvcjtcbiAgICB9XG4gICAgLnBhcnRuZXItaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpeyBtaW4taGVpZ2h0OiByZW0tY2FsYygzMDApOyB9XG5cbiAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHsgLy8gUmVzZXQgTWFyZ2lucyBpZiBHcmlkIHN1cHBvcnRlZFxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtOyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgICAgICB9XG4gICAgICAgIGg2IHsgZm9udC1zaXplOiByZW0tY2FsYygxNyk7ICB9XG4gICAgICAgIHNwYW4geyAvLyBadXIgV2Vic2l0ZVxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgc3ZnIHsgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTt9XG4gICAgICAgICAgICBwYXRoIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yOyB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW5uZXItbWV0YSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBNQUdBWklOIEFSQ0hJViBFVVBFTiBFUkxFQkVOXG4ubWFnYXppbi1pbm5lcndyYXBwZXIge1xuICAgIC8vIEZsZXggRmFsbGJhY2tcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICA+ICogeyBmbGV4OiAxIDEgMzMuMzMlO31cbiAgICAvLyBHcmlkXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OmdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsMWZyKSk7XG4gICAgfVxuICAgIEBzdXBwb3J0cyAoZGlzcGxheTogLW1zLWdyaWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgfVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjM7IH1cbiAgICAubWFnYXppbi1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXsgd2lkdGg6IDMzJTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXsgd2lkdGg6IDI1JTsgfVxuICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCkgeyAvLyBSZXNldCBNYXJnaW5zIGlmIEdyaWQgc3VwcG9ydGVkXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgLy9vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMTBweCAwIHJnYmEoJGJsYWNrLDAuMTUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTZWFyY2ggb25seVxuLnNlYXJjaC1yZXN1bHRzLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNik7XG4gICAgfVxuICAgIC5jcnVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHRleHQtYWxpZ246IHJpZ2h0O31cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjt9XG4gICAgfVxuICAgIC8vIElmIERvd25sb2FkcyBpbiBTZWFyY2hcbiAgICAuZmxleGlibGUtZG93bmxvYWRzLXdyYXBwZXIge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIEFuc3ByZWNocGFydG5lciBpbiBTZWFyY2hcbiAgICAuYXAtaXRlbSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59IiwiLmlucHV0LWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiAgICBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cC1maWVsZCB7ZmxleDogdW5zZXQ7fVxuICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjt9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmW3R5cGU9XCJzdWJtaXRcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDt9XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGUoMTJweCwgN3B4KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbn1cbiIsIi8vIElORk9CT1ggQkFOTkVSXG4uaW5mb2JveC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7ICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTsgIH1cbiAgICB9XG4gICAgYSB7IFxuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwuNyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7IFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBmb250LXNpemU6IHJlbS1jYWxjKDE1KTsgfVxuICAgIH1cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICAuaW5mb2JveC1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLC42KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiW2RhdGEtZmFuY3lib3hdIHBpY3R1cmUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJjpiZWZvcmUsIFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2U7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICAvL2JhY2tncm91bmQ6IHJnYmEoJGJsYWNrLC42NSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsO1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLC42NSkgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0b3A6IDUwJTtsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZSowLjU7XG4gICAgICAgXG5cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHsgb3BhY2l0eTogMTt9XG4gICAgfVxuICB9XG5cbiAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwuMTUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsLjEpO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxufSIsIi5wYXRjaCB7XG4gICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjAuNSAkZ3JpZC1tZWRpdW0gJGdyaWQtbWVkaXVtKjAuNSAkZ3JpZC1tZWRpdW07IFxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBAaW5jbHVkZSBib2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHJnYmEoJGJsYWNrLDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6ICN7JGdyaWQtbWVkaXVtKzVweH0gJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW07XG4gICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAvL3BhZGRpbmc6ICRncmlkLW1lZGl1bSAjeyRncmlkLW1lZGl1bSs1cHh9ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW07XG5cbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkICR3YXJuaW5nO1xuICAgIH1cbiAgICBzdmcgeyBcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4ua29wZmJpbGQtd3JhcHBlciB7XG4gICAgLnBhdGNoLWVzaG9we1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2hvcDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogZmxleDt9XG4gICAgfVxuICAgIC5wYXRjaC1jb250YWN0e1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2hvcDtcbiAgICB9XG4gICAgLnBhdGNoLWVndWljaGV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGVndWljaGV0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogZmxleDt9XG4gICAgfVxuICAgIC5wYXRjaC1leHRyYSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZGlzcGxheTogZmxleDt9XG4gICAgfVxufSIsIlxuLyoqKioqKioqKioqKiBFTUJFRCBQTFVHSU4gKioqKioqKioqKioqL1xuXG4ucHJpdmFjeS1lbWJlZC1jb250YWluZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy9taW4taGVpZ2h0OiByZW0tY2FsYygyNTApO1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjUgJGdyaWQtbWVkaXVtKjAuNzU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsMC43KTtcbiAgICAgICAgKiB7Y29sb3I6ICR3aGl0ZTt9XG4gICAgfTtcblxuICAgICoge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7IH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjNlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgICAgICAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTt9XG4gICAgfVxuICAgIGltZyB7IFxuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwJTsgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmW2RhdGEtdHlwZT1cImVtYmVkLXR3aXR0ZXJcIl0geyBpbWcgeyBtYXgtd2lkdGg6IDEwJTsgfSB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjsgfVxuICAgICAgICBwIHsgXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpOyBcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpOyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZW1iZWQtcHJpdmFjeS1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5lbWJlZC1wcml2YWN5LWxvZ28ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIucmVzcG9uc2l2ZS1pbWFnZW1hcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IH1cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLWltZyB7IGRpc3BsYXk6YmxvY2s7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxuXG4ucmVzcG9uc2l2ZS1pbWFnZW1hcCAuaW1hcC1vdmVybGF5IHtcbiAgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7XG4gIHBvaW50ZXItZXZlbnRzOm5vbmU7IC8qIG51ciBzaWNodGJhciwgbmljaHQga2xpY2tlbi1ibG9ja2VuICovXG59XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLXNoYXBlIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMTYwLCAyNTUsIC4yNSk7XG4gIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDAsIDE2MCwgMjU1LCAuNzUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5yZXNwb25zaXZlLWltYWdlbWFwIC5pbWFwLXNoYXBlLS1jaXJjbGUgeyBib3JkZXItcmFkaXVzOiA5OTk5cHg7IH0iLCIudG9wLWJhci1yaWdodCB7XG4gICAgLnBhZ2UtaXRlbS0xMTM1NiwgLnBhZ2UtaXRlbS0xMTU5MyB7ZGlzcGxheTogbm9uZTt9XG59XG4uaG9tZSAua29wZmJpbGQtd3JhcHBlciAuY2hpbGRuYXYge1xuICAgIGxpLnBhZ2UtaXRlbS0xMTU5MyxcbiAgICBsaS5wYWdlLWl0ZW0tMTEzNTYge2Rpc3BsYXk6IG5vbmU7fVxuICB9XG4gIFxuYm9keS53b29jb21tZXJjZSB7XG5cbiAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICBhLCAuYmFjayBzdmcge1xuICAgICAgICAgICAgY29sb3I6ICRzaG9wOyBcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuY2hpbGRuYXYgYTpub3QoLmJhY2spIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5iYWNrOmhvdmVyIHtcbiAgICAgICAgICAgICYsIHN2ZyB7IGNvbG9yOiAkd2hpdGUgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuXG4gICAgLy9mb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuXG4gICAgYS5idXR0b24sXG4gICAgYS5idXR0b24uYWx0LFxuICAgIGJ1dHRvbi5idXR0b24sXG4gICAgYnV0dG9uLmJ1dHRvbi5hbHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hvcDsgXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6ZGlzYWJsZWQsICY6ZGlzYWJsZWRbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICYsICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaG9wO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0X3Nob3BwaW5nX2NhcnQge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSoyIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICB9XG5cbiAgICAuc2t1X3dyYXBwZXIsIC5wb3N0ZWRfaW4sIC53b29jb21tZXJjZS1vcmRlcmluZyB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICBcbn1cblxuXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIEBpbmNsdWRlIHNlbWlib2xkO1xufVxuXG4ud29vY29tbWVyY2UtZXJyb3IgbGk6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cblxuLy9hdWZsc2l0dW5nXG4ud29vY29tbWVyY2Uge1xuICAgIHVsLnByb2R1Y3RzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICBsaS5wcm9kdWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtICN7JGdyaWQtbWVkaXVtfSApICAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgd2lkdGg6IGNhbGMoIDMzLjMzJSAtICN7JGdyaWQtbWVkaXVtfSApICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyB3aWR0aDogY2FsYyggMjUlIC0gI3skZ3JpZC1tZWRpdW19ICkgICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGdyYXksMC4zNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICY6YmVmb3JlIHtkaXNwbGF5OiBub25lO31cblxuICAgICAgICAgICAgcDplbXB0eSB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICAgICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSArICN7JGdyaWQtbWVkaXVtfSApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMi53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGEuYnV0dG9uIHtiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnNpbmdsZS1wcm9kdWN0IHtcbiAgICAubGFiZWwgeyBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbiAgICAucmVsYXRlZC5wcm9kdWN0cyB7ZGlzcGxheTogbm9uZTt9XG59XG5cblxuXG5ib2R5Lndvb2NvbW1lcmNlLXBhZ2Uuc2luZ2xlLXByb2R1Y3Qge1xuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy9mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHAucHJpY2UgeyBcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA2KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICB9XG4gICAgICAgIGRpdi53b29jb21tZXJjZS1wcm9kdWN0LWdhbGxlcnkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDI2MCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgZmlndXJlIHsgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5zdW1tYXJ5IHt3aWR0aDogYXV0bzt9XG4gICAgfVxufVxuXG5saS53Y19wYXltZW50X21ldGhvZC5wYXltZW50X21ldGhvZF9vZ29uZSBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgfVxuICAgIFxufVxuXG4jY3VzdG9tZXJfZGV0YWlscyB7XG4gICAgLmNvbC0xIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jb2wtMiB7ZGlzcGxheTogbm9uZTt9XG4gICAgXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSAkZ3JpZC1tZWRpdW0qMjtcblxuICAgIC53b29jb21tZXJjZS1iaWxsaW5nLWZpZWxkc19fZmllbGQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICAgIC5hZGRyZXNzLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2JpbGxpbmdfY29tcGFueV9maWVsZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAjYmlsbGluZ19wb3N0Y29kZV9maWVsZCxcbiAgICAgICAgI2JpbGxpbmdfY2l0eV9maWVsZCxcbiAgICAgICAgI2JpbGxpbmdfY291bnRyeV9maWVsZCB7d2lkdGg6IDMwJTt9XG5cbiAgICAgICAgI2JpbGxpbmdfZW1haWxfZmllbGQsXG4gICAgICAgICNiaWxsaW5nX3Bob25lX2ZpZWxkIHt3aWR0aDogMTAwJTt9XG4gICAgfVxuXG4gICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzOXB4O1xuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsgbGluZS1oZWlnaHQ6IDM1cHg7IH1cbiAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgeyBoZWlnaHQ6IDM1cHg7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4jb3JkZXJfcmV2aWV3X2hlYWRpbmcsXG4jb3JkZXJfcGF5bWVudF9oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMjtcbn1cblxuLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IGxpOmJlZm9yZSB7ZGlzcGxheTogbm9uZTt9XG5cbi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMtdGl0bGUgYnV0dG9uIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7fVxufVxuXG5cbmJvZHkud29vY29tbWVyY2UtY2hlY2tvdXQgLnNob3BfdGFibGUge2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O31cblxuLmNhcnRfdG90YWxzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWNhcnQgLndjLXByb2NlZWQtdG8tY2hlY2tvdXQge1xuICAgIGEuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5jaGVja291dC1vdGhlciB7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbn1cblxuLndvb2NvbW1lcmNlIC53aWRnZXRfc2hvcHBpbmdfY2FydCAuY2FydF9saXN0IGxpIGEucmVtb3ZlLCAud29vY29tbWVyY2Uud2lkZ2V0X3Nob3BwaW5nX2NhcnQgLmNhcnRfbGlzdCBsaSBhLnJlbW92ZSB7XG4gICAgbGluZS1oZWlnaHQ6IDAuNzM7XG59XG5cbi53b29jb21tZXJjZSB1bC5jYXJ0X2xpc3QgbGkgaW1nLCAud29vY29tbWVyY2UgdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBpbWcgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcywgLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzLCAud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIHtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG59XG5cbi53b29jb21tZXJjZSB7XG4gICAgI29yZGVyX3JldmlldyAubGVnYWwge1xuICAgICAgICBtYXJnaW46IDE2cHggMDtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvcm0gLmZvcm0tcm93IC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCB7IG1hcmdpbi1yaWdodDogMjBweDsgfVxufVxuXG5cbiIsIi8vIEFSQ0hJViBWSUVXIFNURVVFUlPDhFRaRSBVTkQgU0VBUkNIIFJFU1VMVEFURVxuLmFyY2hpdi12aWV3IHtcbiAgICBoMiB7XG4gICAgICAgICYsYSB7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdyaWQtd3JhcHBlciB7IG1heC13aWR0aDogcmVtLWNhbGMoNzEyKTt9XG4gICAgLnJlc3VsdHMtaXRlbSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtc21hbGwqMiAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDsgfVxuICAgICAgICAuZW50cnktdGl0bGUge1xuICAgICAgICAgICAgQGV4dGVuZCBoNjtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDUgMCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8mOmxhc3Qtb2YtdHlwZSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTt9XG4gICAgICAgIC8vJjpudGgtY2hpbGQob2RkKSB7IGJhY2tncm91bmQ6IHJnYmEoJGdyYXksMC4xKTsgfVxuICAgICAgICAvLyY6bnRoLWNoaWxkKGV2ZW4pIHsgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjIpOyB9XG4gICAgfVxufVxuXG4vLyBORVdTQVJDSElWXG4ucGFyZW50LW5ld3NhcmNoaXYge1xuICAgIC53cmFwcGVyLS1uZXdzIHsgZ3JpZC1nYXA6ICRncmlkLW1lZGl1bTt9XG59XG4iLCJcblxuLy8gU0lOR0xFIE5FV1MgREVUQUlMXG4uc2luZ2xlIHtcbiAgICAucG9zdC10aHVtYi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLXNtYWxsKjIgMCAkZ3JpZC1zbWFsbCoyIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVhZGVyIC5iYWNrIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbiAgICAuaW5uZXJtZXRhLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTcwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTYwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzIDE1KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlZ3VsYXI7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yOyB9XG4gICAgICAgICB9XG4gICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAgIH1cbiAgICAgICAgLnByaW50IHtcbiAgICAgICAgICAgIHN2ZyB7IG1hcmdpbjogcmVtLWNhbGMoMCA0IDAgMCk7fVxuICAgICAgICB9XG4gICAgICAgIC5zaGFyZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICYuZmFjZWJvb2sgeyBtYXJnaW46IHJlbS1jYWxjKDAgMyk7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJcbi8qKioqKiogUFJJTlQgU1RZTEVTSEVFVCAqKioqKioqKiovXG5AbWVkaWEgcHJpbnQge1xuICAgIC50b3AtYmFyLXJpZ2h0LFxuICAgIC50aXRsZS1iYXIsXG4gICAgLmtvcGZiaWxkLXdyYXBwZXIsXG4gICAgLnNpdGUtaGVhZGVyOmFmdGVyLFxuICAgIC5zaWRlYmFyLFxuICAgIC5pbm5lcm1ldGEtd3JhcHBlcixcbiAgICAuZm9vdGVyLFxuICAgIC5jYXJkLXdyYXBwZXIgaW1nLFxuICAgIC5mbGV4aWJsZS1mb3JtLXdyYXBwZXIsXG4gICAgLmZsZXhpYmxlLW9lbWJlZC13cmFwcGVyLFxuICAgIC5mbGV4aWJsZS1nYWxlcmllLXdyYXBwZXIsXG4gICAgLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlcixcbiAgICAuZmxleGlibGUtdHh0aW1nLXdyYXBwZXIsXG4gICAgLmFwLXRodW1iIGE6YWZ0ZXIsXG4gICAgLmZpbHRlci13cmFwcGVyLFxuICAgIC5hbmxpZWdlbi1oZWFkZXIsXG4gICAgI2NvbnRhY3Qtb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW1nIHsgZmlsdGVyOiBncmV5c2NhbGUoMTAwJSkgIWltcG9ydGFudDsgfVxuICAgIC50b3AtYmFyIC50b3AtYmFyLXRpdGxlIHsgLy9Mb2dvXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItaW5uZXJ3cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIGgxLmVudHJ5LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB0O1xuICAgIH1cbiAgICBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lO31cbiAgICAuZmxleGlibGUtbGlua3Mtd3JhcHBlciAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgJixsaSxhIHsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDA7IH1cblxuICAgIH1cbn1cbiIsIi8qIFBsYWNlaG9sZGVyICovXG4ldXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XG4lY3VzdG9tYnVsbGV0bGlzdCB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bSAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIGZpbGwtb3BhY2l0eT0nMC4yNScgZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLyUzRSUzQy9zdmclM0VcIikgbGVmdCA4cHggbm8tcmVwZWF0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4lcmVzZXRib3gge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtO1xuICAgIH1cbn0iLCIvKiBJRFMgZm9yIHRoZSBjb2xvciBzY2hlbWUgKi9cbiRpZHM6IChcbiAgICAyLCAvL3N0YXJ0c2VpdGVcbiAgICAyMjYsIC8vIGLDvHJnZXJzZXJ2aWNlXG4gICAgMjMwLCAvLyBsZWJlbiBpbiBldXBlblxuICAgIDIyOCwgLy9wb2xpdGlrIHVuZCB2ZXJ3YWx0dW5nXG4gICAgNzg2LCAvLyDDvGJlciBkaWUgZ2VtZWluZGVcbik7XG5cbmh0bWwgeyAgICBvdmVyZmxvdy14OiBoaWRkZW47fVxuXG4vLyBIRUFETElORVNcbmg1LGg2IHtcbiAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAvL2NvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbn1cblxuLy8gTElOSyBTRVRUSU5HU1xuYSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAmOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAzcHggc29saWQgJHJlZDsgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9IFxufVxuXG4vLyBIZWFkZXJcbiRkb3QtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNik7XG5cbi8vIERpbWVuc2lvbnNcbiRkb3Qtc2l6ZTogMXB4O1xuJGRvdC1zcGFjZTogNXB4O1xuLnNpdGUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuXHQgICAgYmFja2dyb3VuZDpcblx0XHQgICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkd2hpdGUgKCRkb3Qtc3BhY2UgLSAkZG90LXNpemUpLCB0cmFuc3BhcmVudCAxJSkgY2VudGVyLFxuXHRcdCAgICBsaW5lYXItZ3JhZGllbnQoJHdoaXRlICgkZG90LXNwYWNlIC0gJGRvdC1zaXplKSwgdHJhbnNwYXJlbnQgMSUpIGNlbnRlcixcblx0XHQgICAgcmdiYSgkcHJpbWFyeS1jb2xvciwgMC42KTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZG90LXNwYWNlICRkb3Qtc3BhY2U7XG4gICAgfVxufVxuXG4vLyBERUZBVUxUIENMQVNTRVMgJiBUQUdTXG5zdHJvbmcsIGIge1xuICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zYm9sZCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbnUsICpbc3R5bGUqPVwidW5kZXJsaW5lXCJdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGN1cnJlbnQtY29sb3I7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbn1cbi5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDEpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTIwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNzApO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm91dGVyLWdyaWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgICAuZ3JpZC13cmFwcGVyIHsgICAgICAgIFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAvL292ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgLy9wYWRkaW5nOiAkZ3JpZC1tZWRpdW0gMDtcbiAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBvbmx5KSB7IG1heC13aWR0aDogbm9uZTt9XG4gICAgICAgID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHsgZmxleDogMCAwIGF1dG87IH1cbiAgICB9XG59XG5cblxuLmJhY2sge1xuICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICBzdmcge1xuICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgICAmOmhvdmVyIHsgY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbn1cblxuXG4vLyBHUklEIE1BU1NBQ1JFXG4uZ3JpZC13cmFwcGVyIHsgLy8gVGhlIHdob2xlIHRoaW5nXG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgID4gKjpub3QoLnRvcC1iYXItcmlnaHQpIHsgZmxleDogMCAxIGF1dG87IH1cbiAgICAuc2lkZWJhciB7XG4gICAgICAgIGZsZXg6IDEgMCByZW0tY2FsYygzMDApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW07fVxuICAgIH1cbn1cbi8vIFNJREVCQVJcbi8vIENPTlRFTlQgQkxPQ0tcbi5tYWluLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtKjM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bSozO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDY5OCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyaWQtbWVkaXVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAmLmZ1bGwtd2lkdGgge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQgPiBoZWFkZXIge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAmLC5pbnRybzphZnRlciB7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHsgcGFkZGluZzogMDsgfVxuICAgIH1cbn1cblxuXG4vLyBNQUlOXG4ubWFpbi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwIDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBCUkVBRENSVU1CUyAmIFNcbi5pbm5lcm1ldGEtd3JhcHBlciB7XG4gICAgdG9wOiByZW0tY2FsYygtMzApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgfVxuICAgIGEgeyBjb2xvcjogJGN1cnJlbnQtY29sb3I7IH1cbn1cblxuLy8gRU5UUlkgQ09OVEVOVFxuLm1haW4tY29udGVudDpub3QoLnN0ZXVlcnNhZXR6ZS13cmFwcGVyKSAuZW50cnktY29udGVudCB7XG4gICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgICAgICAgJjpmb2N1cyB7IG91dGxpbmU6IDA7fVxuICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICB9XG59XG5oMS5lbnRyeS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4uaW50cm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICB9XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg2NCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMik7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgfVxuXG59XG5cbi8qKioqKioqKiogRkxFWElCTEUgQ09OVEVOVCAqKioqKioqKioqKi9cbmJvZHk6bm90KC5zZWFyY2gtcmVzdWx0cykgLmZsZXhpYmxlLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjM7ICB9XG4gICAgJi5oYWxmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtc21hbGwqMztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjEuNTsgIH1cbiAgICB9XG4gICAgJi5hbHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbCozO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMzsgIH1cbiAgICB9XG59XG5cblxuLyoqKioqKiBGT09URVIgKioqKioqKiovXG4uZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCo0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSo2OyB9XG4gICAgLmNoaWxkbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDt9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjIgYXV0byAwIGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHttYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW07fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYsIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO31cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC50b3RvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICAgICAgYSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsIHtcblx0ICAgIGRpc3BsYXk6IGZsZXg7XG5cdCAgICBmbGV4LXdyYXA6IHdyYXA7IFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwwLjcpO31cbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvcHlyaWdodCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtLzMgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLmhvbWUge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAuZm9vdGVyLWNvbnRhaW5lciBhcnRpY2xlIHsgbWF4LXdpZHRoOiByZW0tY2FsYygxNDQwKTsgfVxuICAgIC5rb3BmYmlsZC13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7IFxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApOyBcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9Ki9cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgbWluLWhlaWdodDogcmVtLWNhbGMoNTAwKTsgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDIwNDhweCkgeyBtaW4taGVpZ2h0OiByZW0tY2FsYyg2MDApOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICAuY2hpbGRuYXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgLy9ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSg0MSUpO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBcbiAgICAgICAgICAgICAgICBnYXA6ICRncmlkLW1lZGl1bS8yOyBcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLDEpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3doaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDMwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgeyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLC44KTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHsgaGVpZ2h0OiByZW0tY2FsYyg4KTt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoLTIwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1zbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICA+IGE6YWZ0ZXIge2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaXMtYWN0aXZlIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc5OXB4KSB7XG4gICAgICAgIC5zaXRlLWhlYWRlcjphZnRlciB7aGVpZ2h0OiByZW0tY2FsYyg4MCk7IH1cbiAgICB9XG5cbi5ob21lX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBAZXh0ZW5kICV1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzYpO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwtMC42NWVtKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmhvbWVfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgZm9udC1zaXplOiByZW0tY2FsYyg1Nik7IH1cbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xufVxuLmhvbWVfZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuLndyYXBwZXIge1xuICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qNiAwOyB9XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiAgICAgICAgcGFkZGluZzogMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjtcbiAgICAgICAgLy9ncmlkLWdhcDogcmVtLWNhbGMoMTZweCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdyYXkge2JhY2tncm91bmQ6IHJnYmEoJGJyb3duLCAwLjEpO31cblxuICAgIC8qLm1ldGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtLzIgJGdyaWQtbWVkaXVtO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB9XG4gICAgfSovXG5cbiAgICAuYWZ0ZXJidXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtYXJnaW46IDAgJGdyaWQtbWVkaXVtIDAgYXV0bzt9XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgJGdyaWQtbWVkaXVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV1aWdrZWl0ZW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHsgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUgeyBcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hZnRlcmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0qMS41O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAmLS1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLmJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDMwcHggMCByZ2JhKCRibGFjaywgMC4yNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBoZWlnaHQ6IDEzMHB4OyB9XG4gICAgICAgICAgICA+ICogeyBncmlkLWFyZWE6IDEgLyAxOyAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbm5lci1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjgpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaG9tZV9zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgICAgICAgICAgJjphZnRlciB7IGJvcmRlci1jb2xvcjogJHdoaXRlO31cbiAgICAgICAgfVxuICAgICAgICAuYmxvY2staGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAkZ3JpZC1tZWRpdW0qMC4zNTtcbiAgICAgICAgfVxuICAgICAgICAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpOyB9XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5idXR0b24ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjggJGdyaWQtbWVkaXVtICRncmlkLW1lZGl1bSowLjYgJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgJjpob3ZlciB7IGJvcmRlcjogMDt9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuaW5uZXItY29udGVudDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsLjk1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1wcm9qZWt0ZSB7XG4gICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgLmNsYWltLXdyYXBwZXIge1xuICAgICAgICAgICAgLmFmdGVyYnV0dG9uIHsgZGlzcGxheTogbm9uZTt9XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoLmNvdW50LTMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgIC5tYWluLWNvbnRhaW5lci5yb3ctMiAuYWZ0ZXJidXR0b24geyBkaXNwbGF5OiBub25lO31cbiAgICAgICAgICAgICAgICAuY2xhaW0td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIC5hZnRlcmJ1dHRvbiB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jb3VudC0zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgLmFmdGVyYnV0dG9uIHsgbWFyZ2luLWxlZnQ6ICRncmlkLW1lZGl1bSoxLjU7IH1cbiAgICAgICAgICAgICAgICAubWFpbi1jb250YWluZXIucm93LTIge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAuYWZ0ZXJidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAmLnJvdy0yIHsgLy8gQWZ0ZXJidXR0b24gICAgXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgLmNsYWltLXdyYXBwZXIgIHsgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAgLndyYXBwZXItLWlubmVycHJvamVrdGUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyBcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgIC8vbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IFxuICAgICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoxLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7d2lkdGg6IGNhbGMoIDUwJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge3dpZHRoOiBjYWxjKCAzMyUgLSAjeyRncmlkLW1lZGl1bX0gKTsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lIDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggOHB4IDE1cHg7IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMzBweCA4cHggMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE3NSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZSA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV3cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZmxleC13cmFwOiB3cmFwO31cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bS8yOyBcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS8yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgKyAjeyRncmlkLW1lZGl1bSoyfSApO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIGg1LCBzcGFuIHsgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICAgICAgLm5ld3Mta2FjaGVsLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTMwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbjpub3QoLm5ld3MtbWV0YSkge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICAgICAgICAgIC5uZXdzLW1ldGEge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGg1IHsgY29sb3I6ICRjdXJyZW50LWNvbG9yO31cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7d2lkdGg6IGNhbGMoIDUwJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7d2lkdGg6IGNhbGMoIDMzJSAtICN7JGdyaWQtbWVkaXVtfSApOyB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi0tcXVpY2tsaW5rcyB7XG5cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRncmlkLW1lZGl1bX0pO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge3RleHQtYWxpZ246IGxlZnQ7fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICA+IGRpdiB7d2lkdGg6IGNhbGMoNzUlIC0gI3skZ3JpZC1tZWRpdW19KTt9XG4gICAgICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7d2lkdGg6IGNhbGMoMjUlIC0gI3skZ3JpZC1tZWRpdW19KTt9XG4gICAgICAgICAgICAgICAgPiBkaXY6Zmlyc3Qtb2YtdHlwZSB7dGV4dC1hbGlnbjogbGVmdDt9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFmdGVyYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgYSB7IG1hcmdpbjogJGdyaWQtbWVkaXVtIDAgMCAwO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge21hcmdpbjogYXV0bzt9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogJGdyaWQtbWVkaXVtKjI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7Y29sdW1uLWNvdW50OiAzO2Rpc3BsYXk6IGJsb2NrO31cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTInIGhlaWdodD0nMTAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J003LjU4NyAzLjk1TDUuMDUgMS40MTUgNi40NjYgMGw0Ljk1IDQuOTVMNi40NjUgOS45IDUuMDUgOC40ODcgNy41ODcgNS45NSAwIDUuOTUxdi0yeicgZmlsbD0nI3skd2hpdGV9JyBmaWxsLXJ1bGU9J2V2ZW5vZGQnLz4lM0Mvc3ZnJTNFXCIpIGNlbnRlciBsZWZ0IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTcuNTg3IDMuOTVMNS4wNSAxLjQxNSA2LjQ2NiAwbDQuOTUgNC45NUw2LjQ2NSA5LjkgNS4wNSA4LjQ4NyA3LjU4NyA1Ljk1IDAgNS45NTF2LTJ6JyBmaWxsPScjeyRibGFja30nIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkZ3JpZC1tZWRpdW07XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlci1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bS8xLjUgJGdyaWQtbWVkaXVtKjQgJGdyaWQtbWVkaXVtLzEuNSAkZ3JpZC1tZWRpdW0qMjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg1MDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jMWU1Nzk5KzAsMWU1Nzk5KzUwLDI5ODlkOCs1MCwyMDdjY2ErMTAwICovXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjMxMDUxNmInIGZpbGwtcnVsZT0nZXZlbm9kZCcvPiUzQy9zdmclM0VcIikgY2VudGVyIHJpZ2h0ICRncmlkLW1lZGl1bSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW51ZXR6bGljaGVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGV4dGVuZCAlcmVzZXRib3g7XG4gICAgICAgIC5ob21lX3N1YnRpdGxlLCAuaG9tZV90aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAmOmFmdGVyIHtkaXNwbGF5OiBub25lO31cbiAgICAgICAgfVxuICAgICAgICAua2FjaGVsLW1ldGEgaDUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcCByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHBhZGRpbmc6IDA7fVxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtICN7JGdyaWQtbWVkaXVtfSApO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbjogJGdyaWQtbWVkaXVtLzI7IH1cbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgd2lkdGg6IGNhbGMoIDMzJSAtICN7JGdyaWQtbWVkaXVtfSApIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyB3aWR0aDogY2FsYyggMjUlIC0gI3skZ3JpZC1tZWRpdW19ICkgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLS16d2VpdGVpbGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIC5tYWluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge2ZsZXgtZGlyZWN0aW9uOiByb3c7fVxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7d2lkdGg6IDUwJTt9XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtwYWRkaW5nOiAkZ3JpZC1tZWRpdW0qMyAkZ3JpZC1tZWRpdW0qNCAkZ3JpZC1tZWRpdW0qMyAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBTVEFSVFxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE1MCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTsgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge2JveC1zaGFkb3c6IHJlbS1jYWxjKDMgMyA0IDApIHJnYmEoJGJsYWNrLDAuMjUpO31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge0BpbmNsdWRlIHNlbWlib2xkO31cbiAgICAgICAgICAgICAgICAubW9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1sZWZ0OiAkZ3JpZC1tZWRpdW0qMjsgfVxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gcGFzc2FnZSByYXVzIHdlbm4gZS1ndWljaGV0IGhpbnp1a29tbXQgOiBTVEFSVFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogU1RBUlRcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgcmF1cyB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBwYXNzYWdlIFJFSU4gd2VubiBlLWd1aWNoZXQgaGluenVrb21tdCA6IFNUQVJUXG4gICAgICAgICAgICAgICAgLyomOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSoxNTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Ryb25nIHtjb2xvcjogJHdoaXRlO31cbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0qL1xuICAgICAgICAgICAgICAgIC8vIHBhc3NhZ2UgUkVJTiB3ZW5uIGUtZ3VpY2hldCBoaW56dWtvbW10IDogRU5ERVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLXp1Z2V6b2dlbmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICAubWFpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgLmlubmVyY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uIHsgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICAuaG9tZV9kZXNjcmlwdGlvbiB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICNwbGF5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwMik7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICAgIGVsbGlwc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxsaXBzZSB7ZmlsbDogJHdoaXRlO31cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge2ZpbGw6ICRzZWNvbmRhcnktY29sb3I7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtcGxheWluZyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMjVweCAyNXB4IDMwcHggMCByZ2JhKDAsMCwwLDAuMjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN2aWRlby1sYW5ndWFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRncmlkLW1lZGl1bS80O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLS1wYXJ0bmVyIHtcbiAgICAgICAgLy9taW4taGVpZ2h0OiA3NXZ3O1xuICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1pbi1oZWlnaHQ6IDM1dnc7fVxuICAgICAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7bWluLWhlaWdodDogMjB2dzt9XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0vMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyaWQtbWVkaXVtLzI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRncmlkLW1lZGl1bSozO1xuICAgICAgICB9XG4gICAgICAgICoge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBiciB7ZGlzcGxheTogbm9uZTt9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge2ZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO31cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ3KTtcbiAgICAgICAgICAgICAgICBiciB7ZGlzcGxheTogaW5saW5lO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygzNTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdyaWQtbWVkaXVtKjAuNzUgYXV0byAwIGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bSoxLjU7fVxuICAgICAgICB9XG4gICAgICAgIC8qXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuOSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9Ki9cbiAgICAgICAgLmhvbWVfdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgICAgIC5ob21lX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTtcbiAgICAgICAgICAgICY6YWZ0ZXIge2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgICB9XG4gICAgfVxuICAgICYtLWdhbGVyaWVuIHtcbiAgICAgICAgQGV4dGVuZCAlcmVzZXRib3g7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTQ0MCk7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLmthY2hlbC1pbWFnZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bSoyICRncmlkLW1lZGl1bSoyO1xuICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgID4gLmNhcmQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHsgd2lkdGg6IDMzJTsgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkgeyB3aWR0aDogMjUlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG59IiwiLmZsZXhpYmxlLWlmcmFtZS13cmFwcGVyIHtcbiAgICBpZnJhbWUge2JvcmRlcjogbm9uZTt9XG59IiwiXG5cbi5mbGV4aWJsZS1saW5rcy13cmFwcGVyIHtcbiAgICB1bDpub3QoLmJ1dHRvbi1ncm91cCkgeyAvLyBMSU5LTElTVCBTVFlMRVxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAmOmhvdmVyIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uLWdyb3VwIHsgLy8gQlVUVE9OIFNUWUxFXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIH1cblxuICAgIH1cbn0iLCIucmVzdWx0cy1pdGVtLFxuLmZsZXhpYmxlLWVkaXRvci13cmFwcGVyIHtcbiAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJ29wZW5fc2Fuc2JvbGQnO1xuICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgIH1cbiAgICBAZXh0ZW5kICVjdXN0b21idWxsZXRsaXN0O1xuICAgIGg0LGg1LGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICBoNCB7IEBpbmNsdWRlIGJsYWNrO31cblxuICAgIC8vIExpbmUgSGVpZ2h0c1xuICAgIGgxIHsgbGluZS1oZWlnaHQ6IDEuMjt9XG4gICAgaDIsaDMsaDUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgICBoNCxoNiB7IGxpbmUtaGVpZ2h0OiAxLjQ7fVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGg0eyBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgfVxufVxuXG4iLCIuZmxleGlibGUtZnVsbHdpZHRoLXdyYXBwZXIge1xuICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5jYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg5MCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59IiwiLmZsZXhpYmxlLWRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSAwKTtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTsgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgJjpob3ZlciB7IGNvbG9yOiAkY3VycmVudC1jb2xvcjt9XG4gICAgfVxuICAgIC5pbm5lcm1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDcpO1xuICAgIH1cbiAgICAuZmlsZS1pY29uIHtcbiAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDM1KTtcbiAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgIC8vbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIC5kb3dubG9hZC1jYXRzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjt9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIlxuLmZsZXhpYmxlLWhhbGZ3aWR0aC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgID4gKiB7XG4gICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cbiIsIi5mbGV4aWJsZS10aGlyZHdpZHRoLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mbGV4aWJsZS10aGlyZHdpZHRoLWltZyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTUwKTtcbiAgICB9XG5cbiAgICAuY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOTApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRncmlkLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgfVxufSIsIi5mbGV4aWJsZS1hbnNwcmVjaHBhcnRuZXItd3JhcHBlciB7XG4gICAgLmZsZXhpYmxlLWFuc3ByZWNocGFydG5lci1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7IH1cbiAgICB9XG59XG5cbltkYXRhLWNvbHVtbj1cImhhbGZcIl0ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBnYXA6IDFyZW07IC8qIGplIG5hY2ggQmVkYXJmICovXG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgW2RhdGEtY29sdW1uPVwiaGFsZlwiXSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLy8gQU5TUFJFQ0hQQVJUTkVSXG4uYXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgID4gKiB7XG4gICAgICAgIC8vZmxleDogMTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpOyB9XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAZXh0ZW5kICVyZXNldGJveDtcblxuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO31cbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICBAaW5jbHVkZSBib2xkO1xuICAgICAgJjpob3ZlciB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjt9XG4gICAgfVxuICAgIC5hcC1tZXRhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjMpO1xuICAgIH1cbiAgICAuYXAtZnVua3Rpb24ge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogcmdiYSgkcHJpbWFyeS1jb2xvciwwLjYpO1xuICAgIH1cbiAgICAuYXAtY29udGFjdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gICAgLy8gQW5zcHJlY2hwYXJ0bmVyXG4gICAgLmlzLWFuc3ByZWNocGFydG5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTsgfVxuICAgICAgICAuYXAtdGh1bWIge1xuICAgICAgICAgICAgZmxleDogMCAwIHJlbS1jYWxjKDEyMCk7XG4gICAgICAgIH1cbiAgICAgfVxuXG4gICAgLy8gSW5zdGl0dXRpb25lblxuICAgIC5pcy1pbnN0aXR1dGlvbmVuIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaDYgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbDt9XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHsgYm9yZGVyLXRvcDogMDsgfVxuICAgICAgICAuYXAtdGh1bWIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFwLXdlYm1haWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRncmlkLXNtYWxsO1xuICAgICAgICAgICAgICAgIGEgeyBwYWRkaW5nOiByZW0tY2FsYygwIDEwKTt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgID4gKiB7IG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiLmZsZXhpYmxlLWNoaWxkcGFnZXMtd3JhcHBlciB7XG4gICAgLmNhcmQtd3JhcHBlciB7IC8vIENvbnRhaW5lclxuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgZ3JpZC1nYXA6IHJlbS1jYWxjKDEpOyB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1OCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYnJvd24sMC4xKTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmthY2hlbC1uby1pbWFnZSB7XG4gICAgICAgID4gKiB7IC8vIEZvciBib3RoXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBoNiB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDIwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgICAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDMwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuIHsgLy8gQXJyb3dcbiAgICAgICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYnJvd24sMC4xKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg1OCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU4KTtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4uZmxleGlibGUtaW5mb2JveC13cmFwcGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICBoZWFkZXIge1xuICAgICAgICAmLCA+ICogeyBkaXNwbGF5OiBmbGV4OyB9XG4gICAgfVxuICAgIGkge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYm9sZDtcbiAgICB9XG4gICAgaDUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDE1KTtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpOyB9XG4gICAgfVxuICAgIGRpdiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb3Blbl9zYW5zcmVndWxhcic7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IHBhZGRpbmc6ICRncmlkLW1lZGl1bSoyOyB9XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAZXh0ZW5kICVjdXN0b21idWxsZXRsaXN0O1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgICAgICAgY29sb3I6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gICAgICAgICY6aG92ZXIgeyBjb2xvcjogJHByaW1hcnktY29sb3I7IH1cbiAgICB9XG59XG4iLCJcbi5mbGV4aWJsZS10eHRpbWctd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgID4gKiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRncmlkLXNtYWxsKjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBoNCB7IHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTsgfVxuICAgICAgICBhcnRpY2xlIHsgY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBoNCB7IGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgfVxuICAgICAgICAgICAgc3BhbiB7IGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW1nLW91dGVyLXdyYXBwZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaW1nLWlubmVyLXdyYXBwZXIge1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDIzMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDgpO1xuICAgICAgICAmLnNtYWxsZXIgeyBtaW4td2lkdGg6IHJlbS1jYWxjKDEyNSk7IH1cbiAgICB9XG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbCoyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNyZWd1bGFyJztcbiAgICAgICAgJi5jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bSozO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBoNCB7IGNvbG9yOiAkY3VycmVudC1jb2xvcjt9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEZPUk1TXG4uZmxleGlibGUtZm9ybS13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVyZXNldGJveDtcbn1cbi5nZm9ybV93cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LWNvbG9yLC4wNSk7XG4gICAgcGFkZGluZzogJGdyaWQtc21hbGwqMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge3BhZGRpbmc6ICRncmlkLW1lZGl1bSoyO31cbiAgICBoMy5nZm9ybV90aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkY3VycmVudC1jb2xvcjtcbiAgICB9XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwwLjcpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICB1bC5sZWZ0X2xhYmVsIHtcbiAgICAgICAgaW5wdXQubWVkaXVtIHsgd2lkdGg6IDEwMCU7fVxuICAgIH1cbiAgICAuZ2Zvcm1fYm9keSB1bCBsaS5nZmllbGQgeyBtYXJnaW4tdG9wOiAwO31cbiAgICAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XS5idXR0b24sXG4gICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICB9XG5cbn1cbi5mbGV4aWJsZS1mb3JtLXdyYXBwZXIge1xuICAgIC5nZm9ybV93cmFwcGVyIHtcbiAgICAgICAgZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFsZXJ0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRhbGVydC1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIC5nZmllbGRfbGFiZWwsIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSksXG4gICAgICAgICAgICB0ZXh0YXJlYSB7Ym9yZGVyOiAxcHggc29saWQgJGFsZXJ0LWNvbG9yO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBAaW5jbHVkZSBib2xkO1xuICAgIH1cbn0iLCIuZmxleGlibGUtdGF4LWRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICBAZXh0ZW5kICVyZXNldGJveDtcbiAgICAuY2VsbC5yZXN1bHQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBtYXJnaW4tbGVmdDogMDt9XG4gICAgfVxuICAgIC5maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjAgMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmlsdGVyLXR5cC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgZmxleC1kaXJlY3Rpb246IHJvdzt9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbGFiZWwgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1zbWFsbDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5maWx0ZXItc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDE3NSk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwqMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIwMDApO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMyAxMCAzIDMwKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTEuNzMzIDEwLjQyOEw5LjI2IDcuOTU1Yy41OTYtLjg2MS44OTQtMS44Mi44OTQtMi44NzggMC0uNjg3LS4xMzMtMS4zNDUtLjQtMS45NzJhNS4wNzQgNS4wNzQgMCAwIDAtMS4wODItMS42MjNBNS4wNzUgNS4wNzUgMCAwIDAgNy4wNDkuNCA0Ljk5IDQuOTkgMCAwIDAgNS4wNzcgMEM0LjM5IDAgMy43MzIuMTMzIDMuMTA1LjRhNS4wNzUgNS4wNzUgMCAwIDAtMS42MjMgMS4wODJBNS4wNzYgNS4wNzYgMCAwIDAgLjQgMy4xMDUgNC45ODkgNC45ODkgMCAwIDAgMCA1LjA3N2MwIC42ODguMTMzIDEuMzQ1LjQgMS45NzJhNS4wNzQgNS4wNzQgMCAwIDAgMS4wODIgMS42MjNjLjQ1NC40NTQuOTk1LjgxNSAxLjYyMyAxLjA4MmE0Ljk5IDQuOTkgMCAwIDAgMS45NzIuNCA0Ljk0IDQuOTQgMCAwIDAgMi44NzctLjg5NGwyLjQ3NCAyLjQ2NmMuMTczLjE4My4zOS4yNzQuNjQ5LjI3NC4yNSAwIC40NjYtLjA5MS42NDktLjI3NGEuODg3Ljg4NyAwIDAgMCAuMjc0LS42NDkuODgzLjg4MyAwIDAgMC0uMjY3LS42NDl6TTcuMTIgNy4xMTlBMi44ODkgMi44ODkgMCAwIDEgNSA4YTIuODkgMi44OSAwIDAgMS0yLjExOC0uODhBMi44ODkgMi44ODkgMCAwIDEgMiA1YzAtLjgyNi4yOTQtMS41MzIuODgtMi4xMkEyLjg4OSAyLjg4OSAwIDAgMSA1IDJhMi44OSAyLjg5IDAgMCAxIDIuMTIuODhDNy43MDUgMy40NjkgOCA0LjE3NSA4IDVhMi44OSAyLjg5IDAgMCAxLS44OCAyLjEyeicgZmlsbD0nJTIzOTk5OTk5JyBmaWxsLXJ1bGU9J25vbnplcm8nLyUzRSUzQy9zdmclM0VcIikgbGVmdCAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIC8vJjo6cGxhY2Vob2xkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7fVxuICAgICAgICAmOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgJGN1cnJlbnQtY29sb3I7fVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyBwYWRkaW5nOiByZW0tY2FsYygwIDEwIDAgMzApOyB9XG4gICAgfVxuICAgIHNlbGVjdCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMDApO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VycmVudC1jb2xvciB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMScgaGVpZ2h0PSc4JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOS41NDcgMEw1LjUgNC4xMTUgMS40NTMgMCAwIDEuNDc4bDUuNSA1LjU5M0wxMSAxLjQ3OCA5LjU0NyAwJyBmaWxsPSclMjNGRkYnIGZpbGwtcnVsZT0nZXZlbm9kZCcvJTNFJTNDL3N2ZyUzRVwiKSByaWdodCAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgQGluY2x1ZGUgc2VtaWJvbGQ7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsMC42KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIEBpbmNsdWRlIHNlbWlib2xkO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgfVxuICAuZG93bmxvYWRzLXRhYmxlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IGJvcmRlcjogMXB4IHNvbGlkICRncmF5OyB9XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6ICRncmlkLXNtYWxsLzI7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHsgYmFja2dyb3VuZDogcmdiYSgkZ3JheSwwLjIpOyB9XG4gICAgICAgIEBpbmNsdWRlIGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg5IDApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgJiwgLmNvbC10aXRsZSwgLmRlc2MgeyBjb2xvcjogJHdoaXRlOyB9XG4gICAgICAgIH1cbiAgICAgICAgPiAqIHsgcGFkZGluZzogcmVtLWNhbGMoMCAyMCk7IH1cbiAgICAgICAgLmNvbC10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGN1cnJlbnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC1jYXQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZW1pYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNyk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlZ3VsYXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5kb3dubG9hZHMtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0vMjtcbiAgfVxuXG4gIC5mbGV4aWJsZS1jb250ZW50LmRvd25sb2Fkcy13cmFwcGVyIHtcbiAgICBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgLmdyaWQteCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiIsIi8vIEdBTEVSSUVcbmJvZHkgLmZsZXhpYmxlLWNvbnRlbnQuZmxleGlibGUtZ2FsZXJpZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1tZWRpdW0qMC41O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtbWVkaXVtKjAuNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW07IH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHsgXG4gICAgICAgICAgICB3aWR0aDogNTAlOyBcbiAgICAgICAgICAgIHBhZGRpbmc6ICRncmlkLW1lZGl1bSowLjU7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyB3aWR0aDogMzMuMzMlOyB9XG4gICAgICAgICYuZ3JvdyB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH0gXG4gICAgaW1nIHsgZGlzcGxheTogYmxvY2s7fVxuICAgIGEge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGZpZ2NhcHRpb24geyBvcGFjaXR5OiAxO31cbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5mbGV4aWJsZS16d2lzY2hlbnRpdGVsLXdyYXBwZXIge1xuICAgIGg0LGg1LGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO1xuICAgIH1cbiAgICBoNCB7IEBpbmNsdWRlIGJsYWNrO31cblxuICAgIC8vIExpbmUgSGVpZ2h0c1xuICAgIGgxIHsgbGluZS1oZWlnaHQ6IDEuMjt9XG4gICAgaDIsaDMsaDUge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgICBoNCxoNiB7IGxpbmUtaGVpZ2h0OiAxLjQ7fVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGg0eyBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgfVxufSIsIi5zcGFjZXIgeyAvLyBBbGxnZW1laW5nw7xsdGlnIGxhc3NlbiBkYSBhdWNoIGF1ZiBmcm9udHBhZ2UgZ2VudXR6dFxuICAgIGhlaWdodDogMXB4OyAvL211c3MsIGRhIHNvbnN0IG1hcmdpbiBuaWNodCBnZW5vbW1lbiB3aXJkXG4gICAgJi5zbWFsbCB7XG4gICAgICAgICYtbm9uZSB7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgICAgICYtaGFsZiB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cbiAgICAgICAgJi1ub3JtYWwge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSoyO31cbiAgICAgICAgJi1kb3VibGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo0O31cbiAgICAgICAgJi10cmlwbGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo2O31cbiAgICAgICAgJi1xdWFkIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qODt9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgICYtbm9uZSB7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgICAgICAgICAmLWhhbGYge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSowLjU7fVxuICAgICAgICAgICAgJi1ub3JtYWwge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bTt9XG4gICAgICAgICAgICAmLWRvdWJsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjI7fVxuICAgICAgICAgICAgJi10cmlwbGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSozO31cbiAgICAgICAgICAgICYtcXVhZCB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjQ7fVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgJi1ub25lIHttYXJnaW4tYm90dG9tOiAwO31cbiAgICAgICAgICAgICYtaGFsZiB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtO31cbiAgICAgICAgICAgICYtbm9ybWFsIHttYXJnaW4tYm90dG9tOiAkZ3JpZC1tZWRpdW0qMjt9XG4gICAgICAgICAgICAmLWRvdWJsZSB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjQ7fVxuICAgICAgICAgICAgJi10cmlwbGUge21hcmdpbi1ib3R0b206ICRncmlkLW1lZGl1bSo2O31cbiAgICAgICAgICAgICYtcXVhZCB7bWFyZ2luLWJvdHRvbTogJGdyaWQtbWVkaXVtKjg7fVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiXG4gICAgLnNob3ctZm9yLXNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH0iLCIvKiBmYWRlIGltYWdlIGluIGFmdGVyIGxvYWQgKi9cblxuLyogU3Bpbm5lciBjaGVjayBodHRwOi8vc2FtaGVyYmVydC5uZXQvc3ZnLWxvYWRlcnMvICovXG5cbi5sYXp5bG9hZCxcbi5sYXp5bG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbn1cbi5sYXp5bG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNjAwbXM7XG59XG5pbWcubGF6eWxvYWQ6bm90KFtzcmNdKSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4iXX0= */
